Index: trunk/documents/UserDoc/DocBookUsersGuides/ChangesHistory/ChangesHistory.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ChangesHistory/ChangesHistory.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ChangesHistory/ChangesHistory.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/FAQ/xml/BookFAQ.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/FAQ/xml/BookFAQ.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/FAQ/xml/BookFAQ.xml	(revision 904)
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
+<!ENTITY % bookFAQEntityDef SYSTEM "./BookFAQEntityDef.dtd">
+%bookFAQEntityDef;
+
+]>
+
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Created by:   Katsuya Amako, Aug-2006                 -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!-- ******************* Top of the Book ******************** --> 
+<book id="geant4_FAQ">
+
+
+<!-- ******************* Book Information ******************* --> 
+<bookinfo>
+  <title>
+  Frequentry Asked Questions
+  </title>
+
+  <authorgroup>
+  <author>
+  <firstname></firstname>
+  <surname>Geant4 Collaboration</surname>
+  </author>
+  </authorgroup>
+
+  <pubdate>14 December, 2007</pubdate>
+  <releaseinfo>Version: geant4 9.1</releaseinfo>
+
+</bookinfo>
+
+<!-- *************** Inclusion of Chapters ****************** --> 
+&faq;
+
+
+</book>
Index: trunk/documents/UserDoc/DocBookUsersGuides/FAQ/xml/BookFAQEntityDef.dtd
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/FAQ/xml/BookFAQEntityDef.dtd	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/FAQ/xml/BookFAQEntityDef.dtd	(revision 904)
@@ -0,0 +1,15 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  In this file you need to define entities of all         -->
+<!--  chpater-dtd files you want to include into the          -->
+<!--  G4 DocBook manual.                                      -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Creation:  Katsuya Amako,  August 2006                -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!ENTITY % faqEntityDef       SYSTEM 
+           "../../ForApplicationDeveloper/xml/FAQ/FaqEntityDef.dtd"> 
+
+%faqEntityDef;
Index: trunk/documents/UserDoc/DocBookUsersGuides/FAQ/xml/XSLCustomizationLayer/G4BookTitlePageFO.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/FAQ/xml/XSLCustomizationLayer/G4BookTitlePageFO.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/FAQ/xml/XSLCustomizationLayer/G4BookTitlePageFO.xml	(revision 904)
@@ -0,0 +1,1237 @@
+<!DOCTYPE t:templates [
+<!ENTITY hsize0 "10pt">
+<!ENTITY hsize1 "12pt">
+<!ENTITY hsize2 "14.4pt">
+<!ENTITY hsize3 "17.28pt">
+<!ENTITY hsize4 "20.736pt">
+<!ENTITY hsize5 "24.8832pt">
+<!ENTITY hsize0space "7.5pt"> <!-- 0.75 * hsize0 -->
+<!ENTITY hsize1space "9pt"> <!-- 0.75 * hsize1 -->
+<!ENTITY hsize2space "10.8pt"> <!-- 0.75 * hsize2 -->
+<!ENTITY hsize3space "12.96pt"> <!-- 0.75 * hsize3 -->
+<!ENTITY hsize4space "15.552pt"> <!-- 0.75 * hsize4 -->
+<!ENTITY hsize5space "18.6624pt"> <!-- 0.75 * hsize5 -->
+]>
+<t:templates xmlns:t="http://nwalsh.com/docbook/xsl/template/1.0"
+	     xmlns:param="http://nwalsh.com/docbook/xsl/template/1.0/param"
+             xmlns:fo="http://www.w3.org/1999/XSL/Format"
+             xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<!-- ********************************************************************
+     $Id: G4BookTitlePageFO.xml,v 1.1 2007/05/14 06:23:12 amako Exp $
+     ********************************************************************
+
+     This file is part of the DocBook XSL Stylesheet distribution.
+     See ../README or http://docbook.sf.net/ for copyright
+     and other information.
+
+     ******************************************************************** -->
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="article" t:wrapper="fo:block"
+             font-family="{$title.fontset}">
+
+  <t:titlepage-content t:side="recto"
+             text-align="center">
+
+    <title t:named-template="component.title"
+	   param:node="ancestor-or-self::article[1]"
+	   keep-with-next="always"
+	   font-size="&hsize5;"
+	   font-weight="bold"/>
+
+    <subtitle/>
+
+    <corpauthor space-before="0.5em"
+                font-size="&hsize2;"/>
+    <authorgroup space-before="0.5em"
+                 font-size="&hsize2;"/>
+    <author space-before="0.5em"
+            font-size="&hsize2;"/>
+
+    <othercredit space-before="0.5em"/>
+    <releaseinfo space-before="0.5em"/>
+    <copyright space-before="0.5em"/>
+    <legalnotice text-align="start"
+                 margin-left="0.5in"
+                 margin-right="0.5in"
+                 font-family="{$body.fontset}"/>
+    <pubdate space-before="0.5em"/>
+    <revision space-before="0.5em"/>
+    <revhistory space-before="0.5em"/>
+    <abstract space-before="0.5em"
+	      text-align="start"
+	      margin-left="0.5in"
+              margin-right="0.5in"
+              font-family="{$body.fontset}"/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="set" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+      <title
+	     t:named-template="division.title"
+	     param:node="ancestor-or-self::set[1]"
+	     text-align="center"
+	     font-size="&hsize5;"
+	     space-before="&hsize5space;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"
+	      text-align="center"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="book" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	t:named-template="division.title"
+	param:node="ancestor-or-self::book[1]"
+	text-align="center"
+	font-size="&hsize5;"
+	space-before="3in"
+	font-weight="bold"
+	font-family="{$title.fontset}"/>
+      <subtitle
+	text-align="center"
+	font-size="&hsize4;"
+	space-before="&hsize4space;"
+	font-family="{$title.fontset}"/>
+      <releaseinfo
+	text-align="center"
+	font-size="&hsize3;"
+        font-style='italic'
+	space-before="1in"
+	font-family="{$title.fontset}"/>
+      <pubdate 
+ 	text-align="center"
+        font-size="&hsize0;"
+	space-before="&hsize3space;"/>
+      <authorgroup 
+        font-size="&hsize3;"
+        space-before="2in"/>
+      <author 
+        font-size="&hsize3;"
+	space-before="7in"
+        keep-with-next="always"/>
+    </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+      <title
+	     t:named-template="book.verso.title"
+	     font-size="&hsize2;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+      <corpauthor/>
+      <authorgroup t:named-template="verso.authorgroup"/>
+      <author/>
+      <releaseinfo space-before="1em"/>
+      <date/>
+      <othercredit/>
+      <pubdate space-before="1em"/>
+      <copyright/>
+      <abstract/>
+      <legalnotice font-size="8pt"/>
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+      <fo:block break-after="page"/>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+      <fo:block break-after="page"/>
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="part" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+      <title
+	     t:named-template="division.title"
+	     param:node="ancestor-or-self::part[1]"
+	     text-align="center"
+	     font-size="&hsize5;"
+	     space-before="&hsize5space;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    <subtitle
+	      text-align="center"
+	      font-size="&hsize4;"
+	      space-before="&hsize4space;"
+	      font-weight='bold'
+	      font-style='italic'
+	      font-family="{$title.fontset}"/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="partintro" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   text-align="center"
+	   font-size="&hsize5;"
+	   font-weight="bold"
+	   space-before="1em"
+	   font-family="{$title.fontset}"/>
+    <subtitle
+	      text-align="center"
+	      font-size="&hsize2;"
+	      font-weight="bold"
+	      font-style="italic"
+	      font-family="{$title.fontset}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="reference" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+      <title
+	     t:named-template="division.title"
+	     param:node="ancestor-or-self::reference[1]"
+	     text-align="center"
+	     font-size="&hsize5;"
+	     space-before="&hsize5space;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"
+	      text-align="center"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="refsynopsisdiv" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   font-family="{$title.fontset}"/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="refsection" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   font-family="{$title.fontset}"/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="refsect1" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   font-family="{$title.fontset}"/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="refsect2" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   font-family="{$title.fontset}"/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="refsect3" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   font-family="{$title.fontset}"/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="dedication" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="component.title"
+	     param:node="ancestor-or-self::dedication[1]"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize5;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="preface" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="component.title"
+	     param:node="ancestor-or-self::preface[1]"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize5;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+      <corpauthor/>
+      <authorgroup/>
+      <author/>
+      <othercredit/>
+      <releaseinfo/>
+      <copyright/>
+      <legalnotice/>
+      <pubdate/>
+      <revision/>
+      <revhistory/>
+      <abstract/>
+    </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="chapter" t:wrapper="fo:block"
+               font-family="{$title.fontset}">
+    <t:titlepage-content t:side="recto" margin-left="{$title.margin.left}">
+      <title t:named-template="component.title"
+	     param:node="ancestor-or-self::chapter[1]"
+	     font-size="&hsize5;"
+	     font-weight="bold"/>
+
+      <subtitle space-before="0.5em"
+		font-style="italic"
+		font-size="&hsize2;"
+		font-weight="bold"/>
+
+      <corpauthor  space-before="0.5em"
+	           space-after="0.5em"
+                   font-size="&hsize2;"/>
+
+      <authorgroup space-before="0.5em"
+	           space-after="0.5em"
+                   font-size="&hsize2;"/>
+
+      <author      space-before="0.5em"
+	           space-after="0.5em"
+                   font-size="&hsize2;"/>
+
+      <othercredit/>
+      <releaseinfo/>
+      <copyright/>
+      <legalnotice/>
+      <pubdate/>
+      <revision/>
+      <revhistory/>
+      <abstract/>
+    </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="appendix" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:named-template="component.title"
+	     param:node="ancestor-or-self::appendix[1]"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize5;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+      <corpauthor/>
+      <authorgroup/>
+      <author/>
+      <othercredit/>
+      <releaseinfo/>
+      <copyright/>
+      <legalnotice/>
+      <pubdate/>
+      <revision/>
+      <revhistory/>
+      <abstract/>
+    </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="section" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   margin-left="{$title.margin.left}"
+	   font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect1" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   margin-left="{$title.margin.left}"
+	   font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect2" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   margin-left="{$title.margin.left}"
+	   font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect3" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   margin-left="{$title.margin.left}"
+	   font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect4" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   margin-left="{$title.margin.left}"
+	   font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect5" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   margin-left="{$title.margin.left}"
+	   font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="simplesect" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   margin-left="{$title.margin.left}"
+	   font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="bibliography" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="component.title"
+	     param:node="ancestor-or-self::bibliography[1]"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize5;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="bibliodiv" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title t:named-template="component.title"
+	     param:node="ancestor-or-self::bibliodiv[1]"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize4;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="glossary" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="component.title"
+	     param:node="ancestor-or-self::glossary[1]"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize5;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="glossdiv" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title t:named-template="component.title"
+	     param:node="ancestor-or-self::glossdiv[1]"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize4;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="index" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="component.title"
+	     param:node="ancestor-or-self::index[1]"
+             param:pagewide="1"
+	     margin-left="0pt"
+	     font-size="&hsize5;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <!-- The indexdiv.title template is used so that manual and -->
+  <!-- automatically generated indexdiv titles get the same -->
+  <!-- formatting. -->
+
+  <t:titlepage t:element="indexdiv" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title t:force="1"
+	     t:named-template="indexdiv.title"
+	     param:title="title"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="setindex" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="component.title"
+	     param:node="ancestor-or-self::setindex[1]"
+             param:pagewide="1"
+	     margin-left="0pt"
+	     font-size="&hsize5;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="colophon" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="component.title"
+	     param:node="ancestor-or-self::colophon[1]"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize5;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="table.of.contents" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="gentext"
+	     param:key="'TableofContents'"
+             space-before.minimum="1em"
+             space-before.optimum="1.5em"
+             space-before.maximum="2em"
+	     space-after="0.5em"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize3;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+  <t:titlepage t:element="list.of.tables" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="gentext"
+	     param:key="'ListofTables'"
+             space-before.minimum="1em"
+             space-before.optimum="1.5em"
+             space-before.maximum="2em"
+	     space-after="0.5em"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize3;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+  <t:titlepage t:element="list.of.figures" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="gentext"
+	     param:key="'ListofFigures'"
+             space-before.minimum="1em"
+             space-before.optimum="1.5em"
+             space-before.maximum="2em"
+	     space-after="0.5em"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize3;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+  <t:titlepage t:element="list.of.examples" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="gentext"
+	     param:key="'ListofExamples'"
+             space-before.minimum="1em"
+             space-before.optimum="1.5em"
+             space-before.maximum="2em"
+	     space-after="0.5em"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize3;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+  <t:titlepage t:element="list.of.equations" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="gentext"
+	     param:key="'ListofEquations'"
+             space-before.minimum="1em"
+             space-before.optimum="1.5em"
+             space-before.maximum="2em"
+	     space-after="0.5em"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize3;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+  <t:titlepage t:element="list.of.procedures" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="gentext"
+	     param:key="'ListofProcedures'"
+             space-before.minimum="1em"
+             space-before.optimum="1.5em"
+             space-before.maximum="2em"
+	     space-after="0.5em"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize3;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+  <t:titlepage t:element="list.of.unknowns" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="gentext"
+	     param:key="'ListofUnknown'"
+             space-before.minimum="1em"
+             space-before.optimum="1.5em"
+             space-before.maximum="2em"
+	     space-after="0.5em"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize3;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+<!-- ==================================================================== -->
+
+</t:templates>
Index: trunk/documents/UserDoc/DocBookUsersGuides/FAQ/xml/XSLCustomizationLayer/G4BookTitlePageFO.xsl
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/FAQ/xml/XSLCustomizationLayer/G4BookTitlePageFO.xsl	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/FAQ/xml/XSLCustomizationLayer/G4BookTitlePageFO.xsl	(revision 904)
@@ -0,0 +1,4205 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+<!-- This stylesheet was created by template/titlepage.xsl; do not edit it by hand. -->
+
+<xsl:template name="article.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="articleinfo/title">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/title"/>
+    </xsl:when>
+    <xsl:when test="artheader/title">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="articleinfo/subtitle">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="artheader/subtitle">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/corpauthor"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/corpauthor"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/authorgroup"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/authorgroup"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/author"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/author"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/othercredit"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/othercredit"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/releaseinfo"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/releaseinfo"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/copyright"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/copyright"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/legalnotice"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/legalnotice"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/pubdate"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/pubdate"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/revision"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/revision"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/revhistory"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/revhistory"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/abstract"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/abstract"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="article.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="article.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="article.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="article.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="article.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" font-family="{$title.fontset}">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="article.titlepage.before.recto"/>
+      <xsl:call-template name="article.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block text-align="center"><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="article.titlepage.before.verso"/>
+      <xsl:call-template name="article.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="article.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="article.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="article.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" keep-with-next="always" font-size="24.8832pt" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::article[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em" font-size="14.4pt">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em" font-size="14.4pt">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em" font-size="14.4pt">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" text-align="start" margin-left="0.5in" margin-right="0.5in" font-family="{$body.fontset}">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em" text-align="start" margin-left="0.5in" margin-right="0.5in" font-family="{$body.fontset}">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="set.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="setinfo/title">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="setinfo/subtitle">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/corpauthor"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/authorgroup"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/author"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/othercredit"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/releaseinfo"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/copyright"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/legalnotice"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/pubdate"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revision"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revhistory"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/abstract"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="set.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="set.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="set.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="set.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="set.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="set.titlepage.before.recto"/>
+      <xsl:call-template name="set.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="set.titlepage.before.verso"/>
+      <xsl:call-template name="set.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="set.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="set.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="set.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style" text-align="center" font-size="24.8832pt" space-before="18.6624pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="division.title">
+<xsl:with-param name="node" select="ancestor-or-self::set[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style" font-family="{$title.fontset}" text-align="center">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="book.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="bookinfo/title">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="bookinfo/subtitle">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/releaseinfo"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/pubdate"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/authorgroup"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/author"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/author"/>
+</xsl:template>
+
+<xsl:template name="book.titlepage.verso">
+  <xsl:choose>
+    <xsl:when test="bookinfo/title">
+      <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/corpauthor"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/authorgroup"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/author"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/releaseinfo"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/date"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/date"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/othercredit"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/pubdate"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/copyright"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/abstract"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/abstract"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/legalnotice"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/legalnotice"/>
+</xsl:template>
+
+<xsl:template name="book.titlepage.separator"><fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" break-after="page"/>
+</xsl:template>
+
+<xsl:template name="book.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="book.titlepage.before.verso"><fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" break-after="page"/>
+</xsl:template>
+
+<xsl:template name="book.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="book.titlepage.before.recto"/>
+      <xsl:call-template name="book.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="book.titlepage.before.verso"/>
+      <xsl:call-template name="book.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="book.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="book.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="book.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="book.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center" font-size="24.8832pt" space-before="3in" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="division.title">
+<xsl:with-param name="node" select="ancestor-or-self::book[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="book.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center" font-size="20.736pt" space-before="15.552pt" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="book.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center" font-size="17.28pt" font-style="italic" space-before="1in" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="book.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center" font-size="10pt" space-before="12.96pt">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="book.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" font-size="17.28pt" space-before="2in">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="book.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" font-size="17.28pt" space-before="7in" keep-with-next="always">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="title" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style" font-size="14.4pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="book.verso.title">
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
+<xsl:call-template name="verso.authorgroup">
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style" space-before="1em">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="date" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style" space-before="1em">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style" font-size="8pt">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="part.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="partinfo/title">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="partinfo/subtitle">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="part.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="part.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="part.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="part.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="part.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="part.titlepage.before.recto"/>
+      <xsl:call-template name="part.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="part.titlepage.before.verso"/>
+      <xsl:call-template name="part.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="part.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="part.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="part.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="part.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="part.titlepage.recto.style" text-align="center" font-size="24.8832pt" space-before="18.6624pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="division.title">
+<xsl:with-param name="node" select="ancestor-or-self::part[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="part.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="part.titlepage.recto.style" text-align="center" font-size="20.736pt" space-before="15.552pt" font-weight="bold" font-style="italic" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="partintroinfo/title">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="partintroinfo/subtitle">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/corpauthor"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/authorgroup"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/author"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/othercredit"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/releaseinfo"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/copyright"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/legalnotice"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/pubdate"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/revision"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/revhistory"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/abstract"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="partintro.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="partintro.titlepage.before.recto"/>
+      <xsl:call-template name="partintro.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="partintro.titlepage.before.verso"/>
+      <xsl:call-template name="partintro.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="partintro.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="partintro.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="partintro.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style" text-align="center" font-size="24.8832pt" font-weight="bold" space-before="1em" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style" text-align="center" font-size="14.4pt" font-weight="bold" font-style="italic" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="reference.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="referenceinfo/title">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="referenceinfo/subtitle">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/corpauthor"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/authorgroup"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/author"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/othercredit"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/releaseinfo"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/copyright"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/legalnotice"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/pubdate"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/revision"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/revhistory"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/abstract"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="reference.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="reference.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="reference.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="reference.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="reference.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="reference.titlepage.before.recto"/>
+      <xsl:call-template name="reference.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="reference.titlepage.before.verso"/>
+      <xsl:call-template name="reference.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="reference.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="reference.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="reference.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style" text-align="center" font-size="24.8832pt" space-before="18.6624pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="division.title">
+<xsl:with-param name="node" select="ancestor-or-self::reference[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style" font-family="{$title.fontset}" text-align="center">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="refsynopsisdiv.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="refsynopsisdivinfo/title">
+      <xsl:apply-templates mode="refsynopsisdiv.titlepage.recto.auto.mode" select="refsynopsisdivinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="refsynopsisdiv.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="refsynopsisdiv.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="refsynopsisdiv.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="refsynopsisdiv.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="refsynopsisdiv.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="refsynopsisdiv.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="refsynopsisdiv.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="refsynopsisdiv.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="refsynopsisdiv.titlepage.before.recto"/>
+      <xsl:call-template name="refsynopsisdiv.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="refsynopsisdiv.titlepage.before.verso"/>
+      <xsl:call-template name="refsynopsisdiv.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="refsynopsisdiv.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="refsynopsisdiv.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="refsynopsisdiv.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="refsynopsisdiv.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="refsynopsisdiv.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="refsynopsisdiv.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="refsection.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="refsectioninfo/title">
+      <xsl:apply-templates mode="refsection.titlepage.recto.auto.mode" select="refsectioninfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="refsection.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="refsection.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="refsection.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="refsection.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="refsection.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="refsection.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="refsection.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="refsection.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="refsection.titlepage.before.recto"/>
+      <xsl:call-template name="refsection.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="refsection.titlepage.before.verso"/>
+      <xsl:call-template name="refsection.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="refsection.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="refsection.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="refsection.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="refsection.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="refsection.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="refsection.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="refsect1.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="refsect1info/title">
+      <xsl:apply-templates mode="refsect1.titlepage.recto.auto.mode" select="refsect1info/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="refsect1.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="refsect1.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="refsect1.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="refsect1.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="refsect1.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="refsect1.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="refsect1.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="refsect1.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="refsect1.titlepage.before.recto"/>
+      <xsl:call-template name="refsect1.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="refsect1.titlepage.before.verso"/>
+      <xsl:call-template name="refsect1.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="refsect1.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="refsect1.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="refsect1.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="refsect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="refsect1.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="refsect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="refsect2.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="refsect2info/title">
+      <xsl:apply-templates mode="refsect2.titlepage.recto.auto.mode" select="refsect2info/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="refsect2.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="refsect2.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="refsect2.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="refsect2.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="refsect2.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="refsect2.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="refsect2.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="refsect2.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="refsect2.titlepage.before.recto"/>
+      <xsl:call-template name="refsect2.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="refsect2.titlepage.before.verso"/>
+      <xsl:call-template name="refsect2.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="refsect2.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="refsect2.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="refsect2.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="refsect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="refsect2.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="refsect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="refsect3.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="refsect3info/title">
+      <xsl:apply-templates mode="refsect3.titlepage.recto.auto.mode" select="refsect3info/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="refsect3.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="refsect3.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="refsect3.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="refsect3.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="refsect3.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="refsect3.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="refsect3.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="refsect3.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="refsect3.titlepage.before.recto"/>
+      <xsl:call-template name="refsect3.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="refsect3.titlepage.before.verso"/>
+      <xsl:call-template name="refsect3.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="refsect3.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="refsect3.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="refsect3.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="refsect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="refsect3.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="refsect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="dedication.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::dedication[1]"/>
+</xsl:call-template></fo:block>
+  <xsl:choose>
+    <xsl:when test="dedicationinfo/subtitle">
+      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="dedicationinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="dedication.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="dedication.titlepage.before.recto"/>
+      <xsl:call-template name="dedication.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="dedication.titlepage.before.verso"/>
+      <xsl:call-template name="dedication.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="dedication.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="dedication.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="dedication.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="dedication.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="dedication.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="dedication.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="preface.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::preface[1]"/>
+</xsl:call-template></fo:block>
+  <xsl:choose>
+    <xsl:when test="prefaceinfo/subtitle">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/corpauthor"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/authorgroup"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/author"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/othercredit"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/releaseinfo"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/copyright"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/legalnotice"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/pubdate"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revision"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revhistory"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/abstract"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="preface.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="preface.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="preface.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="preface.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="preface.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="preface.titlepage.before.recto"/>
+      <xsl:call-template name="preface.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="preface.titlepage.before.verso"/>
+      <xsl:call-template name="preface.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="preface.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="preface.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="preface.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="chapterinfo/title">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="chapterinfo/subtitle">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/corpauthor"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/authorgroup"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/author"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/othercredit"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/releaseinfo"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/copyright"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/legalnotice"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/pubdate"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/revision"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/revhistory"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/abstract"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="chapter.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" font-family="{$title.fontset}">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="chapter.titlepage.before.recto"/>
+      <xsl:call-template name="chapter.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block margin-left="{$title.margin.left}"><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="chapter.titlepage.before.verso"/>
+      <xsl:call-template name="chapter.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="chapter.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="chapter.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="chapter.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style" font-size="24.8832pt" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::chapter[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style" space-before="0.5em" font-style="italic" font-size="14.4pt" font-weight="bold">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style" space-before="0.5em" space-after="0.5em" font-size="14.4pt">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style" space-before="0.5em" space-after="0.5em" font-size="14.4pt">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style" space-before="0.5em" space-after="0.5em" font-size="14.4pt">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="appendixinfo/title">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="appendixinfo/subtitle">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/corpauthor"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/authorgroup"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/author"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/othercredit"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/releaseinfo"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/copyright"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/legalnotice"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/pubdate"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/revision"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/revhistory"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/abstract"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="appendix.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="appendix.titlepage.before.recto"/>
+      <xsl:call-template name="appendix.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="appendix.titlepage.before.verso"/>
+      <xsl:call-template name="appendix.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="appendix.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="appendix.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="appendix.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::appendix[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="section.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sectioninfo/title">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sectioninfo/subtitle">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/corpauthor"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/authorgroup"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/author"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/othercredit"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/releaseinfo"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/copyright"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/legalnotice"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/pubdate"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revision"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revhistory"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/abstract"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="section.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="section.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="section.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="section.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="section.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="section.titlepage.before.recto"/>
+      <xsl:call-template name="section.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="section.titlepage.before.verso"/>
+      <xsl:call-template name="section.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="section.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="section.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="section.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect1info/title">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect1info/subtitle">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/corpauthor"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/authorgroup"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/author"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/othercredit"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/releaseinfo"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/copyright"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/legalnotice"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/pubdate"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revision"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revhistory"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/abstract"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect1.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect1.titlepage.before.recto"/>
+      <xsl:call-template name="sect1.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect1.titlepage.before.verso"/>
+      <xsl:call-template name="sect1.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="sect1.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="sect1.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect1.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect2info/title">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect2info/subtitle">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/corpauthor"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/authorgroup"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/author"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/othercredit"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/releaseinfo"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/copyright"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/legalnotice"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/pubdate"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revision"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revhistory"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/abstract"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect2.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect2.titlepage.before.recto"/>
+      <xsl:call-template name="sect2.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect2.titlepage.before.verso"/>
+      <xsl:call-template name="sect2.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="sect2.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="sect2.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect2.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect3info/title">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect3info/subtitle">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/corpauthor"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/authorgroup"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/author"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/othercredit"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/releaseinfo"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/copyright"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/legalnotice"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/pubdate"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revision"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revhistory"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/abstract"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect3.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect3.titlepage.before.recto"/>
+      <xsl:call-template name="sect3.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect3.titlepage.before.verso"/>
+      <xsl:call-template name="sect3.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="sect3.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="sect3.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect3.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect4info/title">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect4info/subtitle">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/corpauthor"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/authorgroup"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/author"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/othercredit"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/releaseinfo"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/copyright"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/legalnotice"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/pubdate"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revision"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revhistory"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/abstract"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect4.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect4.titlepage.before.recto"/>
+      <xsl:call-template name="sect4.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect4.titlepage.before.verso"/>
+      <xsl:call-template name="sect4.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="sect4.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="sect4.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect4.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect5info/title">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect5info/subtitle">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/corpauthor"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/authorgroup"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/author"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/othercredit"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/releaseinfo"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/copyright"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/legalnotice"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/pubdate"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revision"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revhistory"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/abstract"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect5.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect5.titlepage.before.recto"/>
+      <xsl:call-template name="sect5.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect5.titlepage.before.verso"/>
+      <xsl:call-template name="sect5.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="sect5.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="sect5.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect5.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="simplesectinfo/title">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="simplesectinfo/subtitle">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/corpauthor"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/authorgroup"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/author"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/othercredit"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/releaseinfo"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/copyright"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/legalnotice"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/pubdate"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/revision"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/revhistory"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/abstract"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="simplesect.titlepage.before.recto"/>
+      <xsl:call-template name="simplesect.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="simplesect.titlepage.before.verso"/>
+      <xsl:call-template name="simplesect.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="simplesect.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="simplesect.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="simplesect.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="bibliography.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::bibliography[1]"/>
+</xsl:call-template></fo:block>
+  <xsl:choose>
+    <xsl:when test="bibliographyinfo/subtitle">
+      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="bibliographyinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="bibliography.titlepage.before.recto"/>
+      <xsl:call-template name="bibliography.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="bibliography.titlepage.before.verso"/>
+      <xsl:call-template name="bibliography.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="bibliography.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="bibliography.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="bibliography.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="bibliography.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="bibliography.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="bibliography.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="bibliodiv.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="bibliodivinfo/title">
+      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="bibliodivinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="bibliodivinfo/subtitle">
+      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="bibliodivinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="bibliodiv.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="bibliodiv.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="bibliodiv.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="bibliodiv.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="bibliodiv.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="bibliodiv.titlepage.before.recto"/>
+      <xsl:call-template name="bibliodiv.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="bibliodiv.titlepage.before.verso"/>
+      <xsl:call-template name="bibliodiv.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="bibliodiv.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="bibliodiv.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="bibliodiv.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="bibliodiv.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="bibliodiv.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="20.736pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::bibliodiv[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="bibliodiv.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="bibliodiv.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="bibliodiv.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="glossary.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::glossary[1]"/>
+</xsl:call-template></fo:block>
+  <xsl:choose>
+    <xsl:when test="glossaryinfo/subtitle">
+      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="glossaryinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="glossary.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="glossary.titlepage.before.recto"/>
+      <xsl:call-template name="glossary.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="glossary.titlepage.before.verso"/>
+      <xsl:call-template name="glossary.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="glossary.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="glossary.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="glossary.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="glossary.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="glossary.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="glossary.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="glossdiv.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="glossdivinfo/title">
+      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="glossdivinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="glossdivinfo/subtitle">
+      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="glossdivinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="glossdiv.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="glossdiv.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="glossdiv.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="glossdiv.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="glossdiv.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="glossdiv.titlepage.before.recto"/>
+      <xsl:call-template name="glossdiv.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="glossdiv.titlepage.before.verso"/>
+      <xsl:call-template name="glossdiv.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="glossdiv.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="glossdiv.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="glossdiv.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="glossdiv.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="glossdiv.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="20.736pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::glossdiv[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="glossdiv.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="glossdiv.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="glossdiv.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="index.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="index.titlepage.recto.style" margin-left="0pt" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::index[1]"/>
+<xsl:with-param name="pagewide" select="1"/>
+</xsl:call-template></fo:block>
+  <xsl:choose>
+    <xsl:when test="indexinfo/subtitle">
+      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="indexinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="index.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="index.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="index.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="index.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="index.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="index.titlepage.before.recto"/>
+      <xsl:call-template name="index.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="index.titlepage.before.verso"/>
+      <xsl:call-template name="index.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="index.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="index.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="index.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="index.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="index.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="index.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="indexdiv.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="indexdiv.titlepage.recto.style">
+<xsl:call-template name="indexdiv.title">
+<xsl:with-param name="title" select="title"/>
+</xsl:call-template></fo:block>
+  <xsl:choose>
+    <xsl:when test="indexdivinfo/subtitle">
+      <xsl:apply-templates mode="indexdiv.titlepage.recto.auto.mode" select="indexdivinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="indexdiv.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="indexdiv.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="indexdiv.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="indexdiv.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="indexdiv.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="indexdiv.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="indexdiv.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="indexdiv.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="indexdiv.titlepage.before.recto"/>
+      <xsl:call-template name="indexdiv.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="indexdiv.titlepage.before.verso"/>
+      <xsl:call-template name="indexdiv.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="indexdiv.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="indexdiv.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="indexdiv.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="indexdiv.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="indexdiv.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="indexdiv.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="setindex.titlepage.recto.style" margin-left="0pt" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::setindex[1]"/>
+<xsl:with-param name="pagewide" select="1"/>
+</xsl:call-template></fo:block>
+  <xsl:choose>
+    <xsl:when test="setindexinfo/subtitle">
+      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="setindexinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="setindex.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="setindex.titlepage.before.recto"/>
+      <xsl:call-template name="setindex.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="setindex.titlepage.before.verso"/>
+      <xsl:call-template name="setindex.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="setindex.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="setindex.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="setindex.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="setindex.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="setindex.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="setindex.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="colophon.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="colophon.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::colophon[1]"/>
+</xsl:call-template></fo:block>
+  <xsl:choose>
+    <xsl:when test="colophoninfo/subtitle">
+      <xsl:apply-templates mode="colophon.titlepage.recto.auto.mode" select="colophoninfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="colophon.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="colophon.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="colophon.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="colophon.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="colophon.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="colophon.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="colophon.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="colophon.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="colophon.titlepage.before.recto"/>
+      <xsl:call-template name="colophon.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="colophon.titlepage.before.verso"/>
+      <xsl:call-template name="colophon.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="colophon.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="colophon.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="colophon.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="colophon.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="colophon.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="colophon.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="table.of.contents.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="table.of.contents.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="gentext">
+<xsl:with-param name="key" select="'TableofContents'"/>
+</xsl:call-template></fo:block>
+</xsl:template>
+
+<xsl:template name="table.of.contents.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="table.of.contents.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="table.of.contents.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="table.of.contents.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="table.of.contents.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="table.of.contents.titlepage.before.recto"/>
+      <xsl:call-template name="table.of.contents.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="table.of.contents.titlepage.before.verso"/>
+      <xsl:call-template name="table.of.contents.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="table.of.contents.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="table.of.contents.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="table.of.contents.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template name="list.of.tables.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.tables.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="gentext">
+<xsl:with-param name="key" select="'ListofTables'"/>
+</xsl:call-template></fo:block>
+</xsl:template>
+
+<xsl:template name="list.of.tables.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="list.of.tables.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="list.of.tables.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="list.of.tables.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="list.of.tables.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="list.of.tables.titlepage.before.recto"/>
+      <xsl:call-template name="list.of.tables.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="list.of.tables.titlepage.before.verso"/>
+      <xsl:call-template name="list.of.tables.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="list.of.tables.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.tables.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.tables.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template name="list.of.figures.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.figures.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="gentext">
+<xsl:with-param name="key" select="'ListofFigures'"/>
+</xsl:call-template></fo:block>
+</xsl:template>
+
+<xsl:template name="list.of.figures.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="list.of.figures.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="list.of.figures.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="list.of.figures.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="list.of.figures.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="list.of.figures.titlepage.before.recto"/>
+      <xsl:call-template name="list.of.figures.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="list.of.figures.titlepage.before.verso"/>
+      <xsl:call-template name="list.of.figures.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="list.of.figures.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.figures.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.figures.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template name="list.of.examples.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.examples.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="gentext">
+<xsl:with-param name="key" select="'ListofExamples'"/>
+</xsl:call-template></fo:block>
+</xsl:template>
+
+<xsl:template name="list.of.examples.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="list.of.examples.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="list.of.examples.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="list.of.examples.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="list.of.examples.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="list.of.examples.titlepage.before.recto"/>
+      <xsl:call-template name="list.of.examples.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="list.of.examples.titlepage.before.verso"/>
+      <xsl:call-template name="list.of.examples.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="list.of.examples.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.examples.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.examples.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template name="list.of.equations.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.equations.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="gentext">
+<xsl:with-param name="key" select="'ListofEquations'"/>
+</xsl:call-template></fo:block>
+</xsl:template>
+
+<xsl:template name="list.of.equations.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="list.of.equations.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="list.of.equations.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="list.of.equations.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="list.of.equations.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="list.of.equations.titlepage.before.recto"/>
+      <xsl:call-template name="list.of.equations.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="list.of.equations.titlepage.before.verso"/>
+      <xsl:call-template name="list.of.equations.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="list.of.equations.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.equations.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.equations.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template name="list.of.procedures.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.procedures.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="gentext">
+<xsl:with-param name="key" select="'ListofProcedures'"/>
+</xsl:call-template></fo:block>
+</xsl:template>
+
+<xsl:template name="list.of.procedures.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="list.of.procedures.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="list.of.procedures.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="list.of.procedures.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="list.of.procedures.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="list.of.procedures.titlepage.before.recto"/>
+      <xsl:call-template name="list.of.procedures.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="list.of.procedures.titlepage.before.verso"/>
+      <xsl:call-template name="list.of.procedures.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="list.of.procedures.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.procedures.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.procedures.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template name="list.of.unknowns.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.unknowns.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="gentext">
+<xsl:with-param name="key" select="'ListofUnknown'"/>
+</xsl:call-template></fo:block>
+</xsl:template>
+
+<xsl:template name="list.of.unknowns.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="list.of.unknowns.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="list.of.unknowns.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="list.of.unknowns.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="list.of.unknowns.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="list.of.unknowns.titlepage.before.recto"/>
+      <xsl:call-template name="list.of.unknowns.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="list.of.unknowns.titlepage.before.verso"/>
+      <xsl:call-template name="list.of.unknowns.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="list.of.unknowns.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.unknowns.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.unknowns.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+</xsl:stylesheet>
Index: trunk/documents/UserDoc/DocBookUsersGuides/FAQ/xml/XSLCustomizationLayer/G4BookTitlePageHTML.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/FAQ/xml/XSLCustomizationLayer/G4BookTitlePageHTML.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/FAQ/xml/XSLCustomizationLayer/G4BookTitlePageHTML.xml	(revision 904)
@@ -0,0 +1,665 @@
+<t:templates xmlns:t="http://nwalsh.com/docbook/xsl/template/1.0"
+	     xmlns:param="http://nwalsh.com/docbook/xsl/template/1.0/param"
+             xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="article" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <hr/>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="set" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <hr/>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="book" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title
+      text-align="center"/>        
+    <subtitle
+      text-align="center"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author
+      text-align="center"/>        
+    <othercredit/>
+    <releaseinfo
+      text-align="center"/>        
+    <date
+      text-align="center"/>        
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <hr/>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="part" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="partintro" t:wrapper="div">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="reference" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <hr/>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="refentry" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+<!-- uncomment this if you want refentry titlepages
+    <title t:force="1"
+	   t:named-template="refentry.title"
+	   param:node="ancestor-or-self::refentry[1]"/>
+-->
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator/>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="dedication" t:wrapper="div" class="titlepage">
+    <t:titlepage-content t:side="recto">
+    <title
+	   t:force="1"
+	   t:named-template="component.title"
+	   param:node="ancestor-or-self::dedication[1]"/>
+    <subtitle/>
+    </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="preface" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="chapter" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="appendix" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="section" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect1" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect2" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect3" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect4" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect5" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="simplesect" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="bibliography" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title
+	   t:force="1"
+	   t:named-template="component.title"
+	   param:node="ancestor-or-self::bibliography[1]"/>
+    <subtitle/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="glossary" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title
+	   t:force="1"
+	   t:named-template="component.title"
+	   param:node="ancestor-or-self::glossary[1]"/>
+    <subtitle/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="index" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title
+	   t:force="1"
+	   t:named-template="component.title"
+	   param:node="ancestor-or-self::index[1]"/>
+    <subtitle/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="setindex" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title
+	   t:force="1"
+	   t:named-template="component.title"
+	   param:node="ancestor-or-self::setindex[1]"/>
+    <subtitle/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+</t:templates>
Index: trunk/documents/UserDoc/DocBookUsersGuides/FAQ/xml/XSLCustomizationLayer/G4BookTitlePageHTML.xsl
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/FAQ/xml/XSLCustomizationLayer/G4BookTitlePageHTML.xsl	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/FAQ/xml/XSLCustomizationLayer/G4BookTitlePageHTML.xsl	(revision 904)
@@ -0,0 +1,3293 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+<!-- This stylesheet was created by template/titlepage.xsl; do not edit it by hand. -->
+
+<xsl:template name="article.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="articleinfo/title">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/title"/>
+    </xsl:when>
+    <xsl:when test="artheader/title">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="articleinfo/subtitle">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="artheader/subtitle">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/corpauthor"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/corpauthor"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/authorgroup"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/authorgroup"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/author"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/author"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/othercredit"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/othercredit"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/releaseinfo"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/releaseinfo"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/copyright"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/copyright"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/legalnotice"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/legalnotice"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/pubdate"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/pubdate"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/revision"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/revision"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/revhistory"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/revhistory"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/abstract"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/abstract"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="article.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="article.titlepage.separator"><hr/>
+</xsl:template>
+
+<xsl:template name="article.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="article.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="article.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="article.titlepage.before.recto"/>
+      <xsl:call-template name="article.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="article.titlepage.before.verso"/>
+      <xsl:call-template name="article.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="article.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="article.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="article.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="set.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="setinfo/title">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="setinfo/subtitle">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/corpauthor"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/authorgroup"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/author"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/othercredit"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/releaseinfo"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/copyright"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/legalnotice"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/pubdate"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revision"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revhistory"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/abstract"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="set.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="set.titlepage.separator"><hr/>
+</xsl:template>
+
+<xsl:template name="set.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="set.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="set.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="set.titlepage.before.recto"/>
+      <xsl:call-template name="set.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="set.titlepage.before.verso"/>
+      <xsl:call-template name="set.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="set.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="set.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="set.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="book.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="bookinfo/title">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="bookinfo/subtitle">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/corpauthor"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/authorgroup"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/author"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/othercredit"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/releaseinfo"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/date"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/date"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/copyright"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/legalnotice"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/pubdate"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/revision"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/revhistory"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/abstract"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="book.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="book.titlepage.separator"><hr/>
+</xsl:template>
+
+<xsl:template name="book.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="book.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="book.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="book.titlepage.before.recto"/>
+      <xsl:call-template name="book.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="book.titlepage.before.verso"/>
+      <xsl:call-template name="book.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="book.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="book.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="book.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="date" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="part.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="partinfo/title">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="partinfo/subtitle">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/corpauthor"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/authorgroup"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/author"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/othercredit"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/releaseinfo"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/copyright"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/legalnotice"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/pubdate"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/revision"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/revhistory"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/abstract"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="part.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="part.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="part.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="part.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="part.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="part.titlepage.before.recto"/>
+      <xsl:call-template name="part.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="part.titlepage.before.verso"/>
+      <xsl:call-template name="part.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="part.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="part.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="part.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="partintroinfo/title">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="partintroinfo/subtitle">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/corpauthor"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/authorgroup"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/author"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/othercredit"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/releaseinfo"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/copyright"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/legalnotice"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/pubdate"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/revision"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/revhistory"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/abstract"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="partintro.titlepage">
+  <div>
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="partintro.titlepage.before.recto"/>
+      <xsl:call-template name="partintro.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="partintro.titlepage.before.verso"/>
+      <xsl:call-template name="partintro.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="partintro.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="partintro.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="partintro.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="reference.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="referenceinfo/title">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="referenceinfo/subtitle">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/corpauthor"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/authorgroup"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/author"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/othercredit"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/releaseinfo"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/copyright"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/legalnotice"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/pubdate"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/revision"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/revhistory"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/abstract"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="reference.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="reference.titlepage.separator"><hr/>
+</xsl:template>
+
+<xsl:template name="reference.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="reference.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="reference.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="reference.titlepage.before.recto"/>
+      <xsl:call-template name="reference.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="reference.titlepage.before.verso"/>
+      <xsl:call-template name="reference.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="reference.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="reference.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="reference.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="refentry.titlepage.recto">
+</xsl:template>
+
+<xsl:template name="refentry.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="refentry.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="refentry.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="refentry.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="refentry.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="refentry.titlepage.before.recto"/>
+      <xsl:call-template name="refentry.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="refentry.titlepage.before.verso"/>
+      <xsl:call-template name="refentry.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="refentry.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="refentry.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="refentry.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.recto">
+  <div xsl:use-attribute-sets="dedication.titlepage.recto.style">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::dedication[1]"/>
+</xsl:call-template></div>
+  <xsl:choose>
+    <xsl:when test="dedicationinfo/subtitle">
+      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="dedicationinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="dedication.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="dedication.titlepage.before.recto"/>
+      <xsl:call-template name="dedication.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="dedication.titlepage.before.verso"/>
+      <xsl:call-template name="dedication.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="dedication.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="dedication.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="dedication.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="dedication.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="dedication.titlepage.recto.style">
+<xsl:apply-templates select="." mode="dedication.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="preface.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="prefaceinfo/title">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="prefaceinfo/subtitle">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/corpauthor"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/authorgroup"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/author"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/othercredit"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/releaseinfo"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/copyright"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/legalnotice"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/pubdate"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revision"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revhistory"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/abstract"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="preface.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="preface.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="preface.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="preface.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="preface.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="preface.titlepage.before.recto"/>
+      <xsl:call-template name="preface.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="preface.titlepage.before.verso"/>
+      <xsl:call-template name="preface.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="preface.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="preface.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="preface.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="chapterinfo/title">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="chapterinfo/subtitle">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/corpauthor"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/authorgroup"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/author"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/othercredit"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/releaseinfo"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/copyright"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/legalnotice"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/pubdate"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/revision"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/revhistory"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/abstract"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="chapter.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="chapter.titlepage.before.recto"/>
+      <xsl:call-template name="chapter.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="chapter.titlepage.before.verso"/>
+      <xsl:call-template name="chapter.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="chapter.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="chapter.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="chapter.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="appendixinfo/title">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="appendixinfo/subtitle">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/corpauthor"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/authorgroup"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/author"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/othercredit"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/releaseinfo"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/copyright"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/legalnotice"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/pubdate"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/revision"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/revhistory"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/abstract"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="appendix.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="appendix.titlepage.before.recto"/>
+      <xsl:call-template name="appendix.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="appendix.titlepage.before.verso"/>
+      <xsl:call-template name="appendix.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="appendix.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="appendix.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="appendix.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="section.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sectioninfo/title">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sectioninfo/subtitle">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/corpauthor"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/authorgroup"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/author"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/othercredit"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/releaseinfo"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/copyright"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/legalnotice"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/pubdate"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revision"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revhistory"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/abstract"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="section.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="section.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+</xsl:template>
+
+<xsl:template name="section.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="section.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="section.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="section.titlepage.before.recto"/>
+      <xsl:call-template name="section.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="section.titlepage.before.verso"/>
+      <xsl:call-template name="section.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="section.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="section.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="section.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect1info/title">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect1info/subtitle">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/corpauthor"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/authorgroup"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/author"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/othercredit"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/releaseinfo"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/copyright"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/legalnotice"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/pubdate"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revision"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revhistory"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/abstract"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect1.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect1.titlepage.before.recto"/>
+      <xsl:call-template name="sect1.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect1.titlepage.before.verso"/>
+      <xsl:call-template name="sect1.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="sect1.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="sect1.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect1.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect2info/title">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect2info/subtitle">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/corpauthor"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/authorgroup"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/author"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/othercredit"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/releaseinfo"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/copyright"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/legalnotice"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/pubdate"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revision"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revhistory"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/abstract"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect2.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect2.titlepage.before.recto"/>
+      <xsl:call-template name="sect2.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect2.titlepage.before.verso"/>
+      <xsl:call-template name="sect2.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="sect2.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="sect2.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect2.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect3info/title">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect3info/subtitle">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/corpauthor"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/authorgroup"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/author"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/othercredit"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/releaseinfo"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/copyright"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/legalnotice"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/pubdate"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revision"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revhistory"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/abstract"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect3.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect3.titlepage.before.recto"/>
+      <xsl:call-template name="sect3.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect3.titlepage.before.verso"/>
+      <xsl:call-template name="sect3.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="sect3.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="sect3.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect3.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect4info/title">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect4info/subtitle">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/corpauthor"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/authorgroup"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/author"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/othercredit"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/releaseinfo"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/copyright"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/legalnotice"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/pubdate"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revision"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revhistory"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/abstract"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect4.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect4.titlepage.before.recto"/>
+      <xsl:call-template name="sect4.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect4.titlepage.before.verso"/>
+      <xsl:call-template name="sect4.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="sect4.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="sect4.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect4.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect5info/title">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect5info/subtitle">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/corpauthor"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/authorgroup"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/author"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/othercredit"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/releaseinfo"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/copyright"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/legalnotice"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/pubdate"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revision"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revhistory"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/abstract"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect5.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect5.titlepage.before.recto"/>
+      <xsl:call-template name="sect5.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect5.titlepage.before.verso"/>
+      <xsl:call-template name="sect5.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="sect5.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="sect5.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect5.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="simplesectinfo/title">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="simplesectinfo/subtitle">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/corpauthor"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/authorgroup"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/author"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/othercredit"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/releaseinfo"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/copyright"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/legalnotice"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/pubdate"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/revision"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/revhistory"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/abstract"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="simplesect.titlepage.before.recto"/>
+      <xsl:call-template name="simplesect.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="simplesect.titlepage.before.verso"/>
+      <xsl:call-template name="simplesect.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="simplesect.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="simplesect.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="simplesect.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.recto">
+  <div xsl:use-attribute-sets="bibliography.titlepage.recto.style">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::bibliography[1]"/>
+</xsl:call-template></div>
+  <xsl:choose>
+    <xsl:when test="bibliographyinfo/subtitle">
+      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="bibliographyinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="bibliography.titlepage.before.recto"/>
+      <xsl:call-template name="bibliography.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="bibliography.titlepage.before.verso"/>
+      <xsl:call-template name="bibliography.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="bibliography.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="bibliography.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="bibliography.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="bibliography.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="bibliography.titlepage.recto.style">
+<xsl:apply-templates select="." mode="bibliography.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.recto">
+  <div xsl:use-attribute-sets="glossary.titlepage.recto.style">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::glossary[1]"/>
+</xsl:call-template></div>
+  <xsl:choose>
+    <xsl:when test="glossaryinfo/subtitle">
+      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="glossaryinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="glossary.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="glossary.titlepage.before.recto"/>
+      <xsl:call-template name="glossary.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="glossary.titlepage.before.verso"/>
+      <xsl:call-template name="glossary.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="glossary.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="glossary.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="glossary.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="glossary.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="glossary.titlepage.recto.style">
+<xsl:apply-templates select="." mode="glossary.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="index.titlepage.recto">
+  <div xsl:use-attribute-sets="index.titlepage.recto.style">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::index[1]"/>
+</xsl:call-template></div>
+  <xsl:choose>
+    <xsl:when test="indexinfo/subtitle">
+      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="indexinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="index.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="index.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="index.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="index.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="index.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="index.titlepage.before.recto"/>
+      <xsl:call-template name="index.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="index.titlepage.before.verso"/>
+      <xsl:call-template name="index.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="index.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="index.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="index.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="index.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="index.titlepage.recto.style">
+<xsl:apply-templates select="." mode="index.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.recto">
+  <div xsl:use-attribute-sets="setindex.titlepage.recto.style">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::setindex[1]"/>
+</xsl:call-template></div>
+  <xsl:choose>
+    <xsl:when test="setindexinfo/subtitle">
+      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="setindexinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="setindex.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="setindex.titlepage.before.recto"/>
+      <xsl:call-template name="setindex.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="setindex.titlepage.before.verso"/>
+      <xsl:call-template name="setindex.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="setindex.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="setindex.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="setindex.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="setindex.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="setindex.titlepage.recto.style">
+<xsl:apply-templates select="." mode="setindex.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+</xsl:stylesheet>
Index: trunk/documents/UserDoc/DocBookUsersGuides/FAQ/xml/XSLCustomizationLayer/G4HTMLStylesheet.css
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/FAQ/xml/XSLCustomizationLayer/G4HTMLStylesheet.css	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/FAQ/xml/XSLCustomizationLayer/G4HTMLStylesheet.css	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/FAQ/xml/XSLCustomizationLayer/G4XSLCommon.xsl
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/FAQ/xml/XSLCustomizationLayer/G4XSLCommon.xsl	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/FAQ/xml/XSLCustomizationLayer/G4XSLCommon.xsl	(revision 904)
@@ -0,0 +1,52 @@
+<?xml version='1.0' ?>
+<!-- ******************************************************************** -->  
+<!-- Setting up common Docbook XSL customization parameters for HTML and  -->
+<!-- FO. You need to inculde this file in the HTML and FO specific        --> 
+<!-- customization layer.                                                 -->
+<!-- ******************************************************************** -->  
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Automatically calculate the section numbers and add it to the header -->
+<!-- of the section title.                                                -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="section.autolabel">1</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Let the section labels start from the chapter number                 -->
+<!-- (Section 1.1, Section 1.2,... instead of Section 1, Section 2,...)   -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="section.label.includes.component.label">1</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Specify where the title shows up in figure, example, table, etc.     -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="formal.title.placement">
+figure after
+example before
+equation after
+table after
+procedure after
+</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Specify what will be appeared in table of content (toc)              -->
+<!-- For example, 'book toc,title' means toc will be generated and also   -->
+<!-- the title 'Table of Content' will be shown at the beginning of book. -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="generate.toc">
+book      toc,title
+chapter   nop
+section   nop
+appendix  nop
+</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- In 'xref' just write out the chapter/section number and not include  -->
+<!-- the their title.                                                     -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="xref.with.number.and.title">0</xsl:param>
+
+
+</xsl:stylesheet>
Index: trunk/documents/UserDoc/DocBookUsersGuides/FAQ/xml/XSLCustomizationLayer/G4XSLCustomFO.xsl
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/FAQ/xml/XSLCustomizationLayer/G4XSLCustomFO.xsl	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/FAQ/xml/XSLCustomizationLayer/G4XSLCustomFO.xsl	(revision 904)
@@ -0,0 +1,170 @@
+<?xml version='1.0' ?>
+<!-- ******************************************************************** -->  
+<!--  FO Customization Layer of Docbook XSL                               --> 
+<!-- ******************************************************************** -->  
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
+                xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Import the FO stylesheet                                             -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:import href="/usr/share/xml/docbook/stylesheet/nwalsh/current/fo/docbook.xsl"/>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Include the file which specifies common DocBook XSL parameters.      -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:include href="./G4XSLCommon.xsl" />
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Include the file which specifies the customized title page.          -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:include href="./G4BookTitlePageFO.xsl" />
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Define useful processing instructions for FO                         -->
+<!--  [Usage]  <? PI-name ?>                                              -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+
+<!-- Hard pagebreak -->
+<xsl:template match="processing-instruction('hard-pagebreak')">
+  <fo:block break-before='page' />
+</xsl:template>
+
+<!-- Soft pagebreak -->
+<xsl:template match="processing-instruction('soft-pagebreak')">
+  <fo:block-container width="100%" height="3.0cm">
+    <fo:block />
+  </fo:block-container>
+  <fo:block space-before="-3.0cm" />
+</xsl:template>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Page layout                                                          -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+
+<!-- Paper size -->
+<xsl:param name="paper.type">A4</xsl:param>
+
+<!-- Indentation of body text -->
+<xsl:param name="body.start.indent">0pt</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Global style for appearance of 'Title' in the major tags including   -->
+<!-- chapter, appendix, bibliography, index, etc                          -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:attribute-set name="component.title.properties">
+  <xsl:attribute name="font-weight">bold</xsl:attribute>
+  <xsl:attribute name="font-size">
+    <xsl:value-of select="$body.font.master * 2.0"/>
+    <xsl:text>pt</xsl:text>
+  </xsl:attribute>
+</xsl:attribute-set>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Style for appearance of 'Title' in various section level             -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:attribute-set name="section.title.level1.properties">
+  <xsl:attribute name="font-size">
+    <xsl:value-of select="$body.font.master * 1.8"/>
+    <xsl:text>pt</xsl:text>
+  </xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="section.title.level2.properties">
+  <xsl:attribute name="font-size">
+    <xsl:value-of select="$body.font.master * 1.6"/>
+    <xsl:text>pt</xsl:text>
+  </xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="section.title.level3.properties">
+  <xsl:attribute name="font-size">
+    <xsl:value-of select="$body.font.master * 1.4"/>
+    <xsl:text>pt</xsl:text>
+  </xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="section.title.level4.properties">
+  <xsl:attribute name="font-size">
+    <xsl:value-of select="$body.font.master * 1.2"/>
+    <xsl:text>pt</xsl:text>
+  </xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="section.title.level5.properties">
+  <xsl:attribute name="font-size">
+    <xsl:value-of select="$body.font.master * 1.0"/>
+    <xsl:text>pt</xsl:text>
+  </xsl:attribute>
+</xsl:attribute-set>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Style for appearance of 'Title' in figure, table, example, etc       -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:attribute-set name="formal.title.properties">
+  <xsl:attribute name="font-weight">bold</xsl:attribute>
+  <xsl:attribute name="font-size">12pt</xsl:attribute>
+  <xsl:attribute name="hyphenate">false</xsl:attribute>
+  <xsl:attribute name="space-before.minimum">0.3mm</xsl:attribute>
+  <xsl:attribute name="space-before.optimum">0.5mm</xsl:attribute>
+  <xsl:attribute name="space-before.maximum">1.0mm</xsl:attribute>
+  <xsl:attribute name="space-after.minimum">0pt</xsl:attribute>
+  <xsl:attribute name="space-after.optimum">0pt</xsl:attribute>
+  <xsl:attribute name="space-after.maximum">0pt</xsl:attribute>
+</xsl:attribute-set>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Example and informal example style                                   -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+
+<xsl:attribute-set name="example.properties">
+  <xsl:attribute name="space-before.minimum">0.5em</xsl:attribute>
+  <xsl:attribute name="space-before.optimum">1em</xsl:attribute>
+  <xsl:attribute name="space-before.maximum">2em</xsl:attribute>
+  <xsl:attribute name="space-after.minimum">0.5em</xsl:attribute>
+  <xsl:attribute name="space-after.optimum">1em</xsl:attribute>
+  <xsl:attribute name="space-after.maximum">2em</xsl:attribute>
+  <xsl:attribute name="background-color">#DDDDDD</xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="informalexample.properties">
+  <xsl:attribute name="space-before.minimum">0.5em</xsl:attribute>
+  <xsl:attribute name="space-before.optimum">1em</xsl:attribute>
+  <xsl:attribute name="space-before.maximum">2em</xsl:attribute>
+  <xsl:attribute name="space-after.minimum">0.5em</xsl:attribute>
+  <xsl:attribute name="space-after.optimum">1em</xsl:attribute>
+  <xsl:attribute name="space-after.maximum">2em</xsl:attribute>
+  <xsl:attribute name="background-color">#DDDDDD</xsl:attribute>
+</xsl:attribute-set>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Reduce the font size in verbatim environment (ex. programlisting)    -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:attribute-set name="monospace.verbatim.properties">
+  <xsl:attribute name="font-size">75%</xsl:attribute>
+</xsl:attribute-set>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Variablelist style                                                   -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="variablelist.as.blocks">1</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Ulink style                                                          -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- xsl:param name="ulink.footnotes">1</xsl:param -->
+<!-- xsl:param name="ulink.hyphenate">1</xsl:param -->
+<xsl:param name="ulink.show">0</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Footnote style                                                       -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:attribute-set name="footnote.mark.properties">
+  <xsl:attribute name="font-size">85%</xsl:attribute>
+  <xsl:attribute name="font-weight">bold</xsl:attribute>
+  <xsl:attribute name="font-style">italic</xsl:attribute>
+</xsl:attribute-set>
+
+
+</xsl:stylesheet>
Index: trunk/documents/UserDoc/DocBookUsersGuides/FAQ/xml/XSLCustomizationLayer/G4XSLCustomHTML.xsl
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/FAQ/xml/XSLCustomizationLayer/G4XSLCustomHTML.xsl	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/FAQ/xml/XSLCustomizationLayer/G4XSLCustomHTML.xsl	(revision 904)
@@ -0,0 +1,72 @@
+<?xml version='1.0' ?>
+<!-- ******************************************************************** -->  
+<!--  HTML Customization Layer of Docbook XSL                             --> 
+<!-- ******************************************************************** -->  
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Import the stylesheet to chunk the html output                       -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:import href="/usr/share/xml/docbook/stylesheet/nwalsh/current/html/chunk.xsl" />
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Include the file which specifies common DocBook XSL parameters.      -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:include href="./G4XSLCommon.xsl" />
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Specify the CSS stylesheet to be used for fine tuning of appearance. -->
+<!--   [Note] Remember to take care the relative path to index.html       -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="html.stylesheet">../xml/XSLCustomizationLayer/G4HTMLStylesheet.css</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Specify the chunk conditions - the chunk level and the directory to  -->
+<!-- which the chunked files will be stored. You need to import the chunk -->
+<!-- stylesheet beforehand.                                               -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="chunk.section.depth">1</xsl:param>
+<xsl:param name="base.dir">../html/</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Include the file which specifies the customized title page.          -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:include href="./G4BookTitlePageHTML.xsl" />
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Use customized navigation icons.                                     -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="navig.graphics">1</xsl:param>
+<xsl:param name="navig.graphics.extension">.gif</xsl:param>
+<xsl:param name="navig.graphics.path">AllResources/IconsGIF/</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Define Java script and invoke by processing instruction (PI)         -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+
+<!-- Include JavaScript Function in HTML Header Part -->
+<xsl:template name="user.head.content">
+<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>
+</xsl:template>
+
+<!-- Handle Processing Instruction named 'JavaScript' -->
+<xsl:template match="processing-instruction()[local-name()= 'JavaScript']">
+  <xsl:text disable-output-escaping="yes">&lt;a href="javascript:remote_win('</xsl:text>
+  <xsl:value-of select="." /><xsl:text disable-output-escaping="yes">')" onMouseOver="window.status='Get alive picture...'; return true"&gt;[Rotate the Picture]&lt;br /&gt;
+  </xsl:text>
+  <xsl:text disable-output-escaping="yes">&lt;/a&gt;
+  </xsl:text>
+</xsl:template>
+
+
+</xsl:stylesheet>
+
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/output.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/output.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/output.html	(revision 904)
@@ -0,0 +1,29061 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>
+  Geant4 User's Guide for Application Developers
+  </title><meta name="generator" content="DocBook XSL Stylesheets V1.65.1"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="book" lang="en"><div class="titlepage"><div><div><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><p class="releaseinfo">Version: geant4 9.1</p></div><div><p class="pubdate">14 December, 2007</p></div></div><div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="#chap.Introduction">1. 
+Introduction
+</a></span></dt><dd><dl><dt><span class="sect1"><a href="#sect.scope">
+Scope of this manual
+</a></span></dt><dt><span class="sect1"><a href="#sect.howto">
+How to use this manual
+</a></span></dt></dl></dd><dt><span class="chapter"><a href="#chap.GettingStarted">2. 
+Getting Started with Geant4 - Running a Simple Example
+</a></span></dt><dd><dl><dt><span class="sect1"><a href="#sect.HowToDefMain">
+How to Define the main() Program
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.HowToDefMain.SimpleMainMethod">
+A Sample main() Method
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToDefMain.G4RunManager">
+G4RunManager
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToDefMain.UserInitAction">
+User Initialization and Action Classes
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToDefMain.G4UImanagerUICommand">
+G4UImanager and UI CommandSubmission
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToDefMain.G4coutG4cerr">
+G4cout and G4cerr
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.HowToDefDetectorGeom">
+How to Define a Detector Geometry
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.HowToDefDetectorGeom.BasicConcepts">
+Basic Concepts
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToDefDetectorGeom.CreateSimpleVol">
+Create a Simple Volume
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToDefDetectorGeom.ChooseSolid">Choose a Solid
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToDefDetectorGeom.CreateLogicalVol">
+Create a Logical Volume
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToDefDetectorGeom.PlaceVolume">
+Place a Volume
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToDefDetectorGeom.CreatePhysicalVol">Create a Physical Volume</a></span></dt><dt><span class="sect2"><a href="#sect.HowToDefDetectorGeom.CoordinateRotations">
+Coordinate Systems and Rotations
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.HowToSpecMate">
+How to Specify Materials in the Detector
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.HowToSpecMate.GeneCons">
+General Considerations
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToSpecMate.DefSimpleMate">
+Define a Simple Material
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToSpecMate.DefineMolecule">
+Define a Molecule
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToSpecMate.DefMixtureByFractionalMass">
+Define a Mixture by Fractional Mass
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToSpecMate.DefMateFromDatabase">
+Define a Material from the Geant4 Material Database
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToSpecMate.PrintMateInfo">
+Print Material Information
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.HowToSpecParti">
+How to Specify Particles
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.HowToSpecParti.PartiDef">
+Particle Definition
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToSpecParti.RangeCuts">
+Range Cuts
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.HowToSpecPhysProc">
+How to Specify Physics Processes
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.HowToSpecPhysProc.PhysProc">
+Physics Processes
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToSpecPhysProc.ManagingProc">
+Managing Processes
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToSpecPhysProc.SpecPhysProc">
+Specifying Physics Processes
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.HowToGenEvent">
+How to Generate a Primary Event
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.HowToGenEvent.GenPrimary">
+Generating Primary Events
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToGenEvent.G4VPrimGen">
+G4VPrimaryGenerator
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.HowToMakeExec">
+How to Make an Executable Program
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.HowToMakeExec.UNIX">
+Building ExampleN01 in a UNIX Environment
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToMakeExec.Windows">
+Building ExampleN01 in a Windows Environment
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.HowToSetUpInter">
+How to Set Up an Interactive Session
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.HowToSetUpInter.Intro">
+Introduction
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToSetUpInter.DescInter">
+A Short Description of Available Interface Classes
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToSetUpInter.BuildLib">
+Building the Interface Libraries
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToSetUpInter.HowToUseInter">
+How to Use the Interface
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.HowToExec">
+How to Execute a Program
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.HowToExec.Intro">
+Introduction
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToExec.HardCodedBatch">
+'Hard-coded' Batch Mode
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToExec.BatchMacro">
+Batch Mode with Macro File
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToExec.InteractiveMode">
+Interactive Mode Driven by Command Lines
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToExec.GeneralCase">
+General Case
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.HowToVis">
+How to Visualize the Detector and Events
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.HowToVis.Intro">
+Introduction
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToVis.VisDrivers">
+Visualization Drivers
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToVis.IncorpVisDrivers">
+How to Incorporate Visualization Drivers into an Executable
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToVis.WritingMain">
+Writing the main() Method to Include Visualization
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToVis.SampleVis">
+Sample Visualization Sessions
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToVis.MoreInfo">
+For More Information on Geant4 Visualization
+</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#chap.ToolkitFundamentals">3. 
+Toolkit Fundamentals
+</a></span></dt><dd><dl><dt><span class="sect1"><a href="#sect.ClassCate">
+Class Categories and Domains
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.ClassCate.WhatIsClassCate">
+What is a class category?
+</a></span></dt><dt><span class="sect2"><a href="#sect.ClassCate.ClassCateInGeant4">
+Class categories in Geant4
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.GlobClass">
+Global Usage Classes
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.GlobClass.SignClass">
+Signature of Geant4 classes
+</a></span></dt><dt><span class="sect2"><a href="#sect.GlobClass.HEPRandom">
+The HEPRandom module in CLHEP
+</a></span></dt><dt><span class="sect2"><a href="#sect.HEPNumerics">
+The HEPNumerics module
+</a></span></dt><dt><span class="sect2"><a href="#sect.GeneManage">
+General management classes
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.SysUni">
+System of units
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.SysUni.BasicUni">
+Basic units
+</a></span></dt><dt><span class="sect2"><a href="#sect.SysUni.InputData">
+Input your data
+</a></span></dt><dt><span class="sect2"><a href="#sect.SysUni.OutputData">
+Output your data
+</a></span></dt><dt><span class="sect2"><a href="#sect.SysUni.IntroNewUnits">
+Introduce new units
+</a></span></dt><dt><span class="sect2"><a href="#sect.SysUni.PrintUnits">
+Print the list of units
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.Run">
+Run
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.Run.Basic">
+Basic concept of Run
+</a></span></dt><dt><span class="sect2"><a href="#sect.Run.StateMac">
+Geant4 as a state machine
+</a></span></dt><dt><span class="sect2"><a href="#sect.Run.UserHook">
+User's hook for state change
+</a></span></dt><dt><span class="sect2"><a href="#sect.Run.Custom">
+Customizing the Run Manager
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.Event">
+Event
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.Event.Represent">
+Representation of an event
+</a></span></dt><dt><span class="sect2"><a href="#sect.Event.Struct">
+Structure of an event
+</a></span></dt><dt><span class="sect2"><a href="#sect.Event.ManEvtMan">
+Mandates of G4EventManager
+</a></span></dt><dt><span class="sect2"><a href="#sect.Event.Stack">
+Stacking mechanism
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.EventGen">
+Event Generator Interface
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.EventGen.StructPriEvt">
+Structure of a primary event
+</a></span></dt><dt><span class="sect2"><a href="#sect.EventGen.InterPriGen">
+Interface to a primary generator
+</a></span></dt><dt><span class="sect2"><a href="#sect.EventGen.EvtOverlap">
+Event overlap using multiple generators
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.EvtBias">
+Event Biasing Techniques
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.EvtBias.ScorImpRoul">
+Scoring, Geometrical Importance Sampling and Weight Roulette
+</a></span></dt><dt><span class="sect2"><a href="#sect.EvtBias.PhysBias">
+Physics Based Biasing
+</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#chap.DetectorDefRespond">4. 
+Detector Definition and Response
+</a></span></dt><dd><dl><dt><span class="sect1"><a href="#sect.Geom">
+Geometry
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.Geom.Intro">
+Introduction
+</a></span></dt><dt><span class="sect2"><a href="#sect.Geom.Solids">
+Solids
+</a></span></dt><dt><span class="sect2"><a href="#sect.Geom.LogVol">
+Logical Volumes
+</a></span></dt><dt><span class="sect2"><a href="#sect.Geom.PhysVol">
+Physical Volumes
+</a></span></dt><dt><span class="sect2"><a href="#sect.Geom.Touch">
+Touchables: Uniquely Identifying a Volume
+</a></span></dt><dt><span class="sect2"><a href="#sect.Geom.Assemb">
+Creating an Assembly of Volumes
+</a></span></dt><dt><span class="sect2"><a href="#sect.Geom.Reflec">
+Reflecting Hierarchies of Volumes
+</a></span></dt><dt><span class="sect2"><a href="#sect.Geom.Navig">
+The Geometry Navigator
+</a></span></dt><dt><span class="sect2"><a href="#sect.Geom.Edit">
+A Simple Geometry Editor
+</a></span></dt><dt><span class="sect2"><a href="#sect.Geom.ConvGeom">
+Converting Geometries from Geant3.21
+</a></span></dt><dt><span class="sect2"><a href="#sect.Geom.Overlap">
+Detecting Overlapping Volumes
+</a></span></dt><dt><span class="sect2"><a href="#sect.Geom.Dyna">
+Dynamic Geometry Setups
+</a></span></dt><dt><span class="sect2"><a href="#sect.Geom.GDML">
+Importing XML Models Using GDML
+</a></span></dt><dt><span class="sect2"><a href="#sect.Geom.ASCII">
+Importing ASCII Text Models
+</a></span></dt><dt><span class="sect2"><a href="#sect.Geom.Persistency">
+Saving geometry tree objects in binary format
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.Mate">
+Material
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.Mate.GenCons">
+General considerations
+</a></span></dt><dt><span class="sect2"><a href="#sect.Mate.Intro">
+Introduction to the Classes
+</a></span></dt><dt><span class="sect2"><a href="#sect.Mate.Recep">
+Recipes for Building Elements and Materials
+</a></span></dt><dt><span class="sect2"><a href="#sect.Mate.Tables">
+The Tables
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.EMField">
+Electromagnetic Field
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.EMField.Overview">
+An Overview of Propagation in a Field
+</a></span></dt><dt><span class="sect2"><a href="#sect.EMField.Pract">
+Practical Aspects
+</a></span></dt><dt><span class="sect2"><a href="#sect.EMField.Spin">
+Spin Tracking
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.Hits">
+Hits
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.Hits.Hit">
+Hit
+</a></span></dt><dt><span class="sect2"><a href="#sect.Hits.SensDet">
+Sensitive detector
+</a></span></dt><dt><span class="sect2"><a href="#sect.Hits.ReadGeom">
+Readout geometry
+</a></span></dt><dt><span class="sect2"><a href="#sect.Hits.G4SDMan">
+G4SDManager
+</a></span></dt><dt><span class="sect2"><a href="#sect.Hits.G4Multi">
+G4MultiFunctionalDetector and
+G4VPrimitiveScorer
+</a></span></dt><dt><span class="sect2"><a href="#sect.Hits.G4VPrim">
+Concrete classes of G4VPrimitiveScorer
+</a></span></dt><dt><span class="sect2"><a href="#sect.Hits.G4VSDFil">
+G4VSDFilter and its derived classes
+</a></span></dt><dt><span class="sect2"><a href="#sect.EvtBias.ScorImpRoul.Scor">
+Scoring for Event Biasing
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.Digi">
+Digitization
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.Digi.Digi">
+Digi
+</a></span></dt><dt><span class="sect2"><a href="#sect.Digi.DigMod">
+Digitizer module
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.ObjPers">
+Object Persistency
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.ObjPers.PersG4">
+Persistency in Geant4
+</a></span></dt><dt><span class="sect2"><a href="#sect.ObjPers.Reflex">
+Using Reflex for persistency of Geant4 objects
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.ParaGeom">
+Parallel Geometries
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.ParaGeom.ParaWrld">
+A parallel world
+</a></span></dt><dt><span class="sect2"><a href="#sect.ParaGeom.DefParaWrld">
+Defining a parallel world
+</a></span></dt><dt><span class="sect2"><a href="#sect.ParaGeom.SenstivParaWrld">
+Detector sensitivity in a parallel world
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.CommandScore">
+Command-based scoring
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.CommandScore.Intro">
+Command-based scoring
+</a></span></dt><dt><span class="sect2"><a href="#sect.CommandScore.Mesh">
+Defining a scoring mesh
+</a></span></dt><dt><span class="sect2"><a href="#sect.CommandScore.Draw">
+Drawing scores
+</a></span></dt><dt><span class="sect2"><a href="#sect.CommandScore.Dump">
+Writing scores to a file
+</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#chap.TrackAndPhysics">5. 
+Tracking and Physics
+</a></span></dt><dd><dl><dt><span class="sect1"><a href="#sect.Track">
+Tracking
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.Track.Basic">
+Basic Concepts
+</a></span></dt><dt><span class="sect2"><a href="#sect.Track.AccInfo">
+Access to Track and Step Information
+</a></span></dt><dt><span class="sect2"><a href="#sect.Track.SecPar">
+Handling of Secondary Particles
+</a></span></dt><dt><span class="sect2"><a href="#sect.Track.UserAct">
+User Actions
+</a></span></dt><dt><span class="sect2"><a href="#sect.Track.Verb">
+Verbose Outputs
+</a></span></dt><dt><span class="sect2"><a href="#sect.Track.Traj">
+Trajectory and Trajectory Point
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.PhysProc">
+Physics Processes
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.PhysProc.EleMag">
+Electromagnetic Interactions
+</a></span></dt><dt><span class="sect2"><a href="#sect.PhysProc.Had">
+Hadronic Interactions
+</a></span></dt><dt><span class="sect2"><a href="#sect.PhysProc.Decay">
+Particle Decay Process
+</a></span></dt><dt><span class="sect2"><a href="#sect.PhysProc.PhotoHad">
+Photolepton-hadron Processes
+</a></span></dt><dt><span class="sect2"><a href="#sect.PhysProc.Photo">
+Optical Photon Processes
+</a></span></dt><dt><span class="sect2"><a href="#sect.PhysProc.Param">
+Parameterization
+</a></span></dt><dt><span class="sect2"><a href="#sect.PhysProc.Trans">
+Transportation Process
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.Parti">
+Particles
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.Parti.Basic">
+Basic concepts
+</a></span></dt><dt><span class="sect2"><a href="#sect.Parti.Def">
+Definition of a particle
+</a></span></dt><dt><span class="sect2"><a href="#sect.Parti.Dynam">
+Dynamic particle
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.ProThres">
+Production Threshold versus Tracking Cut
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.ProThres.Gen">
+General considerations
+</a></span></dt><dt><span class="sect2"><a href="#sect.ProThres.Set">
+Set production threshold (SetCut methods)
+</a></span></dt><dt><span class="sect2"><a href="#sect.ProThres.Apply">
+Apply cut
+</a></span></dt><dt><span class="sect2"><a href="#sect.ProThres.WhyProd">
+Why produce secondaries below threshold?
+</a></span></dt><dt><span class="sect2"><a href="#sect.ProThres.RangOrEner">
+Cuts in stopping range or in energy?
+</a></span></dt><dt><span class="sect2"><a href="#sect.ProThres.Sum">
+Summary
+</a></span></dt><dt><span class="sect2"><a href="#sect.ProThres.Spe">
+Special tracking cuts
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.CutReg">
+Cuts per Region
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.CutReg.Gene">
+General Concepts
+</a></span></dt><dt><span class="sect2"><a href="#sect.CutReg.DefReg">
+Default Region
+</a></span></dt><dt><span class="sect2"><a href="#sect.CutReg.Assig">
+Assigning Production Cuts to a Region
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.PhysTab">
+Physics Table
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.PhysTab.Gene">
+General Concepts
+</a></span></dt><dt><span class="sect2"><a href="#sect.PhysTab.MateCoup">
+Material-Cuts Couple
+</a></span></dt><dt><span class="sect2"><a href="#sect.PhysTab.Fio">
+File I/O for the Physics Table
+</a></span></dt><dt><span class="sect2"><a href="#sect.PhysTab.Build">
+Building the Physics Table
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.Ulim">
+User Limits
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.Ulim.Gene">
+General Concepts
+</a></span></dt><dt><span class="sect2"><a href="#sect.Ulim.Proc">
+Processes co-working with G4UserLimits
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.G4Error">
+Track Error Propagation
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.G4Error.Physics">
+Physics
+</a></span></dt><dt><span class="sect2"><a href="#sect.G4Error.TrajState">
+Trajectory state
+</a></span></dt><dt><span class="sect2"><a href="#sect.G4Error.Err">
+Trajectory state error
+</a></span></dt><dt><span class="sect2"><a href="#sect.G4Error.Target">
+Targets 
+</a></span></dt><dt><span class="sect2"><a href="#sect.G4Error.Propagation">
+Managing the track propagation
+</a></span></dt><dt><span class="sect2"><a href="#sect.G4Error.StepLimits">
+Limiting the step
+</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#chap.UserActions">6. 
+User Actions
+</a></span></dt><dd><dl><dt><span class="sect1"><a href="#sect.ManUAct">
+Mandatory User Actions and Initializations
+</a></span></dt><dt><span class="sect1"><a href="#sect.OptUAct">
+Optional User Actions
+</a></span></dt><dt><span class="sect1"><a href="#sect.UInfoCls">
+User Information Classes
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.UInfoCls.UEvtInfo">
+G4VUserEventInformation
+</a></span></dt><dt><span class="sect2"><a href="#sect.UInfoCls.UTkInfo">
+G4VUserTrackInformation
+</a></span></dt><dt><span class="sect2"><a href="#sect.UInfoCls.UPrimVxTk">
+G4VUserPrimaryVertexInformation and G4VUserPrimaryTrackInformation
+</a></span></dt><dt><span class="sect2"><a href="#sect.UInfoCls.URegInfo">
+G4VUserRegionInformation
+</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#chap.CommunicationAndControl">7. 
+Communication and Control
+</a></span></dt><dd><dl><dt><span class="sect1"><a href="#sect.BuiltinCom">
+Built-in Commands
+</a></span></dt><dt><span class="sect1"><a href="#sect.UIDefNew">
+User Interface - Defining New Commands
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.UIDefNew.UIMess">
+G4UImessenger
+</a></span></dt><dt><span class="sect2"><a href="#sect.UIDefNew.DervCls">
+G4UIcommand and its derived classes
+</a></span></dt><dt><span class="sect2"><a href="#sect.UIDefNew.ExpMess">
+An example messenger
+</a></span></dt><dt><span class="sect2"><a href="#sect.UIDefNew.HowCont">
+How to control the output of G4cout/G4cerr
+</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#chap.Visualization">8. 
+Visualization
+</a></span></dt><dd><dl><dt><span class="sect1"><a href="#sect.VisIntro">
+Introduction to Visualization
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.VisIntro.What">
+What Can be Visualized
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisIntro.Choice">
+You have a Choice of Visualization Drivers
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisIntro.ChoDrv">
+Choose the Driver that Meets Your Needs
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisIntro.CntVis">
+Controlling Visualization
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisIntro.Details">
+Visualization Details
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.VisAddExe">
+Adding Visualization to Your Executable
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.VisAddExe.InstDrv">
+Installing Visualization Drivers
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisAddExe.RealVisDrv">
+How to Realize Visualization Drivers in an Executable
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisAddExe.SampSetup">
+A Sample Set-up File
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisAddExe.VisMan">
+Visualization Manager
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisAddExe.WrtMain">
+How to Write the main() Function
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.VisDrv">
+The Visualization Drivers
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.VisDrv.Avail">
+Availability of drivers on the supported systems
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisDrv.OpenGL">
+OpenGL
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisDrv.OpenInv">
+OpenInventor
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisDrv.HepRep">
+HepRepFile
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisDrv.HepRepXML">
+HepRepXML
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisDrv.DAWN">
+DAWN
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisDrv.RemDAWN">
+Remote Visualization with the DAWN-Network Driver
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisDrv.VRML">
+VRML
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisDrv.RayTrc">
+RayTracer
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisDrv.DetTree">
+Visualization of detector geometry tree
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisDrv.GAGTree">
+GAG Tree
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisDrv.XMLTree">
+XML Tree
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.VisCntCmmd">
+Controlling Visualization from Commands
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.VisCntCmmd.ScnHndVw">
+Scene, scene handler, and viewer
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmmd.CrtScnVw">
+Create a scene handler and a viewer: /vis/open command
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmmd.CrtEmp">
+Create an empty scene: /vis/scene/create command
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmmd.PhyVol">
+Visualization of a physical volume: /vis/drawVolume command
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmmd.LogVol">
+Visualization of a logical volume: /vis/specify command
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmmd.Traj">
+Visualization of trajectories: /vis/scene/add/trajectories command
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmmd.Hits">
+Visualization of hits: /vis/scene/add/hits command
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmmd.HrAtHits">
+HepRep Attributes for Hits
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmmd.BscCmrWrk">
+Basic camera workings: /vis/viewer/ commands
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmmd.DclEndFlsh">
+Declare the end of visualization for flushing: /vis/viewer/flush command
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmmd.EndEvtRun">
+End of Event Action and End of Run Action:
+/vis/viewer/endOfEventAction and
+/vis/viewer/endOfEventAction commands
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmmd.HpRpTraj">
+HepRep Attributes for Trajectories
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmmd.SvVwPs">
+How to save a visualized views to PostScript files
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmmd.Cull">
+Culling
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmmd.CutVw">
+Cut view
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmmd.TutMac">
+Tutorial macros
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.VisCntCmpl">
+Controlling Visualization from Compiled Code
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.VisCntCmpl.VsMng">
+G4VVisManager
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmpl.DtcCmp">
+Visualization of detector components
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmpl.Trjct">
+Visualization of trajectories
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmpl.EnhTrjct">
+Enhanced trajectory drawing
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmpl.AttTrjct">
+HepRep Attributes for Trajectories
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmpl.Hits">
+Visualization of hits
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmpl.AttHits">
+HepRep Attributes for Hits
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmpl.txt">
+Visualization of text
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmpl.PlyTrkStp">
+Visualization of polylines and tracking steps
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmpl.UsrAct">
+Visualization User Action
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmpl.StdAln">
+Standalone Visualization
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.VisAtt">
+Visualization Attributes
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.VisAtt.Vsblty">
+Visibility
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisAtt.Colr">
+Colour
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisAtt.FrcAtt">
+Forcing attributes
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisAtt.CnstAtt">
+Constructors of G4VisAttributes
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisAtt.AssgLgVol">
+How to assign G4VisAttributes to a logical volume
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisAtt.AddUdefAtt">
+Additional User-Defined Attributes
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.VisEnhTrj">
+Enhanced Trajectory Drawing
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.VisEnhTrj.DflCnfg">
+Default Configuration
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisEnhTrj.DrdMdl">
+Trajectory Drawing Models
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisEnhTrj.CntlComm">
+Controlling from Commands
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisEnhTrj.CntlCmpl">
+Controlling from Compiled Code
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisEnhTrj.DrwByTime">
+Drawing by time
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.VisFltr">
+Trajectory Filtering
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.VisFltr.CntlComm">
+Controlling from Commands
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisFltr.ExpComm">
+Example commands
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisFltr.HitFilt">
+Hit Filtering
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.VisPlylMrkTxt">
+Polylines, Markers and Text
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.VisPlylMrkTxt.Plyl">
+Polylines
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisPlylMrkTxt.Mrk">
+Markers
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisPlylMrkTxt.Txt">
+Text
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.MkMovie">
+Making a Movie
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.MkMovie.OGLX">
+OGLX
+</a></span></dt><dt><span class="sect2"><a href="#sect.MkMovie.DAWNFILE">
+DAWNFILE
+</a></span></dt><dt><span class="sect2"><a href="#sect.MkMovie.RyTrcX">
+RayTracerX
+</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#chap.Examples">9. 
+Examples
+</a></span></dt><dd><dl><dt><span class="sect1"><a href="#sect.ExmpNvc">
+Novice Examples
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.ExmpNvc.Smmry">
+Novice Example Summary
+</a></span></dt><dt><span class="sect2"><a href="#sect.ExmpNvc.Exmp01">
+Example N01
+</a></span></dt><dt><span class="sect2"><a href="#sect.ExmpNvc.Exmp02">
+Example N02
+</a></span></dt><dt><span class="sect2"><a href="#sect.ExmpNvc.Exmp03">
+Example N03
+</a></span></dt><dt><span class="sect2"><a href="#sect.ExmpNvc.Exmp04">
+Example N04
+</a></span></dt><dt><span class="sect2"><a href="#sect.ExmpNvc.Exmp05">
+Example N05
+</a></span></dt><dt><span class="sect2"><a href="#sect.ExmpNvc.Exmp06">
+Example N06
+</a></span></dt><dt><span class="sect2"><a href="#sect.ExmpNvc.Exmp07">
+Example N07
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.ExmpExt">
+Extended Examples
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.ExmpExt.Smmry">
+Extended Example Summary
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.ExmpAdv">
+Advanced Examples
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.ExmpAdv.AdvExmp">
+Advanced Examples
+</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#chap.FAQ">FAQ. 
+Frequentry Asked Questions
+</a></span></dt><dd><dl><dt><span class="section"><a href="#qanda.Installation">
+Installation
+</a></span></dt><dt><span class="section"><a href="#qanda.RunTimeProb">
+Run Time Problems
+</a></span></dt><dt><span class="section"><a href="#qanda.Geometry">
+Geometry
+</a></span></dt><dt><span class="section"><a href="#qanda.TrackSteps">
+Tracks and steps
+</a></span></dt><dt><span class="section"><a href="#qanda.PhysicsCuts">
+Physics and cuts
+</a></span></dt><dt><span class="section"><a href="#qanda.Vis">
+Visualization
+</a></span></dt><dt><span class="section"><a href="#qanda.UserSupPolicy">
+User Support Policy
+</a></span></dt></dl></dd><dt><span class="appendix"><a href="#appendix.Appendix">
+Appendix
+</a></span></dt><dd><dl><dt><span class="sect1"><a href="#sect.TpPrgCmp">
+Tips for Program Compilation
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.TpPrgCmp.UnxLnxGpp">
+Unix/Linux - g++
+</a></span></dt><dt><span class="sect2"><a href="#sect.TpPrgCmp.WndMsVslCpp">
+Windows - MS Visual C++
+</a></span></dt><dt><span class="sect2"><a href="#sect.TpPrgCmp.McXCpp">
+MacOS-X - g++
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.Hst">
+Histogramming
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.Hst.JAS">
+JAS
+</a></span></dt><dt><span class="sect2"><a href="#sect.Hst.iAIDA">
+iAida
+</a></span></dt><dt><span class="sect2"><a href="#sect.Hst.OpnScnt">
+Open Scientist Lab
+</a></span></dt><dt><span class="sect2"><a href="#sect.Hst.rAIDA">
+rAIDA
+</a></span></dt><dt><span class="sect2"><a href="#sect.Hst.Exmp">
+Examples
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.Clhep">
+CLHEP Foundation Library
+</a></span></dt><dt><span class="sect1"><a href="#sect.CppStdTL">
+C++ Standard Template Library
+</a></span></dt><dt><span class="sect1"><a href="#sect.MkflEnvVar">
+Makefiles and Environment Variables
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.MkflEnvVar.GNUG4">
+The GNUmake system in Geant4
+</a></span></dt><dt><span class="sect2"><a href="#sect.MkflEnvVar.EnvVar">
+Environment variables
+</a></span></dt><dt><span class="sect2"><a href="#sect.MkflEnvVar.LnkExtLib">
+Linking External Libraries with Geant4
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.StepGuides">
+Step-by-Step Installation Guides
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.BldMSV">
+Building on MS Visual C++
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.DvpDbg">
+Development and debug tools
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.DvpDbg.Unix">
+UNIX
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.G4MatrDb">
+Geant4 Material Database
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.G4MatrDb.PurMat">
+Pure Materials
+</a></span></dt><dt><span class="sect2"><a href="#sect.G4MatrDb.NISTCmp">
+NIST Compounds
+</a></span></dt><dt><span class="sect2"><a href="#sect.G4MatrDb.HepMat">
+HEP Materials
+</a></span></dt></dl></dd></dl></dd><dt><span class="bibliography"><a href="#bibliography.Bibliography">
+Bibliography
+</a></span></dt></dl></div><div class="list-of-figures"><p><b>List of Figures</b></p><dl><dt>3.1. <a href="#fig.G4ClassCategory">
+Geant4 class categories
+</a></dt><dt>3.2. <a href="#fig.EvtBias.WeightWindow">
+  Weight window concept
+</a></dt><dt>4.1. <a href="#fig.Geom.Solid_1">
+  Example of geometries imported from CAD system and converted to
+  tessellated solids.
+</a></dt><dt>4.2. <a href="#fig.Geom.Assem_1">
+Examples of assembly of volumes.
+</a></dt><dt>4.3. <a href="#fig.Geom.Assem_2">
+The geometry corresponding to .
+</a></dt><dt>4.4. <a href="#fig.Geom.Overlap_1">
+  Different cases of placed volumes overlapping each other.
+</a></dt><dt>4.5. <a href="#fig.Geom.Overlap_2">
+  A geometry with overlapping volumes highlighted by DAVID.
+</a></dt><dt>4.6. <a href="#fig.EMField_1">
+  The curved trajectory will be approximated by chords,
+  so that the maximum estimated distance between curve and chord is
+  less than the the miss distance.
+</a></dt><dt>4.7. <a href="#fig.EMField_2">
+  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.
+</a></dt><dt>4.8. <a href="#fig.Hits_1">
+Association of tracking and readout geometry.
+</a></dt><dt>4.9. <a href="#fig.ObjPers_1">
+Persistent object.
+</a></dt><dt>4.10. <a href="#fig.CommandScore_1">
+Drawing scores in slices (left) and projection (right)
+</a></dt></dl></div><div class="list-of-tables"><p><b>List of Tables</b></p><dl><dt>5.1. <a href="#table.PhysProc_1">
+Hadronic processes and relevant particles.
+</a></dt><dt>5.2. <a href="#table.Parti_1">
+Methods to get particle properties.
+</a></dt><dt>5.3. <a href="#table.Parti_2">
+Methods to get particle decay modes and life time.
+</a></dt><dt>5.4. <a href="#table.Parti_4">
+Methods to set/get cut off values.
+</a></dt><dt>8.1. <a href="#table.VisDrv_1">
+Required graphics systems and supported platforms for the various 
+visualization drivers.
+</a></dt><dt>8.2. <a href="#table.VisCntCmmd_1">
+The default culling policies.
+</a></dt><dt>9.1. <a href="#table.ExmpNvc_1">
+The ``item chart'' for novice level examples N01,
+N02 and N03.
+</a></dt><dt>9.2. <a href="#table.ExmpNvc_2">
+The ``item chart'' for novice level examples N04,
+N05, and N06.
+</a></dt><dt>9.3. <a href="#table.ExmpNvc_3">
+The ``item chart'' for novice level example N07.
+</a></dt><dt>9.4. <a href="#id626437">
+  TestEm by theme
+</a></dt></dl></div><div class="list-of-examples"><p><b>List of Examples</b></p><dl><dt>2.1. <a href="#programlist_HowToDefMain_1">
+Simplest example of main() 
+</a></dt><dt>2.2. <a href="#programlist_HowToDefMain_2">
+An example of main() using interactive 
+terminal and visualization. Code modified from the previous
+example are shown in  blue.
+</a></dt><dt>2.3. <a href="#programlist_HowToDefDetectorGeom_1">
+Creating a box.
+</a></dt><dt>2.4. <a href="#programlist_HowToDefDetectorGeom_2">
+Creating a cylinder.
+</a></dt><dt>2.5. <a href="#programlist_HowToDefDetectorGeom_3">
+A simple physical volume.
+</a></dt><dt>2.6. <a href="#programlist_HowToDefDetectorGeom_4">
+The World volume from Example N01.
+</a></dt><dt>2.7. <a href="#programlist_HowToSpecMate_1">
+Creating liquid argon.
+</a></dt><dt>2.8. <a href="#programlist_HowToSpecMate_2">
+Creating water by defining its molecular components.
+</a></dt><dt>2.9. <a href="#programlist_HowToSpecMate_3">
+Creating air by defining the fractional mass of its components.
+</a></dt><dt>2.10. <a href="#programlist_HowToSpecMate_4">
+Defining air and water from the internal Geant4 database.
+</a></dt><dt>2.11. <a href="#programlist_HowToSpecMate_5">
+Printing information about materials.
+</a></dt><dt>2.12. <a href="#programlist_HowToSpecParti_1">
+Construct a proton and a geantino.
+</a></dt><dt>2.13. <a href="#programlist_HowToSpecParti_2">
+Construct all leptons.
+</a></dt><dt>2.14. <a href="#programlist_HowToSpecParti_3">
+Set cut values by using the default cut value.
+</a></dt><dt>2.15. <a href="#programlist_HowToSpecParti_4">
+Set the default cut value.
+</a></dt><dt>2.16. <a href="#programlist_HowToSpecParti_5">
+Example implementation of the SetCuts() method.
+</a></dt><dt>2.17. <a href="#programlist_HowToSpecPhysProc_1">
+Register processes for a geantino.
+</a></dt><dt>2.18. <a href="#programlist_HowToSpecPhysProc_2">
+Register processes for a gamma.
+</a></dt><dt>2.19. <a href="#programlist_HowToGenEvent_1">
+An example of a G4VUserPrimaryGeneratorAction 
+concrete class using G4ParticleGun. 
+For the usage of G4ParticleGun refer to the
+next subsection.
+</a></dt><dt>2.20. <a href="#programlist_HowToExec_1">
+An example of the main() routine 
+for an application which will run in batch mode.
+</a></dt><dt>2.21. <a href="#programlist_HowToExec_2">
+An example of the main() routine 
+for an application which will run in batch mode, but reading a file of commands.
+</a></dt><dt>2.22. <a href="#programlist_HowToExec_3">
+A typical command macro.
+</a></dt><dt>2.23. <a href="#programlist_HowToExec_4">
+An example of the main() routine for 
+an application which will run interactively, waiting for commands from the
+keyboard.
+</a></dt><dt>2.24. <a href="#programlist_HowToExec_5">
+The typical main() routine from the examples directory.
+</a></dt><dt>2.25. <a href="#programlist_HowToExec_6">
+The prerunN03.mac macro.
+</a></dt><dt>2.26. <a href="#programlist_HowToVis_1">
+The typical main() routine available for visualization.
+</a></dt><dt>3.1. <a href="#programlist_Run_1">
+Header file of UserHookForAbortState
+</a></dt><dt>3.2. <a href="#programlist_Run_2">
+Source file of UserHookForAbortState
+</a></dt><dt>3.3. <a href="#programlist_EventGen_1">
+An example code for G4HEPEvtInterface
+</a></dt><dt>3.4. <a href="#programlist_EventGen_2">
+A FORTRAN example using the /HEPEVT/ common.
+</a></dt><dt>4.1. <a href="#programlist_Geom_1">
+An example of a simple tessellated solid with
+G4TessellatedSolid.
+</a></dt><dt>4.2. <a href="#programlist_Geom.PhysVol_1">
+An example of simple replicated volumes with G4PVReplica.
+</a></dt><dt>4.3. <a href="#programlist_Geom.PhysVol_2">
+An example of Parameterised volumes.
+</a></dt><dt>4.4. <a href="#programlist_Geom.PhysVol_3">
+An example of Parameterised boxes of different sizes.
+</a></dt><dt>4.5. <a href="#programlist_Geom.PhysVol_4">
+An example of a box division along different axes, with or without offset.
+</a></dt><dt>4.6. <a href="#programlist_Geom.PhysVol_5">
+An example of division of a polycone.
+</a></dt><dt>4.7. <a href="#programlist_Geom.Assem_1">
+An example of usage of the G4AssemblyVolume class.
+</a></dt><dt>4.8. <a href="#programlist_Geom.Reflec_1">
+An example of usage of the 
+G4ReflectionFactory class.</a></dt><dt>4.9. <a href="#programlist_Geom.Dyna_1">
+Opening and closing a portion of the geometry without 
+notifying the G4RunManager.
+</a></dt><dt>4.10. <a href="#programlist_Mate_1">
+A program which illustrates the different ways to define materials.
+</a></dt><dt>4.11. <a href="#programlist_Mate_2">
+A program which shows how to define materials from the internal database.
+</a></dt><dt>4.12. <a href="#programlist_EMField_1">
+How to define a uniform electric field for the whole of a detector, 
+extracted from example in examples/extended/field/field02 .
+</a></dt><dt>4.13. <a href="#programlist_EMField_2">
+How to set accuracy parameters for the 'global' field of the setup.
+</a></dt><dt>4.14. <a href="#programlist_Hits_1">
+An example of a concrete hit class.
+</a></dt><dt>4.15. <a href="#programlist_Hits_2">
+An example of defining primitive sensitivity classes taken from
+ExN07DetectorConstruction.
+</a></dt><dt>4.16. <a href="#programlist_Hits_3">
+An example of accessing to G4THitsMap objects.
+</a></dt><dt>4.17. <a href="#id509332">
+An example header file of a concrete user parallel world class.
+</a></dt><dt>4.18. <a href="#id509408">
+An example source code of a concrete user parallel world class.
+</a></dt><dt>4.19. <a href="#id509466">
+Typical implementation in the main() to define a parallel
+world.
+</a></dt><dt>4.20. <a href="#id509581">
+Define G4ParallelWorldScoringProcess.
+</a></dt><dt>4.21. <a href="#id510221">
+A user main() to use the command-based scoring
+</a></dt><dt>4.22. <a href="#id510346">
+UI commands to define a scoring mesh and scorers
+</a></dt><dt>5.1. <a href="#programlist_PhysProc_1">
+Registration of standard electromagnetic processes
+</a></dt><dt>5.2. <a href="#programlist_PhysProc_2">
+Registration of electromagnetic low energy electron/photon processes.
+</a></dt><dt>5.3. <a href="#programlist_PhysProc_3">
+An example of a proton inelastic interaction model class.
+</a></dt><dt>5.4. <a href="#programlist_PhysProc_4">
+Registration of the decay process to particles in the
+ConstructPhysics method of PhysicsList.
+</a></dt><dt>5.5. <a href="#programlist_PhysProc_5">
+Optical properties added to a G4MaterialPropertiesTable 
+and linked to a G4Material
+</a></dt><dt>5.6. <a href="#programlist_PhysProc_6">
+Registration of the Cerenkov process in PhysicsList.
+</a></dt><dt>5.7. <a href="#programlist_PhysProc_7">
+Specification of scintillation properties in
+DetectorConstruction.
+</a></dt><dt>5.8. <a href="#programlist_PhysProc_8">
+Implementation of the scintillation process in
+PhysicsList.
+</a></dt><dt>5.9. <a href="#programlist_PhysProc_9">
+Specification of WLS properties in DetectorConstruction.
+</a></dt><dt>5.10. <a href="#programlist_PhysProc_10">
+Dielectric-dielectric surface properties 
+defined via the G4OpticalSurface.
+</a></dt><dt>5.11. <a href="#programlist_PhysProc_11">
+Dielectric metal surface properties defined via the
+G4OpticalSurface.
+</a></dt><dt>5.12. <a href="#programlist_CutReg_1">
+Setting production cuts to a region
+</a></dt><dt>6.1. <a href="#programlist_ManUAct_1">
+G4VUserDetectorConstruction
+</a></dt><dt>6.2. <a href="#programlist_ManUAct_2">
+G4VUserPhysicsList
+</a></dt><dt>6.3. <a href="#programlist_ManUAct_3">
+G4VUserPrimaryGeneratorAction
+</a></dt><dt>6.4. <a href="#programlist_OptUAct_1">
+G4UserRunAction
+</a></dt><dt>6.5. <a href="#programlist_OptUAct_2">
+G4UserEventAction
+</a></dt><dt>6.6. <a href="#programlist_OptUAct_3">
+G4UserStackingAction
+</a></dt><dt>6.7. <a href="#programlist_OptUAct_4">
+G4UserTrackingAction
+</a></dt><dt>6.8. <a href="#programlist_OptUAct_5">
+G4UserSteppingAction
+</a></dt><dt>6.9. <a href="#programlist_UInfoCls_1">
+Copying G4VUserTrackInformation from mother to daughter tracks
+</a></dt><dt>6.10. <a href="#programlist_UInfoCls_2">
+A sample region information class
+</a></dt><dt>6.11. <a href="#programlist_UInfoCls_3">
+Sample use of a region information class
+</a></dt><dt>7.1. <a href="#programlist_UIDefNew_1">
+An example of G4ParticleGunMessenger.hh.
+</a></dt><dt>7.2. <a href="#programlist_UIDefNew_2">
+An example of G4ParticleGunMessenger.cc.
+</a></dt><dt>8.1. <a href="#programlist_VisAddExe_1">
+Part of a sample .cshrc setup file for the Linux platform.
+</a></dt><dt>8.2. <a href="#programlist_VisAddExe_2">
+The form of the main() function.
+</a></dt><dt>8.3. <a href="#programlist_VisAddExe_3">
+An alternative style for the main() function.
+</a></dt><dt>8.4. <a href="#programlist_VisAddExe_4">
+An example of the main() function available for 
+Geant4 Visualization.
+</a></dt><dt>8.5. <a href="#programlist_VisPlylMrkTxt_1">
+Defining an x-axis with length 5 cm and with colour red.
+</a></dt><dt>8.6. <a href="#programlist_VisPlylMrkTxt_2">
+The access functions inherited from the base class
+G4VMarker.
+</a></dt><dt>8.7. <a href="#programlist_VisPlylMrkTxt_3">
+Sample C++ source code to define a very small red circle.
+</a></dt><dt>8.8. <a href="#programlist_VisPlylMrkTxt_4">
+An example of defining text.
+</a></dt><dt>1. <a href="#programlist_MkflEnvVar_1">
+An example of a customised GNUmakefile for an application or
+example using an external module not bound to Geant4.
+</a></dt><dt>2. <a href="#programlist_MkflEnvVar_2">
+An example of a customised GNUmakefile for an
+application or example using external modules bound to Geant4.
+</a></dt></dl></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></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#sect.scope">
+Scope of this manual
+</a></span></dt><dt><span class="sect1"><a href="#sect.howto">
+How to use this manual
+</a></span></dt></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.scope"></a>
+Scope of this manual
+</h2></div></div><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 class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.howto"></a>
+How to use this manual
+</h2></div></div><div></div></div><p>
+A very basic introduction to Geant4 is presented in 
+<span class="bold"><b>Chapter 2, "Getting Started with Geant4 - 
+Running a Simple Example"</b></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"><b>Chapter 3, "Toolkit Fundamentals"</b></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"><b>Chapter 4, "Detector Definition and Response"</b></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"><b>Chapter 5, "Tracking and Physics"</b></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"><b>Chapter 6, "User Actions"</b></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"><b>Chapter 7, "Communication and Control"</b></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"><b>Chapter 8, "Visualization"</b></span>.
+</p><p>
+<span class="bold"><b>Chapter 9, "Examples"</b></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><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></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#sect.HowToDefMain">
+How to Define the main() Program
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.HowToDefMain.SimpleMainMethod">
+A Sample main() Method
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToDefMain.G4RunManager">
+G4RunManager
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToDefMain.UserInitAction">
+User Initialization and Action Classes
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToDefMain.G4UImanagerUICommand">
+G4UImanager and UI CommandSubmission
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToDefMain.G4coutG4cerr">
+G4cout and G4cerr
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.HowToDefDetectorGeom">
+How to Define a Detector Geometry
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.HowToDefDetectorGeom.BasicConcepts">
+Basic Concepts
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToDefDetectorGeom.CreateSimpleVol">
+Create a Simple Volume
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToDefDetectorGeom.ChooseSolid">Choose a Solid
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToDefDetectorGeom.CreateLogicalVol">
+Create a Logical Volume
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToDefDetectorGeom.PlaceVolume">
+Place a Volume
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToDefDetectorGeom.CreatePhysicalVol">Create a Physical Volume</a></span></dt><dt><span class="sect2"><a href="#sect.HowToDefDetectorGeom.CoordinateRotations">
+Coordinate Systems and Rotations
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.HowToSpecMate">
+How to Specify Materials in the Detector
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.HowToSpecMate.GeneCons">
+General Considerations
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToSpecMate.DefSimpleMate">
+Define a Simple Material
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToSpecMate.DefineMolecule">
+Define a Molecule
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToSpecMate.DefMixtureByFractionalMass">
+Define a Mixture by Fractional Mass
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToSpecMate.DefMateFromDatabase">
+Define a Material from the Geant4 Material Database
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToSpecMate.PrintMateInfo">
+Print Material Information
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.HowToSpecParti">
+How to Specify Particles
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.HowToSpecParti.PartiDef">
+Particle Definition
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToSpecParti.RangeCuts">
+Range Cuts
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.HowToSpecPhysProc">
+How to Specify Physics Processes
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.HowToSpecPhysProc.PhysProc">
+Physics Processes
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToSpecPhysProc.ManagingProc">
+Managing Processes
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToSpecPhysProc.SpecPhysProc">
+Specifying Physics Processes
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.HowToGenEvent">
+How to Generate a Primary Event
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.HowToGenEvent.GenPrimary">
+Generating Primary Events
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToGenEvent.G4VPrimGen">
+G4VPrimaryGenerator
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.HowToMakeExec">
+How to Make an Executable Program
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.HowToMakeExec.UNIX">
+Building ExampleN01 in a UNIX Environment
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToMakeExec.Windows">
+Building ExampleN01 in a Windows Environment
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.HowToSetUpInter">
+How to Set Up an Interactive Session
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.HowToSetUpInter.Intro">
+Introduction
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToSetUpInter.DescInter">
+A Short Description of Available Interface Classes
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToSetUpInter.BuildLib">
+Building the Interface Libraries
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToSetUpInter.HowToUseInter">
+How to Use the Interface
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.HowToExec">
+How to Execute a Program
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.HowToExec.Intro">
+Introduction
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToExec.HardCodedBatch">
+'Hard-coded' Batch Mode
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToExec.BatchMacro">
+Batch Mode with Macro File
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToExec.InteractiveMode">
+Interactive Mode Driven by Command Lines
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToExec.GeneralCase">
+General Case
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.HowToVis">
+How to Visualize the Detector and Events
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.HowToVis.Intro">
+Introduction
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToVis.VisDrivers">
+Visualization Drivers
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToVis.IncorpVisDrivers">
+How to Incorporate Visualization Drivers into an Executable
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToVis.WritingMain">
+Writing the main() Method to Include Visualization
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToVis.SampleVis">
+Sample Visualization Sessions
+</a></span></dt><dt><span class="sect2"><a href="#sect.HowToVis.MoreInfo">
+For More Information on Geant4 Visualization
+</a></span></dt></dl></dd></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.HowToDefMain"></a>
+How to Define the main() Program
+</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToDefMain.SimpleMainMethod"></a>
+A Sample <tt class="literal">main()</tt> Method
+</h3></div></div><div></div></div><p>
+The contents of <tt class="literal">main()</tt> 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 <tt class="literal">main()</tt>
+method, but a sample is provided here as a guide to the beginning
+user. <a href="#programlist_HowToDefMain_1" title="Example 2.1. 
+Simplest example of main() 
+">Example 2.1, &#8220;
+Simplest example of main() 
+&#8221;</a> is the  simplest example of
+<tt class="literal">main()</tt> 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 <tt class="literal">main()</tt> 
+</b></p><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><p>
+The <tt class="literal">main()</tt> 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>
+<span class="emphasis"><em>G4RunManager</em></span>
+</h3></div></div><div></div></div><p>
+The first thing <tt class="literal">main()</tt> 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 <tt class="literal">main()</tt>. 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 <tt class="literal">main()</tt> 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 <tt class="literal">main()</tt>
+
+</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 <tt class="literal">generatePrimaries()</tt> which will
+be invoked at the beginning of each event. Details will be given in
+<a href="#sect.HowToGenEvent" title="
+How to Generate a Primary Event
+">the section called &#8220;
+How to Generate a Primary Event
+&#8221;</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 <tt class="literal">main()</tt>
+
+</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
+<tt class="literal">beamOn()</tt> method may be invoked any number of times within
+<tt class="literal">main()</tt> 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="#sect.Run.Custom" title="
+Customizing the Run Manager
+">the section called &#8220;
+Customizing the Run Manager
+&#8221;</a>.
+More information on <span class="emphasis"><em>G4RunManager</em></span> in general is found in 
+<a href="#sect.Run" title="
+Run
+">the section called &#8220;
+Run
+&#8221;</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 <tt class="literal">main()</tt> 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 <tt class="literal">applyCommand()</tt> 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="#sect.BuiltinCom" title="
+Built-in Commands
+">the section called &#8220;
+Built-in Commands
+&#8221;</a>.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToDefMain.UserInitAction"></a>
+User Initialization and Action Classes
+</h3></div></div><div></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.HowToDefMain.UserInitAction.MandatoryUserClasses"></a>
+Mandatory User Classes
+</h4></div></div><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 <tt class="literal">Initialize()</tt> and <tt class="literal">BeamOn()</tt>
+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="#sect.HowToDefDetectorGeom" title="
+How to Define a Detector Geometry
+">the section called &#8220;
+How to Define a Detector Geometry
+&#8221;</a> and 
+<a href="#sect.HowToSpecMate" title="
+How to Specify Materials in the Detector
+">the section called &#8220;
+How to Specify Materials in the Detector
+&#8221;</a>.
+Physics definition will be discussed in Sections 
+<a href="#sect.HowToSpecParti" title="
+How to Specify Particles
+">the section called &#8220;
+How to Specify Particles
+&#8221;</a> 
+and 
+<a href="#sect.HowToSpecPhysProc" title="
+How to Specify Physics Processes
+">the section called &#8220;
+How to Specify Physics Processes
+&#8221;</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="#sect.HowToMakeExec" title="
+How to Make an Executable Program
+">the section called &#8220;
+How to Make an Executable Program
+&#8221;</a>.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.HowToDefMain.UserInitAction.OptionalUserAction"></a>
+Optional User Action Classes
+</h4></div></div><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="#chap.UserActions" title="Chapter 6. 
+User Actions
+">Chapter 6, <i>
+User Actions
+</i></a>.
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToDefMain.G4UImanagerUICommand"></a>
+<span class="emphasis"><em>G4UImanager</em></span> and UI CommandSubmission
+</h3></div></div><div></div></div><p>
+Geant4 provides a category named <span class="bold"><b>intercoms</b></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"><b>set</b></span> methods
+of class objects of which you do not know the pointer. 
+In <a href="#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, &#8220;
+An example of main() using interactive 
+terminal and visualization. Code modified from the previous
+example are shown in  blue.
+&#8221;</a>, 
+the verbosities of various Geant4 manager classes
+are set. Detailed mechanism description and usage of
+<span class="bold"><b>intercoms</b></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 <tt class="literal">main()</tt> using interactive 
+terminal and visualization. Code modified from the previous
+example are shown in  <span class="color_blue">blue</span>.
+</b></p><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><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToDefMain.G4coutG4cerr"></a>
+<span class="emphasis"><em>G4cout</em></span> and <span class="emphasis"><em>G4cerr</em></span>
+</h3></div></div><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"><b>iostream</b></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="#sect.UIDefNew.HowCont" title="
+How to control the output of G4cout/G4cerr
+">the section called &#8220;
+How to control the output of G4cout/G4cerr
+&#8221;</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 class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.HowToDefDetectorGeom"></a>
+How to Define a Detector Geometry
+</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToDefDetectorGeom.BasicConcepts"></a>
+Basic Concepts
+</h3></div></div><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"><b>World</b></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>
+Create a Simple Volume
+</h3></div></div><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>Choose a Solid
+</h3></div></div><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
+<tt class="literal">ExN01DetectorConstruction.cc</tt>, 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><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><p>
+
+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><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><p>
+
+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>
+Create a Logical Volume
+</h3></div></div><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>
+Place a Volume
+</h3></div></div><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>Create a Physical Volume</h3></div></div><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><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><p>
+This places the logical volume <tt class="literal">tracker_log</tt> at the
+origin of the mother volume <tt class="literal">experimentalHall_log</tt>, 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><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><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToDefDetectorGeom.CoordinateRotations"></a>
+Coordinate Systems and Rotations
+</h3></div></div><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="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.HowToSpecMate"></a>
+How to Specify Materials in the Detector
+</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToSpecMate.GeneCons"></a>
+General Considerations
+</h3></div></div><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>
+Define a Simple Material
+</h3></div></div><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><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><p>
+</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>
+Define a Molecule
+</h3></div></div><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><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><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToSpecMate.DefMixtureByFractionalMass"></a>
+Define a Mixture by Fractional Mass
+</h3></div></div><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><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><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToSpecMate.DefMateFromDatabase"></a>
+Define a Material from the Geant4 Material Database
+</h3></div></div><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><pre class="programlisting">
+  G4NistManager* man = G4NistManager::Instance();
+
+  G4Material* H2O  = man-&gt;FindOrBuildMaterial("G4_WATER");
+  G4Material* Air  = man-&gt;FindOrBuildMaterial("G4_AIR");
+</pre></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToSpecMate.PrintMateInfo"></a>
+Print Material Information
+</h3></div></div><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><pre class="programlisting">
+  G4cout &lt;&lt; H2O;                                \\ print a given material
+  G4cout &lt;&lt; *(G4Material::GetMaterialTable());  \\ print the list of materials
+</pre></div><p>
+
+In <tt class="literal">examples/novice/N03/N03DetectorConstruction.cc</tt>, you
+will find examples of all possible ways to build a material.
+</p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.HowToSpecParti"></a>
+How to Specify Particles
+</h2></div></div><div></div></div><p>
+<tt class="literal">G4VuserPhysicsList</tt> is one of the mandatory user base
+classes described in 
+<a href="#sect.HowToDefMain" title="
+How to Define the main() Program
+">the section called &#8220;
+How to Define the main() Program
+&#8221;</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
+<tt class="literal">G4VuserPhysicsList</tt> 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
+<tt class="literal">ConstructParticle()</tt> and <tt class="literal">SetCuts()</tt>
+methods. 
+For information on <tt class="literal">ConstructProcess()</tt> methods, please see
+<a href="#sect.HowToSpecPhysProc" title="
+How to Specify Physics Processes
+">the section called &#8220;
+How to Specify Physics Processes
+&#8221;</a>.
+
+</p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToSpecParti.PartiDef"></a>
+Particle Definition
+</h3></div></div><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 <tt class="literal">G4ParticleDefinition</tt>. 
+(Exception: G4Ions represents all heavy nuclei. Please see
+<a href="#sect.Parti" title="
+Particles
+">the section called &#8220;
+Particles
+&#8221;</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
+<tt class="literal">geant4/source/particles</tt>. 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>
+The <tt class="literal">G4ParticleDefinition</tt> Class
+</h4></div></div><div></div></div><p>
+<tt class="literal">G4ParticleDefinition</tt> 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 directly.
+<tt class="literal">G4ParticlePropertyTable</tt> is used to retrieve (load) 
+particle property of <tt class="literal">G4ParticleDefinition</tt> 
+into (from) <tt class="literal">G4ParticlePropertyData</tt>.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.HowToSpecParti.PartiDef.HowToAccessParti"></a>
+How to Access a Particle
+</h4></div></div><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="#sect.Parti" title="
+Particles
+">the section called &#8220;
+Particles
+&#8221;</a> for details.
+</p><p>
+For example, the class <tt class="literal">G4Electron</tt> represents the
+electron and the member <tt class="literal">G4Electron::theInstance</tt> 
+points its only object. 
+The pointer to this object is available
+through the static methods
+<tt class="literal">G4Electron::ElectronDefinition()</tt>.
+<tt class="literal">G4Electron::Definition()</tt>.
+</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>
+The unique object for each particle class is created when its static 
+method to get the pointer is called iat the first time.
+Because particles are dynamic objects and should be instantiated before 
+initialization of physics processes, 
+you must explicitly invoke static methods of all particle classes 
+required by your program at the initialization step.
+(NOTE: The particle object was static and created automatically before 8.0 release)
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.HowToSpecParti.PartiDef.DictOfParti"></a>Dictionary of Particles
+</h4></div></div><div></div></div><p>
+The <tt class="literal">G4ParticleTable</tt> 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>
+<tt class="literal">G4ParticleTable</tt> is defined as a singleton object,
+and the static method <tt class="literal">G4ParticleTable::GetParticleTable()</tt>
+provides its pointer.
+</p><p>
+As for heavy ions (including hyper-nuclei), objects are created
+dynamically by requests from users and processes.  
+The <tt class="literal">G4ParticleTable</tt> 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>
+Constructing Particles
+</h4></div></div><div></div></div><p>
+<tt class="literal">ConstructParticle()</tt> 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 <tt class="literal">ConstructParticle()</tt> 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><pre class="programlisting">
+ void ExN01PhysicsList::ConstructParticle()
+ {
+   G4Proton::ProtonDefinition();
+   G4Geantino::GeantinoDefinition();
+ }
+</pre></div><p>
+</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>
+  <tt class="literal">G4BosonConstructor</tt>
+  </p></li><li><p>
+  <tt class="literal">G4LeptonConstructor</tt>
+  </p></li><li><p>
+  <tt class="literal">G4MesonConstructor</tt>
+  </p></li><li><p>
+  <tt class="literal">G4BarionConstructor</tt>
+  </p></li><li><p>
+  <tt class="literal">G4IonConstructor</tt>
+  </p></li><li><p>
+  <tt class="literal">G4ShortlivedConstructor</tt>.
+  </p></li></ul></div><p>
+</p><p>
+An example of this is shown in <tt class="literal">ExN05PhysicsList</tt>, 
+listed below.
+
+</p><div class="example"><a name="programlist_HowToSpecParti_2"></a><p class="title"><b>Example 2.13. 
+Construct all leptons.
+</b></p><pre class="programlisting">
+void ExN05PhysicsList::ConstructLeptons()
+{
+  // Construct all leptons
+  G4LeptonConstructor pConstructor;
+  pConstructor.ConstructParticle();
+}
+</pre></div><p>
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToSpecParti.RangeCuts"></a>
+Range Cuts
+</h3></div></div><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 <tt class="literal">SetCuts()</tt> method of <tt class="literal">G4VUserPhysicsList</tt>.
+<a href="#sect.CutReg" title="
+Cuts per Region
+">the section called &#8220;
+Cuts per Region
+&#8221;</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>
+Setting the cuts
+</h4></div></div><div></div></div><p>
+Production threshold values should be defined in <tt class="literal">SetCuts()</tt>
+which is a pure virtual method of the <tt class="literal">G4VUserPhysicsList</tt>
+class. Construction of particles, materials, and processes should
+precede the invocation of <tt class="literal">SetCuts()</tt>. <tt class="literal">G4RunManager</tt>
+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 <tt class="literal">SetCutsWithDefault()</tt> method may be
+used. It is provided by the <tt class="literal">G4VuserPhysicsList</tt> base class,
+which has a <tt class="literal">defaultCutValue</tt> member as the default range
+cut-off value. <tt class="literal">SetCutsWithDefault()</tt> 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><pre class="programlisting">
+void ExN04PhysicsList::SetCuts()
+{
+  //   the G4VUserPhysicsList::SetCutsWithDefault() method sets 
+  //   the default cut value for all particle types 
+  SetCutsWithDefault();   
+}
+</pre></div><p>
+</p><p>
+The <tt class="literal">defaultCutValue</tt> 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><pre class="programlisting">
+ExN04PhysicsList::ExN04PhysicsList():  G4VUserPhysicsList()
+{
+  // default cut value  (1.0mm) 
+  defaultCutValue = 1.0*mm;
+}
+</pre></div><p>
+</p><p>
+The <tt class="literal">SetDefaultCutValue()</tt> method in
+<tt class="literal">G4VUserPhysicsList</tt> 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 <tt class="literal">SetCuts()</tt> is shown
+below:
+
+</p><div class="example"><a name="programlist_HowToSpecParti_5"></a><p class="title"><b>Example 2.16. 
+Example implementation of the <tt class="literal">SetCuts()</tt> method.
+</b></p><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><p>
+</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="#sect.CutReg" title="
+Cuts per Region
+">the section called &#8220;
+Cuts per Region
+&#8221;</a>.
+</p></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.HowToSpecPhysProc"></a>
+How to Specify Physics Processes
+</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToSpecPhysProc.PhysProc"></a>
+Physics Processes
+</h3></div></div><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>
+  <tt class="literal">AtRestDoIt</tt>,
+  </p></li><li><p>
+  <tt class="literal">AlongStepDoIt</tt>, and
+  </p></li><li><p>
+  <tt class="literal">PostStepDoIt</tt>
+  </p></li></ul></div><p>
+
+and the corresponding methods
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+  <tt class="literal">AtRestGetPhysicalInteractionLength</tt>,
+  </p></li><li><p>
+  <tt class="literal">AlongStepGetPhysicalInteractionLength</tt>, and
+  </p></li><li><p>
+  <tt class="literal">PostStepGetPhysicalInteractionLength</tt>
+  </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="#sect.PhysProc" title="
+Physics Processes
+">the section called &#8220;
+Physics Processes
+&#8221;</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 <tt class="literal">AtRestDoIt</tt></dd><dt><span class="term"><span class="emphasis"><em>G4VContinuousProcess</em></span></span></dt><dd>
+    Processes with only <tt class="literal">AlongStepDoIt</tt></dd><dt><span class="term"><span class="emphasis"><em>G4VDiscreteProcess</em></span></span></dt><dd>
+    processes with only <tt class="literal">PostStepDoIt</tt></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>
+Managing Processes
+</h3></div></div><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 <tt class="literal">DoIt</tt>
+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 <tt class="literal">AddProcess()</tt> and
+<tt class="literal">SetProcessOrdering()</tt> methods. For registration of simple
+processes, the <tt class="literal">AddAtRestProcess()</tt>,
+<tt class="literal">AddContinuousProcess()</tt> and <tt class="literal">AddDiscreteProcess()</tt>
+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 <tt class="literal">ActivateProcess()</tt> and
+<tt class="literal">InActivateProcess()</tt> 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 <tt class="literal">ConstructParticle()</tt> method.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToSpecPhysProc.SpecPhysProc"></a>
+Specifying Physics Processes
+</h3></div></div><div></div></div><p>
+<span class="emphasis"><em>G4VUserPhysicsList</em></span> is the base class for a "mandatory user
+class" (see <a href="#sect.HowToDefMain" title="
+How to Define the main() Program
+">the section called &#8220;
+How to Define the main() Program
+&#8221;</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
+<tt class="literal">ConstructProcess()</tt>.
+</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
+<tt class="literal">ConstructProcess()</tt> 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><pre class="programlisting">
+  void ExN01PhysicsList::ConstructProcess()
+  {
+    // Define transportation process
+    AddTransportation();
+  }
+</pre></div><p>
+
+Here, the <tt class="literal">AddTransportation()</tt> 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 <tt class="literal">ConstructProcess()</tt> 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>::<tt class="literal">AddTransportation()</tt> 
+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="#sect.PhysProc" title="
+Physics Processes
+">the section called &#8220;
+Physics Processes
+&#8221;</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><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><p>
+</p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.HowToGenEvent"></a>
+How to Generate a Primary Event
+</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToGenEvent.GenPrimary"></a>
+Generating Primary Events
+</h3></div></div><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><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><p>
+
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.HowToGenEvent.GenPrimary.SelectGenerator"></a>
+Selection of the generator
+</h4></div></div><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="#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, &#8220;
+An example of a G4VUserPrimaryGeneratorAction 
+concrete class using G4ParticleGun. 
+For the usage of G4ParticleGun refer to the
+next subsection.
+&#8221;</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>
+Generation of an event
+</h4></div></div><div></div></div><p>
+<span class="emphasis"><em>G4VUserPrimaryGeneratorAction</em></span> has a pure virtual method
+named <tt class="literal">generatePrimaries()</tt>. 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
+<tt class="literal">generatePrimaryVertex()</tt> 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>
+G4VPrimaryGenerator
+</h3></div></div><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="#sect.EventGen" title="
+Event Generator Interface
+">the section called &#8220;
+Event Generator Interface
+&#8221;</a>.
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.HowToGenEvent.G4VPrimGen.G4PartGun"></a>
+G4ParticleGun
+</h4></div></div><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 <tt class="literal">generatePrimaries()</tt> method of your
+concrete <span class="emphasis"><em>G4VUserPrimaryGeneratorAction</em></span> class before invoking
+<tt class="literal">generatePrimaryVertex()</tt> of
+<span class="emphasis"><em>G4ParticleGun</em></span>. 
+Geant4 provides various random number generation methods with various
+distributions (see <a href="#sect.GlobClass" title="
+Global Usage Classes
+">the section called &#8220;
+Global Usage Classes
+&#8221;</a>).
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.HowToGenEvent.G4VPrimGen.PublicMethG4PartGun"></a>
+Public methods of <span class="emphasis"><em>G4ParticleGun</em></span>
+</h4></div></div><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 <tt class="literal">generatePrimaries()</tt> method
+in your concrete <span class="emphasis"><em>G4VUserPrimaryGeneratorAction</em></span> class.
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+  <tt class="literal">void SetParticleDefinition(G4ParticleDefinition*)</tt>
+  </p></li><li><p>
+  <tt class="literal">void SetParticleMomentum(G4ParticleMomentum)</tt>
+  </p></li><li><p>
+  <tt class="literal">void SetParticleMomentumDirection(G4ThreeVector)</tt>
+  </p></li><li><p>
+  <tt class="literal">void SetParticleEnergy(G4double)</tt>
+  </p></li><li><p>
+  <tt class="literal">void SetParticleTime(G4double)</tt>
+  </p></li><li><p>
+  <tt class="literal">void SetParticlePosition(G4ThreeVector)</tt>
+  </p></li><li><p>
+  <tt class="literal">void SetParticlePolarization(G4ThreeVector)</tt>
+  </p></li><li><p>
+  <tt class="literal">void SetNumberOfParticles(G4int)</tt>
+  </p></li></ul></div><p>
+</p></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.HowToMakeExec"></a>
+How to Make an Executable Program
+</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToMakeExec.UNIX"></a>
+Building ExampleN01 in a UNIX Environment
+</h3></div></div><div></div></div><p>
+The code for the user examples in Geant4 is placed in the directory
+<tt class="literal">$G4INSTALL/examples</tt>, where <tt class="literal">$G4INSTALL</tt> is the
+environment variable set to the place where the Geant4 distribution
+is installed (set by default to <tt class="literal">$HOME/geant4</tt>). 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>
+How GNUmake works in Geant4
+</h4></div></div><div></div></div><p>
+The GNUmake process in Geant4 is mainly controlled by the following
+GNUmake script files (<tt class="literal">*.gmk</tt> scripts are placed in 
+<tt class="literal">$G4INSTALL/config</tt>):
+
+</p><div class="variablelist"><dl><dt><span class="term"><tt class="literal">architecture.gmk</tt></span></dt><dd>
+    invoking and defining all the architecture specific settings
+    and paths which are stored in <tt class="literal">$G4INSTALL/config/sys</tt>.
+    </dd><dt><span class="term"><tt class="literal">common.gmk</tt></span></dt><dd>
+    defining all general GNUmake rules for building objects and libraries
+    </dd><dt><span class="term"><tt class="literal">globlib.gmk</tt></span></dt><dd>
+    defining all general GNUmake rules for building compound libraries
+    </dd><dt><span class="term"><tt class="literal">binmake.gmk</tt></span></dt><dd>
+    defining the general GNUmake rules for building executables
+    </dd><dt><span class="term"><tt class="literal">GNUmakefile</tt></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
+<tt class="literal">$G4INSTALL/lib/$G4SYSTEM</tt>, where <tt class="literal">$G4SYSTEM</tt>
+specifies the system architecture and compiler in use. Executable
+binaries are placed in <tt class="literal">$G4WORKDIR/bin/$G4SYSTEM</tt>, and
+temporary files (object-files and data products of the compilation
+process) in <tt class="literal">$G4WORKDIR/tmp/$G4SYSTEM</tt>. <tt class="literal">$G4WORKDIR</tt>
+(set by default to <tt class="literal">$G4INSTALL</tt>) 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>
+Building the executable</h4></div></div><div></div></div><p>
+The compilation process to build an executable, such as an example
+from <tt class="literal">$G4INSTALL/examples</tt>, is started by invoking the
+"gmake" command from the (sub)directory in which you are
+interested. To build, for instance, exampleN01 in your
+<tt class="literal">$G4WORKDIR</tt> area, you should copy the module
+<tt class="literal">$G4INSTALL/examples</tt> to your <tt class="literal">$G4WORKDIR</tt> 
+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 <tt class="literal">$G4WORKDIR/bin/$G4SYSTEM</tt>, the
+"exampleN01" executable, which you can invoke and run. You should
+actually add <tt class="literal">$G4WORKDIR/bin/$G4SYSTEM</tt> to
+<tt class="literal">$PATH</tt> 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>
+Building ExampleN01 in a Windows Environment
+</h3></div></div><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>
+Building the executable
+</h4></div></div><div></div></div><p>
+See paragraph <a href="#sect.HowToMakeExec.UNIX" title="
+Building ExampleN01 in a UNIX Environment
+">the section called &#8220;
+Building ExampleN01 in a UNIX Environment
+&#8221;</a>.
+</p></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.HowToSetUpInter"></a>
+How to Set Up an Interactive Session
+</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToSetUpInter.Intro"></a>
+Introduction
+</h3></div></div><div></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.HowToSetUpInter.Intro.RolesIntercoms"></a>
+Roles of the "intercoms" category
+</h4></div></div><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>
+User Interfaces to steer the simulation
+</h4></div></div><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 <tt class="literal">source/interfaces/basic</tt> 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
+<tt class="literal">environments/MOMO</tt> 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>
+A Short Description of Available Interface Classes
+</h3></div></div><div></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.HowToSetUpInter.DescInter.G4UI"></a>
+<span class="emphasis"><em>G4UIterminal</em></span> and <span class="emphasis"><em>G4UItcsh</em></span> classes
+</h4></div></div><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>
+<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></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>
+<span class="emphasis"><em>G4UIGAG</em></span> and <span class="emphasis"><em>G4UIGainServer</em></span> classes
+</h4></div></div><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>
+Building the Interface Libraries
+</h3></div></div><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"><b>G4UI_BUILD_XM_SESSION</b></span>, 
+<span class="bold"><b>G4UI_BUILD_XAW_SESSION</b></span> or
+<span class="bold"><b>G4UI_BUILD_WIN32_SESSION</b></span> must be set
+explicitly.
+</p><p>
+However, if the environment variable <span class="bold"><b>G4UI_NONE</b></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>
+How to Use the Interface
+</h3></div></div><div></div></div><p>
+To use a given interface
+(<tt class="literal">G4UIxxx</tt> where <tt class="literal">xxx = terminal,Xm, Xaw, Win32,
+GAG, GainServer</tt>) 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"><b>G4UI_USE_TERMINAL</b></span>, 
+   <span class="bold"><b>G4UI_USE_TCSH</b></span> and
+   <span class="bold"><b>G4UI_USE_GAG</b></span> ) are set. However, 
+   if he/she sets no environment variables, then the C-pre-processor variable
+   <span class="bold"><b>G4UI_USE_TERMINAL</b></span> is set by default, 
+   although there is no need to use it.
+   </p></li><li><p>
+   The environment variable <span class="bold"><b>G4UI_USE_XM</b></span>, 
+   <span class="bold"><b>G4UI_USE_XAW</b></span> or
+   <span class="bold"><b>G4UI_USE_WIN32</b></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"><b>G4UI_NONE</b></span> is
+   set, no externa ibraries are selected. Also, for your convenience, if any
+   <span class="bold"><b>G4UI_USE_XXX</b></span> environment variable is set, 
+   then the corresponding C-pre-processor flag is also set. However, if the
+   environment variable <span class="bold"><b>G4UI_NONE</b></span> is set, 
+   no C-pre-processor flags are set.
+   </p></li></ul></div><p>
+</p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.HowToExec"></a>
+How to Execute a Program
+</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToExec.Intro"></a>
+Introduction
+</h3></div></div><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="#sect.HowToSetUpInter" title="
+How to Set Up an Interactive Session
+">the section called &#8220;
+How to Set Up an Interactive Session
+&#8221;</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>
+'Hard-coded' Batch Mode
+</h3></div></div><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 <tt class="literal">main()</tt> routine 
+for an application which will run in batch mode.
+</b></p><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><p>
+</p><p>
+Even the number of events in the run is `frozen`. To change this
+number you must at least recompile <tt class="literal">main()</tt>.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToExec.BatchMacro"></a>
+Batch Mode with Macro File
+</h3></div></div><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 <tt class="literal">main()</tt> routine 
+for an application which will run in batch mode, but reading a file of commands.
+</b></p><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><p>
+</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 <tt class="literal">myProgram</tt> is the name of your executable and
+<tt class="literal">run1.mac</tt> 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><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><p>
+</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 <tt class="literal">verbose=0</tt> means silent. For instance
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+  <tt class="literal">/run/verbose</tt> is for the <tt class="literal">RunManager</tt>
+  </p></li><li><p>
+  <tt class="literal">/event/verbose</tt> is for the <tt class="literal">EventManager</tt>
+  </p></li><li><p>
+  <tt class="literal">/tracking/verbose</tt> is for the <tt class="literal">TrackingManager</tt>
+  </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>
+Interactive Mode Driven by Command Lines
+</h3></div></div><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 <tt class="literal">main()</tt> routine for 
+an application which will run interactively, waiting for commands from the
+keyboard.
+</b></p><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><p>
+</p><p>
+This example will be executed with the command:
+
+</p><div class="informalexample"><pre class="programlisting">
+  &gt; myProgram                  
+</pre></div><p>
+
+where <tt class="literal">myProgram</tt> 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 <tt class="literal">Idle</tt>, see 
+<a href="#sect.Run.StateMac" title="
+Geant4 as a state machine
+">the section called &#8220;
+Geant4 as a state machine
+&#8221;</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 <tt class="literal">main()</tt>, 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>
+General Case
+</h3></div></div><div></div></div><p>
+Most of the examples in the <tt class="literal">$G4INSTALL/examples/</tt> directory
+have the following <tt class="literal">main()</tt>, 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 <tt class="literal">main()</tt> routine from the examples directory.
+</b></p><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><p>
+</p><p>
+Notice that the visualization system is under the control of the
+precompiler variable <tt class="literal">G4VIS_USE</tt>. Notice also that, in
+interactive mode, few intializations have been put in the macro
+<tt class="literal">prerunN03.mac</tt> 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 <tt class="literal">prerunN03.mac</tt> macro.
+</b></p><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><p>
+</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="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.HowToVis"></a>
+How to Visualize the Detector and Events
+</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToVis.Intro"></a>
+Introduction
+</h3></div></div><div></div></div><p>
+This section briefly explains how to perform Geant4 Visualization.
+The description here is based on the sample program
+<tt class="literal">examples/novice/N03</tt>. More details are given in 
+<a href="#chap.Visualization" title="Chapter 8. 
+Visualization
+">Chapter 8, <i>
+Visualization
+</i></a> "Visualization". 
+Example macro files can be found in
+<tt class="literal">examples/novice/N03/visTutor/exN03VisX.mac</tt>.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToVis.VisDrivers"></a>
+Visualization Drivers
+</h3></div></div><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
+<tt class="literal">G4VIS_BUILD_OPENGLX_DRIVER</tt> to <tt class="literal">1</tt> in 
+building (installing) Genat4 libraries, and also set another environmental
+variable <tt class="literal">G4VIS_USE_OPENGLX</tt> to <tt class="literal">1</tt> 
+in compiling your Geant4 executable. You may also have to set an 
+environmental variable <tt class="literal">OGLHOME</tt> 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,
+<tt class="literal">G4VIS_BUILD_DRIVERNAME_DRIVER</tt> and
+<tt class="literal">G4VIS_USE_DRIVERNAME</tt>, to <tt class="literal">1</tt>. 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 <tt class="literal">main()</tt>
+function, anyway. See below.)
+</p><p>
+For all visualization drivers available in your Geant4
+executable, the C-pre-processor flags <tt class="literal">G4VIS_USE_DRIVERNAME</tt>
+are automatically set by <tt class="literal">config/G4VIS_USE.gmk</tt> in
+compilation. Similarly, for all visualization drivers incorporated
+into the Geant4 libraries, the C-pre-processor flags
+<tt class="literal">G4VIS_BUILD_DRIVERNAME_DRIVER</tt> are automatically set by
+<tt class="literal">config/G4VIS_BUILD.gmk</tt> in installation.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToVis.IncorpVisDrivers"></a>
+How to Incorporate Visualization Drivers into an Executable
+</h3></div></div><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 <tt class="literal">G4VisManager</tt> that implements
+the pure virtual function <tt class="literal">RegisterGraphicsSystems()</tt>. 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 <tt class="literal">G4VisExecutive</tt>, a provided class with
+included implementation. <tt class="literal">G4VisExecutive</tt> is sensitive to
+the <tt class="literal">G4VIS_USE...</tt> 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 <tt class="literal">G4VisExecutive.icc</tt>.
+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 <tt class="literal">G4VisExecutive</tt> but register an
+additional graphics system, <tt class="literal">XXX</tt> 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 <tt class="literal">main()</tt> 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>
+Writing the <tt class="literal">main()</tt> Method to Include Visualization
+</h3></div></div><div></div></div><p>
+Now we explain how to write a visualization manager and the
+<tt class="literal">main()</tt> 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 <tt class="literal">main()</tt> function. The typical
+<tt class="literal">main()</tt> 
+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 <tt class="literal">main()</tt> routine available for visualization.
+</b></p><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><p>
+</p><p>
+In the instantiation, initialization, and deletion of the
+Visualization Manager, the use of the macro <tt class="literal">G4VIS_USE</tt> is
+recommended. This is set unless the environment variable
+<tt class="literal">G4VIS_NONE</tt> 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 <tt class="literal">main()</tt> function is
+described in <tt class="literal">examples/novice/N03/exampleN03.cc</tt>.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToVis.SampleVis"></a>
+Sample Visualization Sessions
+</h3></div></div><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>
+Visualization of detector components
+</h4></div></div><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>
+Visualization of events
+</h4></div></div><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>
+For More Information on Geant4 Visualization
+</h3></div></div><div></div></div><p>
+See the <a href="#chap.Visualization" title="Chapter 8. 
+Visualization
+">Chapter 8, <i>
+Visualization
+</i></a> "Visualization" 
+part of this user guide.
+</p></div></div></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></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#sect.ClassCate">
+Class Categories and Domains
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.ClassCate.WhatIsClassCate">
+What is a class category?
+</a></span></dt><dt><span class="sect2"><a href="#sect.ClassCate.ClassCateInGeant4">
+Class categories in Geant4
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.GlobClass">
+Global Usage Classes
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.GlobClass.SignClass">
+Signature of Geant4 classes
+</a></span></dt><dt><span class="sect2"><a href="#sect.GlobClass.HEPRandom">
+The HEPRandom module in CLHEP
+</a></span></dt><dt><span class="sect2"><a href="#sect.HEPNumerics">
+The HEPNumerics module
+</a></span></dt><dt><span class="sect2"><a href="#sect.GeneManage">
+General management classes
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.SysUni">
+System of units
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.SysUni.BasicUni">
+Basic units
+</a></span></dt><dt><span class="sect2"><a href="#sect.SysUni.InputData">
+Input your data
+</a></span></dt><dt><span class="sect2"><a href="#sect.SysUni.OutputData">
+Output your data
+</a></span></dt><dt><span class="sect2"><a href="#sect.SysUni.IntroNewUnits">
+Introduce new units
+</a></span></dt><dt><span class="sect2"><a href="#sect.SysUni.PrintUnits">
+Print the list of units
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.Run">
+Run
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.Run.Basic">
+Basic concept of Run
+</a></span></dt><dt><span class="sect2"><a href="#sect.Run.StateMac">
+Geant4 as a state machine
+</a></span></dt><dt><span class="sect2"><a href="#sect.Run.UserHook">
+User's hook for state change
+</a></span></dt><dt><span class="sect2"><a href="#sect.Run.Custom">
+Customizing the Run Manager
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.Event">
+Event
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.Event.Represent">
+Representation of an event
+</a></span></dt><dt><span class="sect2"><a href="#sect.Event.Struct">
+Structure of an event
+</a></span></dt><dt><span class="sect2"><a href="#sect.Event.ManEvtMan">
+Mandates of G4EventManager
+</a></span></dt><dt><span class="sect2"><a href="#sect.Event.Stack">
+Stacking mechanism
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.EventGen">
+Event Generator Interface
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.EventGen.StructPriEvt">
+Structure of a primary event
+</a></span></dt><dt><span class="sect2"><a href="#sect.EventGen.InterPriGen">
+Interface to a primary generator
+</a></span></dt><dt><span class="sect2"><a href="#sect.EventGen.EvtOverlap">
+Event overlap using multiple generators
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.EvtBias">
+Event Biasing Techniques
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.EvtBias.ScorImpRoul">
+Scoring, Geometrical Importance Sampling and Weight Roulette
+</a></span></dt><dt><span class="sect2"><a href="#sect.EvtBias.PhysBias">
+Physics Based Biasing
+</a></span></dt></dl></dd></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.ClassCate"></a>
+Class Categories and Domains
+</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.ClassCate.WhatIsClassCate"></a>
+What is a class category?
+</h3></div></div><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="#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><p class="title"><b>Figure 3.1. 
+Geant4 class categories
+</b></p><div class="mediaobject" align="center"><img src="./AllResources/Fundamentals/classCategory.gif" align="middle" alt="Geant4 class categories"></div></div><p>
+</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>
+Class categories in Geant4
+</h3></div></div><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"><b>Run and Event</b></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"><b>Tracking and Track</b></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"><b>Geometry and Magnetic Field</b></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"><b>Particle Definition and Matter</b></span>
+            </p><p>These two categories manage the the definition of materials and
+                  particles.
+            </p><p>
+            </p></li><li><p><span class="bold"><b>Physics</b></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"><b>Hits and Digitization</b></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"><b>Visualization</b></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"><b>Interfaces</b></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 class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.GlobClass"></a>
+Global Usage Classes
+</h2></div></div><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,
+<tt class="literal">typedef</tt>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>
+Signature of Geant4 classes
+</h3></div></div><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 (<tt class="literal">int, float, double,</tt> 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>
+Basic types
+</h4></div></div><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 <tt class="literal">typedef</tt>s to
+respective types defined in the <span class="bold"><b>CLHEP</b></span>, 
+<span class="bold"><b>STL</b></span> or system
+libraries. Most definitions of these basic types come with the
+inclusion of a single header file, <tt class="literal">globals.hh</tt>. 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>
+Typedefs to CLHEP classes and their usage
+</h4></div></div><div></div></div><p>
+The following classes are <tt class="literal">typedef</tt>s to the corresponding
+classes of the <span class="bold"><b>CLHEP</b></span> 
+(<span class="bold"><b>Computing Library for High Energy Physics</b></span>) 
+distribution. For more detailed documentation please refer to the 
+<a href="http://cern.ch/clhep/manual/RefGuide/" target="_top">
+<span class="bold"><b>CLHEP reference guide</b></span>
+</a>
+and the 
+<a href="http://cern.ch/clhep/manual/UserGuide/" target="_top">
+<span class="bold"><b>CLHEP user manual</b></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>
+The <span class="emphasis"><em>HEPRandom</em></span> module in CLHEP
+</h3></div></div><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"><b>CLHEP</b></span>, 
+has been designed and developed starting from the <span class="emphasis"><em>Random</em></span> 
+class of MC++, the original <span class="bold"><b>CLHEP</b></span>'s 
+<span class="emphasis"><em>HepRandom</em></span> module and the 
+<span class="bold"><b>Rogue Wave</b></span> approach in the 
+<span class="bold"><b>Math.h++</b></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"><b>CLHEP reference guide</b></span>
+</a>
+and the 
+<a href="http://cern.ch/clhep/manual/UserGuide/" target="_top">
+<span class="bold"><b>CLHEP user manual</b></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 <tt class="literal">shoot()</tt>
+    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
+    <tt class="literal">shoot(*HepRandomEngine)</tt> 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 <tt class="literal">flat()</tt> 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 <tt class="literal">fire()</tt> 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
+    <tt class="literal">flat()</tt> 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>
+<span class="emphasis"><em>HEPRandom</em></span> engines
+</h4></div></div><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
+<tt class="literal">getSeed()</tt> and <tt class="literal">getSeeds()</tt> 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 <tt class="literal">drand48()</tt> and
+    <tt class="literal">srand48()</tt> system functions from C standard library to
+    implement the <tt class="literal">flat()</tt> basic distribution and for setting
+    seeds respectively. <span class="emphasis"><em>DRand48Engine</em></span> uses the 
+    <tt class="literal">seed48()</tt>
+    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 <tt class="literal">rand()</tt> and
+    <tt class="literal">srand()</tt> system functions from the C standard library to
+    implement the <tt class="literal">flat()</tt> basic distribution and for setting
+    seeds respectively. Please note that it's well known that the
+    spectral properties of <tt class="literal">rand()</tt> 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"><b>MATHLIB HEP</b></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 <tt class="literal">getLuxury()</tt> method to get the
+    engine luxury level.
+    </p><p>
+    </p><p>
+    The <tt class="literal">SetSeed()</tt> and <tt class="literal">SetSeeds()</tt> 
+    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"><b>MATHLIB HEP</b></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 <tt class="literal">getSeed()</tt> method returns the
+    current index of seed table. The <tt class="literal">setSeeds()</tt> method will
+    set seeds in the local <tt class="literal">SeedTable</tt> at a given position index
+    (if the index number specified exceeds the table's size,
+    <tt class="literal">[index%size]</tt> 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 <tt class="literal">setSeed()</tt> 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
+<tt class="literal">saveStatus()</tt>, <tt class="literal">restoreStatus()</tt> and
+<tt class="literal">showStatus()</tt>, 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
+<tt class="literal">getSeeds()</tt>/<tt class="literal">setSeeds()</tt>
+(<tt class="literal">getTheSeeds()</tt>/<tt class="literal">setTheSeeds()</tt> 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>
+The static interface in the <span class="emphasis"><em>HepRandom</em></span> class
+</h4></div></div><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, <tt class="literal">theGenerator</tt>, and a set of static methods to
+manipulate it. By means of <tt class="literal">theGenerator</tt>, the user can
+change the underlying engine algorithm, get and set the seeds, and
+use any kind of defined random distribution. The static methods
+<tt class="literal">setTheSeed()</tt> and <tt class="literal">getTheSeed()</tt> 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>
+    <tt class="literal">void setTheSeeds(const G4long* seeds, G4int)</tt>
+  </p></li><li><p>
+    <tt class="literal">const G4long* getTheSeeds()</tt>
+    </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>
+    <tt class="literal">HepRandomEngine* getTheEngine()</tt>
+    </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>
+<span class="emphasis"><em>HEPRandom</em></span> distributions
+</h4></div></div><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>
+The <span class="emphasis"><em>HEPNumerics</em></span> module
+</h3></div></div><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>
+General management classes
+</h3></div></div><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 <tt class="literal">new</tt> and
+    <tt class="literal">delete</tt> operators via <tt class="literal">MallocSingle()</tt> and
+    <tt class="literal">FreeSingle()</tt> methods of <span class="emphasis"><em>G4Allocator</em></span>.
+    </p><p>
+    </p><p>
+    <span class="bold"><b>Note</b></span>: classes which are handled by
+    <tt class="literal">G4Allocator</tt> 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 <tt class="literal">&lt;sys/times.h&gt;</tt> and <tt class="literal">&lt;unistd.h&gt;</tt> -
+    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="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.SysUni"></a>
+System of units
+</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.SysUni.BasicUni"></a>
+Basic units
+</h3></div></div><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 <tt class="literal">HepSystemOfUnits</tt>:
+
+</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
+<tt class="literal">source/global/management/include/SystemOfUnits.h</tt> 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>
+Input your data
+</h3></div></div><div></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.SysUni.InputData.AvoidHardCoded"></a>
+Avoid 'hard coded' data
+</h4></div></div><div></div></div><p>
+You <span class="bold"><b>must</b></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>
+Interactive commands
+</h4></div></div><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>
+Output your data
+</h3></div></div><div></div></div><p>
+You can output your data with the units you wish. To do so, it is
+sufficient to <span class="bold"><b>divide</b></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, <tt class="literal">G4cout &lt;&lt; KineticEnergy</tt> 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>
+<tt class="literal">StepSize</tt> 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>
+Introduce new units
+</h3></div></div><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 <tt class="literal">SystemOfUnits.h</tt>
+
+    </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
+    <tt class="literal">source/global/management</tt>.
+  </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>
+Print the list of units
+</h3></div></div><div></div></div><p>
+You can print the list of units with the static function:
+<tt class="literal">G4UnitDefinition::PrintUnitsTable();</tt>
+</p><p>
+or with the interactive command: <tt class="literal">/units/list</tt>
+</p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.Run"></a>
+Run
+</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Run.Basic"></a>
+Basic concept of <span class="emphasis"><em>Run</em></span>
+</h3></div></div><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
+<tt class="literal">BeamOn()</tt> 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>
+Representation of a run
+</h4></div></div><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="#sect.Hits" title="
+Hits
+">the section called &#8220;
+Hits
+&#8221;</a> and <a href="#sect.Digi" title="
+Digitization
+">the section called &#8220;
+Digitization
+&#8221;</a>.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Run.Basic.Manage"></a>
+Manage the run procedures
+</h4></div></div><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
+<tt class="literal">getRunManager()</tt> static method.
+</p><p>
+As already mentioned in <a href="#sect.HowToDefMain" title="
+How to Define the main() Program
+">the section called &#8220;
+How to Define the main() Program
+&#8221;</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
+<tt class="literal">SetUserInitialization()</tt> and <tt class="literal">SetUserAction()</tt>
+methods. All user classes defined by the Geant4 kernel will be
+summarized in <a href="#chap.UserActions" title="Chapter 6. 
+User Actions
+">Chapter 6, <i>
+User Actions
+</i></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"><tt class="literal">Initialize()</tt></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"><tt class="literal">BeamOn(G4int numberOfEvent)</tt></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"><tt class="literal">GetRunManager()</tt></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"><tt class="literal">GetCurrentEvent()</tt></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
+      <tt class="literal">null</tt>. 
+      Please note that the return value of this method is 
+      <tt class="literal">const G4Event *</tt> and thus you cannot modify the
+      contents  of the object.
+    </dd><dt><span class="term"><tt class="literal">SetNumberOfEventsToBeStored(G4int nPrevious)</tt></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 <tt class="literal">nPrevious
+      G4Event</tt> objects. This method must be invoked before proceeding
+      to <tt class="literal">BeamOn()</tt>.
+    </dd><dt><span class="term"><tt class="literal">GetPreviousEvent(G4int i_thPrevious)</tt></span></dt><dd>
+      The pointer to the <tt class="literal">i_thPrevious G4Event</tt> object can be
+      obtained through this method. A pointer to a <tt class="literal">const</tt> object
+      is returned. It is inevitable that <tt class="literal">i_thPrevious</tt> events
+      must have already been simulated in the same run for getting the
+      <tt class="literal">i_thPrevious</tt> event. Otherwise, this method returns
+      <tt class="literal">null</tt>.
+    </dd><dt><span class="term"><tt class="literal">AbortRun()</tt></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>
+<span class="emphasis"><em>G4UserRunAction</em></span>
+</h4></div></div><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"><tt class="literal">BeginOfRunAction()</tt></span></dt><dd>
+      This method is invoked at the beginning of the
+      <tt class="literal">BeamOn()</tt> 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"><tt class="literal">EndOfRunAction()</tt></span></dt><dd>
+      This method is invoked at the very end of the <tt class="literal">BeamOn()</tt>
+      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>
+Geant4 as a state machine
+</h3></div></div><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
+      <tt class="literal">Initialize()</tt> 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 <tt class="literal">BeamOn()</tt> 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. <tt class="literal">GetCurrentEvent()</tt> and
+      <tt class="literal">GetPreviousEvent()</tt> 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>
+User's hook for state change
+</h3></div></div><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><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 class="example"><a name="programlist_Run_2"></a><p class="title"><b>Example 3.2. 
+Source file of UserHookForAbortState
+</b></p><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><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Run.Custom"></a>
+Customizing the Run Manager
+</h3></div></div><div></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Run.Custom.VirMeth"></a>
+Virtual Methods in the Run Manager
+</h4></div></div><div></div></div><p>
+<tt class="literal">G4RunManager</tt> 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
+<tt class="literal">main()</tt> method of the user's application. Thus, instead of
+constructing the <tt class="literal">G4RunManager</tt> provided by Geant4, you are
+free to construct your own <tt class="literal">RunManager</tt>. It is recommended,
+however, that your <tt class="literal">RunManager</tt> inherit
+<tt class="literal">G4RunManager</tt>. For this purpose, <tt class="literal">G4RunManager</tt> 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 <tt class="literal">G4RunManager</tt> 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"><tt class="literal">public: virtual void Initialize();</tt></span></dt><dd>
+      main entry point of Geant4 kernel initialization
+    </dd><dt><span class="term"><tt class="literal">protected: virtual void InitializeGeometry();</tt></span></dt><dd>
+      geometry construction
+    </dd><dt><span class="term"><tt class="literal">protected: virtual void InitializePhysics();</tt></span></dt><dd>
+      physics processes construction
+    </dd><dt><span class="term"><tt class="literal">public: virtual void BeamOn(G4int n_event);</tt></span></dt><dd>
+      main entry point of the event loop
+    </dd><dt><span class="term"><tt class="literal">protected: virtual G4bool ConfirmBeamOnCondition();</tt></span></dt><dd>
+      check the kernel conditions for the event loop
+    </dd><dt><span class="term"><tt class="literal">protected: virtual void RunInitialization();</tt></span></dt><dd>
+      prepare a run
+    </dd><dt><span class="term"><tt class="literal">protected: virtual void DoEventLoop(G4int n_events);</tt></span></dt><dd>
+      manage an event loop
+    </dd><dt><span class="term"><tt class="literal">protected: virtual G4Event* GenerateEvent(G4int i_event);</tt></span></dt><dd>
+      generation of <span class="emphasis"><em>G4Event</em></span> object
+    </dd><dt><span class="term"><tt class="literal">protected: virtual void AnalyzeEvent(G4Event* anEvent);</tt></span></dt><dd>
+      storage/analysis of an event
+    </dd><dt><span class="term"><tt class="literal">protected: virtual void RunTermination();</tt></span></dt><dd>
+      terminate a run
+    </dd><dt><span class="term"><tt class="literal">public: virtual void DefineWorldVolume(G4VPhysicalVolume * worldVol);</tt></span></dt><dd>
+      set the world volume to <span class="emphasis"><em>G4Navigator</em></span></dd><dt><span class="term"><tt class="literal">public: virtual void AbortRun();</tt></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>
+Customizing the Event Loop
+</h4></div></div><div></div></div><p>
+In <tt class="literal">G4RunManager</tt> the event loop is handled by the
+virtual method <tt class="literal">DoEventLoop()</tt>. This method is implemented
+by a <tt class="literal">for</tt> loop consisting of the following steps:
+
+</p><div class="orderedlist"><ol type="1" compact><li><p>
+    construct a <tt class="literal">G4Event</tt> object and assign to it primary
+    vertex(es) and primary particles. This is done by the virtual
+    <tt class="literal">GeneratePrimaryEvent()</tt> method.
+  </p></li><li><p>
+    send the <tt class="literal">G4Event</tt> object to <tt class="literal">G4EventManager</tt> 
+    for the detector simulation. <span class="emphasis"><em>Hits</em></span> and 
+    <span class="emphasis"><em>trajectories</em></span> will
+    be associated with the <tt class="literal">G4Event</tt> object as a
+    consequence.
+  </p></li><li><p>
+    perform bookkeeping for the current <tt class="literal">G4Event</tt> object.
+    This is done by the virtual <tt class="literal">AnalyzeEvent()</tt> method.
+  </p></li></ol></div><p>
+</p><p>
+<tt class="literal">DoEventLoop()</tt> 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 <tt class="literal">G4Event</tt> 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
+<tt class="literal">G4Event</tt>s.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Run.Custom.Geometry"></a>
+Changing the Detector Geometry
+</h4></div></div><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 <tt class="literal">Set</tt> 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 <tt class="literal">BeginOfRunAction()</tt> method of
+<span class="emphasis"><em>G4UserRunAction</em></span> class, which will be invoked at the
+beginning of each run, or, derive the <tt class="literal">RunInitialization()</tt>
+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>
+Switch physics processes
+</h4></div></div><div></div></div><p>
+In the <tt class="literal">InitializePhysics()</tt> method,
+<tt class="literal">G4VUserPhysicsList::Construct</tt> 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="#sect.HowToSpecParti" title="
+How to Specify Particles
+">the section called &#8220;
+How to Specify Particles
+&#8221;</a> and 
+<a href="#sect.Parti" title="
+Particles
+">the section called &#8220;
+Particles
+&#8221;</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="#sect.HowToSpecPhysProc" title="
+How to Specify Physics Processes
+">the section called &#8220;
+How to Specify Physics Processes
+&#8221;</a>
+and <a href="#sect.PhysProc" title="
+Physics Processes
+">the section called &#8220;
+Physics Processes
+&#8221;</a>). 
+This is why the <tt class="literal">initializePhysics()</tt> 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 <tt class="literal">ActivateProcess()</tt> and
+<tt class="literal">InActivateProcess()</tt> 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 <tt class="literal">defaultCutValue</tt> 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
+<tt class="literal">CutOffHasBeenModified()</tt> method when you change cut-off
+values so that the <tt class="literal">SetCuts</tt> method of your
+<span class="emphasis"><em>PhysicsList</em></span> concrete class will be invoked.
+</p></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.Event"></a>
+Event
+</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Event.Represent"></a>
+Representation of an event
+</h3></div></div><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 <tt class="literal">getCurrentEvent()</tt> 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>
+Structure of an event
+</h3></div></div><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="#sect.EventGen" title="
+Event Generator Interface
+">the section called &#8220;
+Event Generator Interface
+&#8221;</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="#sect.Track.Traj" title="
+Trajectory and Trajectory Point
+">the section called &#8220;
+Trajectory and Trajectory Point
+&#8221;</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="#sect.Hits" title="
+Hits
+">the section called &#8220;
+Hits
+&#8221;</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="#sect.Digi" title="
+Digitization
+">the section called &#8220;
+Digitization
+&#8221;</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>
+Mandates of <span class="emphasis"><em>G4EventManager</em></span>
+</h3></div></div><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  <tt class="literal">NULL</tt> 
+    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 <tt class="literal">beginOfEventAction()</tt>
+    and <tt class="literal">endOfEventAction()</tt> from the 
+    <span class="emphasis"><em>G4UserEventAction</em></span> class. See 
+    <a href="#sect.UInfoCls" title="
+User Information Classes
+">the section called &#8220;
+User Information Classes
+&#8221;</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>
+Stacking mechanism
+</h3></div></div><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 <tt class="literal">PrepareNewEvent()</tt> 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 <tt class="literal">NewStage()</tt> 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="#sect.UInfoCls" title="
+User Information Classes
+">the section called &#8220;
+User Information Classes
+&#8221;</a>.
+</p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.EventGen"></a>
+Event Generator Interface
+</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.EventGen.StructPriEvt"></a>
+Structure of a primary event
+</h3></div></div><div></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.EventGen.StructPriEvt.VtxPart"></a>
+Primary vertex and primary particle
+</h4></div></div><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
+<tt class="literal">processOneEvent()</tt> 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>
+Forced decay channel
+</h4></div></div><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>
+Interface to a primary generator
+</h3></div></div><div></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.EventGen.InterPriGen.HEPEvt"></a>
+G4HEPEvtInterface
+</h4></div></div><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 <tt class="literal">/HEPEVT/</tt> common block to an
+object-oriented data structure. Because the <tt class="literal">/HEPEVT/</tt>
+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="#programlist_EventGen_1" title="Example 3.3. 
+An example code for G4HEPEvtInterface
+">Example 3.3, &#8220;
+An example code for G4HEPEvtInterface
+&#8221;</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><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><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.EventGen.InterPriGen.FormASCII"></a>
+Format of the ASCII file
+</h4></div></div><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
+    <tt class="literal">/HEPEVT/</tt> common. Each line has <tt class="literal">ISTHEP, IDHEP,
+    JDAHEP(1), JDAHEP(2), PHEP(1), PHEP(2), PHEP(3), PHEP(5).</tt>
+    Refer to the <tt class="literal">/HEPEVT/</tt> manual for the meanings of these
+    variables.
+  </p></li></ul></div><p>
+</p><p>
+<a href="#programlist_EventGen_2" title="Example 3.4. 
+A FORTRAN example using the /HEPEVT/ common.
+">Example 3.4, &#8220;
+A FORTRAN example using the /HEPEVT/ common.
+&#8221;</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 <tt class="literal">/HEPEVT/</tt> common.
+</b></p><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><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.EventGen.InterPriGen.FutureInt"></a>
+Future interface to the new generation generators
+</h4></div></div><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>
+Event overlap using multiple generators
+</h3></div></div><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="#sect.Digi" title="
+Digitization
+">the section called &#8220;
+Digitization
+&#8221;</a>.
+</p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.EvtBias"></a>
+Event Biasing Techniques
+</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.EvtBias.ScorImpRoul"></a>
+Scoring, Geometrical Importance Sampling and Weight Roulette
+</h3></div></div><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="#sect.Hits.G4Multi" title="
+G4MultiFunctionalDetector and
+G4VPrimitiveScorer
+">the section called &#8220;
+G4MultiFunctionalDetector and
+G4VPrimitiveScorer
+&#8221;</a> and <a href="#sect.Hits.G4VPrim" title="
+Concrete classes of G4VPrimitiveScorer
+">the section called &#8220;
+Concrete classes of G4VPrimitiveScorer
+&#8221;</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 <tt class="literal">examples/extended/biasing</tt> and
+<tt class="literal">examples/advanced/Tiara</tt>.
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.EvtBias.ScorImpRoul.Geom"></a>
+Geometries
+</h4></div></div><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"><b>cell</b></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"><b>mass geometry</b></span>: the geometry setup of the 
+    experiment to be simulated. Physics processes apply to this geometry.
+  </p></li><li><p>
+    <span class="bold"><b>parallel-geometry</b></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="#sect.ParaGeom" title="
+Parallel Geometries
+">the section called &#8220;
+Parallel Geometries
+&#8221;</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>
+Changing the Sampling
+</h4></div></div><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 <tt class="literal">G4GeometrySampler</tt> can be applied equally to mass or
+parallel geometries with an abstract interface supplied by <tt class="literal">G4VSampler</tt>.
+<tt class="literal">G4VSampler</tt> provides
+<tt class="literal">Prepare...</tt> methods and a <tt class="literal">Configure</tt>
+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 <tt class="literal">PrepareImportanceSampling</tt>
+    with a 
+    <a href="#anchor_EvtBias_G4VIStore">
+    <tt class="literal">G4VIStore</tt></a>
+    and optionally a <tt class="literal">G4VImportanceAlgorithm</tt>
+  </p></li><li><p>
+    Weight window: message <tt class="literal">PrepareWeightWindow</tt> with the
+    arguments:
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        <span class="emphasis"><em>*wwstore</em></span>: a 
+        <tt class="literal">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 class="literal">G4VWeightWindowAlgorithm</tt> if a customized algorithm 
+        should be used
+      </p></li><li><p>
+        <span class="emphasis"><em>placeOfAction</em></span>: a
+        <tt class="literal">G4PlaceOfAction</tt> specifying where to perform the
+        biasing
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    Weight roulette: message <tt class="literal">PrepareWeightRoulett</tt> 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 <tt class="literal">Configure()</tt> of a sampler will
+set up specialized processes (derived from <tt class="literal">G4VProcess</tt>) for
+transportation in the parallel geometry, importance
+sampling and weight roulette for the given particle type. When
+<tt class="literal">Configure()</tt> is invoked the sampler places the processes in
+the correct order independent of the order in which user invoked
+the <tt class="literal">Prepare...</tt> 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 <tt class="literal">Prepare...()</tt> functions may each only be invoked
+    once.
+  </p></li><li><p>
+    To configure the sampling the function <tt class="literal">Configure()</tt>
+    must be called <span class="emphasis"><em>after</em></span> the
+    <tt class="literal">G4RunManager</tt> 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
+<tt class="literal">examples/extended/biasing</tt> 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>
+Importance Sampling
+</h4></div></div><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 <tt class="literal">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 class="literal">G4IStore</tt>) of type <tt class="literal">G4VIStore</tt>. The samplers may be
+given a <tt class="literal">G4VIStore</tt>. 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 <tt class="literal">G4VIStore</tt>:
+
+<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 <tt class="literal">G4VStore</tt>. 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 <tt class="literal">AddImportanceGeometryCell()</tt> 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
+<tt class="literal">G4GeometryCell</tt>. 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 <tt class="literal">examples/extended/biasing
+B01</tt> and <tt class="literal">B02</tt> 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>
+The Importance Sampling Algorithm
+</h4></div></div><div></div></div><p>
+Importance sampling supports using a customized importance
+sampling algorithm. To this end, the sampler interface 
+<a href="#anchor_EvtBias_G4VSampler">
+<tt class="literal">G4VSampler</tt></a>
+may be given a pointer to the interface 
+<tt class="literal">G4VImportanceAlgorithm</tt>:
+
+</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 <tt class="literal">Calculate()</tt> 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 <tt class="literal">G4VImportanceAlgorithm</tt>.
+</p><p>
+If no customized algorithm is given to the sampler the default
+importance sampling algorithm is used. This algorithm is
+implemented in <tt class="literal">G4ImportanceAlgorithm</tt>.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.EvtBias.ScorImpRoul.WeightWin"></a>
+The Weight Window Technique
+</h4></div></div><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><p class="title"><b>Figure 3.2. 
+  Weight window concept
+</b></p><div class="mediaobject" align="center"><img src="./AllResources/Fundamentals/wwconcept.gif" align="middle" alt="Weight window concept"></div></div><p>
+</p><h4><a name="id446882"></a>
+Weight window concept
+</h4><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 <tt class="literal">G4GeometryCell</tt>
+as in importance sampling. The cells are stored in a weight window
+store defined by <tt class="literal">G4VWeightWindowStore</tt>:
+
+</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 <tt class="literal">SetGeneralUpperEnergyBounds</tt>. If a general set
+of energy bounds have been set <tt class="literal">AddLowerWeights</tt> 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 <tt class="literal">AddUpperEboundLowerWeightPairs</tt>.
+</p><p>
+Weight window algorithms implementing the interface class
+<tt class="literal">G4VWeightWindowAlgorithm</tt> 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>
+The Weight Roulette Technique
+</h4></div></div><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><h4><a name="id447108"></a>
+The weight roulette concept
+</h4><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>
+Physics Based Biasing
+</h3></div></div><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>
+Built in Biasing Options
+</h4></div></div><div></div></div><div class="sect4" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="sect.EvtBias.PhysBias.BuiltInOpt.PrimPart"></a>
+Primary Particle Biasing
+</h5></div></div><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"><b>examples/extended/eventgenerator/exgps</b></span>.
+</p></div><div class="sect4" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="sect.EvtBias.PhysBias.BuiltInOpt.RadDcy"></a>
+Radioactive Decay Biasing
+</h5></div></div><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"><b>examples/extended/radioactivedecay/exrdm</b></span>.
+</p></div><div class="sect4" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="sect.EvtBias.PhysBias.BuiltInOpt.HadLeadPar"></a>
+Hadronic Leading Particle Biasing
+</h5></div></div><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"><b>SwitchLeadBiasOn</b></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>
+Hadronic Cross Section Biasing
+</h5></div></div><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"><b>BiasCrossSectionByFactor</b></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>
+G4WrapperProcess
+</h4></div></div><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><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></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#sect.Geom">
+Geometry
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.Geom.Intro">
+Introduction
+</a></span></dt><dt><span class="sect2"><a href="#sect.Geom.Solids">
+Solids
+</a></span></dt><dt><span class="sect2"><a href="#sect.Geom.LogVol">
+Logical Volumes
+</a></span></dt><dt><span class="sect2"><a href="#sect.Geom.PhysVol">
+Physical Volumes
+</a></span></dt><dt><span class="sect2"><a href="#sect.Geom.Touch">
+Touchables: Uniquely Identifying a Volume
+</a></span></dt><dt><span class="sect2"><a href="#sect.Geom.Assemb">
+Creating an Assembly of Volumes
+</a></span></dt><dt><span class="sect2"><a href="#sect.Geom.Reflec">
+Reflecting Hierarchies of Volumes
+</a></span></dt><dt><span class="sect2"><a href="#sect.Geom.Navig">
+The Geometry Navigator
+</a></span></dt><dt><span class="sect2"><a href="#sect.Geom.Edit">
+A Simple Geometry Editor
+</a></span></dt><dt><span class="sect2"><a href="#sect.Geom.ConvGeom">
+Converting Geometries from Geant3.21
+</a></span></dt><dt><span class="sect2"><a href="#sect.Geom.Overlap">
+Detecting Overlapping Volumes
+</a></span></dt><dt><span class="sect2"><a href="#sect.Geom.Dyna">
+Dynamic Geometry Setups
+</a></span></dt><dt><span class="sect2"><a href="#sect.Geom.GDML">
+Importing XML Models Using GDML
+</a></span></dt><dt><span class="sect2"><a href="#sect.Geom.ASCII">
+Importing ASCII Text Models
+</a></span></dt><dt><span class="sect2"><a href="#sect.Geom.Persistency">
+Saving geometry tree objects in binary format
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.Mate">
+Material
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.Mate.GenCons">
+General considerations
+</a></span></dt><dt><span class="sect2"><a href="#sect.Mate.Intro">
+Introduction to the Classes
+</a></span></dt><dt><span class="sect2"><a href="#sect.Mate.Recep">
+Recipes for Building Elements and Materials
+</a></span></dt><dt><span class="sect2"><a href="#sect.Mate.Tables">
+The Tables
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.EMField">
+Electromagnetic Field
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.EMField.Overview">
+An Overview of Propagation in a Field
+</a></span></dt><dt><span class="sect2"><a href="#sect.EMField.Pract">
+Practical Aspects
+</a></span></dt><dt><span class="sect2"><a href="#sect.EMField.Spin">
+Spin Tracking
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.Hits">
+Hits
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.Hits.Hit">
+Hit
+</a></span></dt><dt><span class="sect2"><a href="#sect.Hits.SensDet">
+Sensitive detector
+</a></span></dt><dt><span class="sect2"><a href="#sect.Hits.ReadGeom">
+Readout geometry
+</a></span></dt><dt><span class="sect2"><a href="#sect.Hits.G4SDMan">
+G4SDManager
+</a></span></dt><dt><span class="sect2"><a href="#sect.Hits.G4Multi">
+G4MultiFunctionalDetector and
+G4VPrimitiveScorer
+</a></span></dt><dt><span class="sect2"><a href="#sect.Hits.G4VPrim">
+Concrete classes of G4VPrimitiveScorer
+</a></span></dt><dt><span class="sect2"><a href="#sect.Hits.G4VSDFil">
+G4VSDFilter and its derived classes
+</a></span></dt><dt><span class="sect2"><a href="#sect.EvtBias.ScorImpRoul.Scor">
+Scoring for Event Biasing
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.Digi">
+Digitization
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.Digi.Digi">
+Digi
+</a></span></dt><dt><span class="sect2"><a href="#sect.Digi.DigMod">
+Digitizer module
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.ObjPers">
+Object Persistency
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.ObjPers.PersG4">
+Persistency in Geant4
+</a></span></dt><dt><span class="sect2"><a href="#sect.ObjPers.Reflex">
+Using Reflex for persistency of Geant4 objects
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.ParaGeom">
+Parallel Geometries
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.ParaGeom.ParaWrld">
+A parallel world
+</a></span></dt><dt><span class="sect2"><a href="#sect.ParaGeom.DefParaWrld">
+Defining a parallel world
+</a></span></dt><dt><span class="sect2"><a href="#sect.ParaGeom.SenstivParaWrld">
+Detector sensitivity in a parallel world
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.CommandScore">
+Command-based scoring
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.CommandScore.Intro">
+Command-based scoring
+</a></span></dt><dt><span class="sect2"><a href="#sect.CommandScore.Mesh">
+Defining a scoring mesh
+</a></span></dt><dt><span class="sect2"><a href="#sect.CommandScore.Draw">
+Drawing scores
+</a></span></dt><dt><span class="sect2"><a href="#sect.CommandScore.Dump">
+Writing scores to a file
+</a></span></dt></dl></dd></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.Geom"></a>
+Geometry
+</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Geom.Intro"></a>
+Introduction
+</h3></div></div><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>
+Solids
+</h3></div></div><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>
+Constructed Solid Geometry (CSG) Solids
+</h4></div></div><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><h4><a name="id456924"></a>
+Box:
+</h4><p>  
+To create a <span class="bold"><b>box</b></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><span class="underline">In the picture</span>:
+    <tt class="literal">
+    <p>
+    pX = 30, pY = 40, pZ = 60                                                       
+    </p>
+    </tt></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><tt class="literal">pX</tt></td><td>
+    half length in X
+  </td><td><tt class="literal">pY</tt></td><td>
+    half length in Y
+  </td><td><tt class="literal">pZ</tt></td><td>
+    half length in Z
+  </td></tr></tbody></table></div><p>
+</p><p>
+This will create a box that extends from <tt class="literal">-pX</tt> to
+<tt class="literal">+pX</tt> in X, from <tt class="literal">-pY</tt> to 
+<tt class="literal">+pY</tt> in Y, and from
+<tt class="literal">-pZ</tt> to <tt class="literal">+pZ</tt> in Z.
+</p><p>
+For example to create a box that is 2 by 6 by 10 centimeters in
+full length, and called <tt class="literal">BoxA</tt> 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><h4><a name="id457159"></a>
+Cylindrical Section or Tube:
+</h4><p>  
+Similarly to create a <span class="bold"><b>cylindrical section</b></span> 
+or <span class="bold"><b>tube</b></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><span class="underline">In the picture</span>:
+    <tt class="literal">
+    <p>
+    pRMin = 10, pRMax = 15, pDz = 20
+    </p>
+    </tt></td></tr></tbody></table></div><p>
+</p><p>
+giving its name <tt class="literal">pName</tt> and its parameters which are:
+</p><div class="informaltable"><table border="1"><colgroup><col><col><col><col></colgroup><tbody><tr><td><tt class="literal">pRMin</tt></td><td>
+    Inner radius
+  </td><td><tt class="literal">pRMax</tt></td><td>
+    Outer radius
+  </td></tr><tr><td><tt class="literal">pDz</tt></td><td>
+    half length in z
+  </td><td><tt class="literal">pSPhi</tt></td><td>
+    the starting phi angle in radians
+  </td></tr><tr><td><tt class="literal">pDPhi</tt></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><h4><a name="id457370"></a>
+Cone or Conical section:
+</h4><p>  
+Similarly to create a <span class="bold"><b>cone</b></span>, or
+<span class="bold"><b>conical section</b></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><span class="underline">In the picture</span>:
+    <tt class="literal">
+    <p>
+    pRmin1 = 5, pRmax1 = 10,
+    pRmin2 = 20, pRmax2 = 25,
+    pDz = 40, pSPhi = 0, pDPhi = 4/3*Pi
+    </p>
+    </tt></td></tr></tbody></table></div><p>
+</p><p>
+giving its name <tt class="literal">pName</tt>, and its parameters which are:
+</p><div class="informaltable"><table border="1"><colgroup><col><col><col><col></colgroup><tbody><tr><td><tt class="literal">pRmin1</tt></td><td>
+    inside radius at <tt class="literal">-pDz</tt></td><td><tt class="literal">pRmax1</tt></td><td>
+    outside radius at <tt class="literal">-pDz</tt></td></tr><tr><td><tt class="literal">pRmin2</tt></td><td>
+    inside radius at <tt class="literal">+pDz</tt></td><td><tt class="literal">pRmax2</tt></td><td>
+    outside radius at <tt class="literal">+pDz</tt></td></tr><tr><td><tt class="literal">pDz</tt></td><td>
+    half length in z
+  </td><td><tt class="literal">pSPhi</tt></td><td>
+    starting angle of the segment in radians
+  </td></tr><tr><td><tt class="literal">pDPhi</tt></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><h4><a name="id457632"></a>
+Parallelepiped:
+</h4><p>  
+A <span class="bold"><b>parallelepiped</b></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><span class="underline">In the picture</span>:
+    <tt class="literal">
+    <p>
+    dx = 30, dy = 40, dz = 60
+    </p>
+    </tt></td></tr></tbody></table></div><p>
+</p><p>
+giving its name <tt class="literal">pName</tt> and its parameters which are:
+</p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><tbody><tr><td><tt class="literal">dx,dy,dz</tt></td><td>
+    Half-length in x,y,z
+  </td></tr><tr><td><tt class="literal">alpha</tt></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><tt class="literal">theta</tt></td><td>
+    Polar angle of the line joining the centres of the faces at -dz
+    and +dz in z
+  </td></tr><tr><td><tt class="literal">phi</tt></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><h4><a name="id457835"></a>
+Trapezoid:
+</h4><p>  
+To construct a <span class="bold"><b>trapezoid</b></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><span class="underline">In the picture</span>:
+    <tt class="literal">
+    <p>
+    dx1 = 30, dx2 = 10, 
+    dy1 = 40, dy2 = 15, 
+    dz = 60
+    </p>
+    </tt></td></tr></tbody></table></div><p>
+</p><p>
+to obtain a solid with name <tt class="literal">pName</tt> and parameters
+
+</p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><tbody><tr><td><tt class="literal">dx1</tt></td><td>
+    Half-length along x at the surface positioned at <tt class="literal">-dz</tt></td></tr><tr><td><tt class="literal">dx2</tt></td><td>
+    Half-length along x at the surface positioned at <tt class="literal">+dz</tt></td></tr><tr><td><tt class="literal">dy1</tt></td><td>
+    Half-length along y at the surface positioned at <tt class="literal">-dz</tt></td></tr><tr><td><tt class="literal">dy2</tt></td><td>
+    Half-length along y at the surface positioned at <tt class="literal">+dz</tt></td></tr><tr><td><tt class="literal">dz</tt></td><td>
+    Half-length along z axis
+  </td></tr></tbody></table></div><p>
+</p><h4><a name="id458077"></a>
+Generic Trapezoid:
+</h4><p>  
+To build a <span class="bold"><b>generic trapezoid</b></span>,
+the <tt class="literal">G4Trap</tt> 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><span class="underline">In the picture</span>:
+    <tt 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>
+    </tt></td></tr></tbody></table></div><p>
+</p><p>
+to obtain a Right Angular Wedge with name <tt class="literal">pName</tt> and
+parameters:
+</p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><tbody><tr><td><tt class="literal">pZ</tt></td><td>
+    Length along z
+  </td></tr><tr><td><tt class="literal">pY</tt></td><td>
+    Length along y
+  </td></tr><tr><td><tt class="literal">pX</tt></td><td>
+    Length along x at the wider side
+  </td></tr><tr><td><tt class="literal">pLTX</tt></td><td>
+    Length along x at the narrower side (<tt class="literal">plTX&lt;=pX</tt>)
+  </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><tt class="literal">pDx1</tt></td><td>
+    Half x length of the side at y=-pDy1 of the face at -pDz
+  </td></tr><tr><td><tt class="literal">pDx2</tt></td><td>
+    Half x length of the side at y=+pDy1 of the face at -pDz
+  </td></tr><tr><td><tt class="literal">pDz</tt></td><td>
+    Half z length
+  </td></tr><tr><td><tt class="literal">pTheta</tt></td><td>
+    Polar angle of the line joining the centres of the faces at -/+pDz
+  </td></tr><tr><td><tt class="literal">pPhi</tt></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><tt class="literal">pDy1</tt></td><td>
+    Half y length at -pDz
+  </td></tr><tr><td><tt class="literal">pDy2</tt></td><td>
+    Half y length at +pDz
+  </td></tr><tr><td><tt class="literal">pDx3</tt></td><td>
+    Half x length of the side at y=-pDy2 of the face at +pDz
+  </td></tr><tr><td><tt class="literal">pDx4</tt></td><td>
+    Half x length of the side at y=+pDy2 of the face at +pDz
+  </td></tr><tr><td><tt class="literal">pAlp1</tt></td><td>
+    Angle with respect to the y axis from the centre of the side
+    (lower endcap)
+  </td></tr><tr><td><tt class="literal">pAlp2</tt></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"><b>Note on <tt class="literal">pAlph1/2</tt></b></span>: the
+two angles have to be the
+same due to the planarity condition.
+</p><h4><a name="id458502"></a>
+Sphere or Spherical Shell Section:
+</h4><p>  
+To build a <span class="bold"><b>sphere</b></span>, or a
+<span class="bold"><b>spherical shell section</b></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><span class="underline">In the picture</span>:
+    <tt class="literal">
+    <p>
+      pRmin = 100, pRmax = 120, 
+      pSPhi = 0*Degree, pDPhi = 180*Degree,
+      pSTheta = 0 Degree, pDTheta = 180*Degree
+    </p>
+    </tt></td></tr></tbody></table></div><p>
+</p><p>
+to obtain a solid with name <tt class="literal">pName</tt> 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><h4><a name="id458708"></a>
+Full Solid Sphere:
+</h4><p>  
+To build a <span class="bold"><b>full solid sphere</b></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><span class="underline">In the picture</span>:
+    <tt class="literal">
+    <p>
+      pRmax = 100
+    </p>
+    </tt></td></tr></tbody></table></div><p>
+</p><p>
+The Orb can be obtained from a Sphere with:
+<tt class="literal">pRmin</tt> = 0, <tt class="literal">pSPhi</tt> = 0, 
+<tt class="literal">pDPhi</tt> = 2*Pi,
+<tt class="literal">pSTheta</tt> = 0, <tt class="literal">pDTheta</tt> = 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><h4><a name="id458877"></a>
+Torus:
+</h4><p>  
+To build a <span class="bold"><b>torus</b></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><span class="underline">In the picture</span>:
+    <tt class="literal">
+    <p>
+      pRmin = 40, pRmax = 60, pRtor = 200,
+      pSPhi = 0, pDPhi = 90*Degree
+    </p>
+    </tt></td></tr></tbody></table></div><p>
+</p><p>
+to obtain a solid with name <tt class="literal">pName</tt> 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 (<tt class="literal">fSPhi+fDPhi&lt;=2PI</tt>,
+    <tt class="literal">fSPhi&gt;-2PI</tt>)
+  </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><h3><a name="id459080"></a>
+Specific CSG Solids
+</h3><h4><a name="id459089"></a>
+Polycons:
+</h4><p>  
+<span class="bold"><b>Polycons</b></span> (PCON) are implemented in Geant4 through the
+<tt class="literal">G4Polycon</tt> 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><span class="underline">In the picture</span>:
+    <tt 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>
+    </tt></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><h4><a name="id459319"></a>
+Polyhedra (PGON):
+</h4><p>  
+<span class="bold"><b>Polyhedra</b></span> (PGON) are implemented through 
+<tt class="literal">G4Polyhedra</tt>:
+
+</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><span class="underline">In the picture</span>:
+    <tt 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>
+    </tt></td></tr></tbody></table></div><p>
+</p><p>
+where:
+</p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><tbody><tr><td><tt class="literal">phiStart</tt></td><td>
+    Initial Phi starting angle
+  </td></tr><tr><td><tt class="literal">phiTotal</tt></td><td>
+    Total Phi angle
+  </td></tr><tr><td><tt class="literal">numSide</tt></td><td>
+    Number of sides
+  </td></tr><tr><td><tt class="literal">numZPlanes</tt></td><td>
+    Number of z planes
+  </td></tr><tr><td><tt class="literal">numRZ</tt></td><td>
+    Number of corners in r,z space
+  </td></tr><tr><td>
+    zPlane
+  </td><td>
+    Position of z planes
+  </td></tr><tr><td><tt class="literal">rInner</tt></td><td>
+    Tangent distance to inner surface
+  </td></tr><tr><td>
+    rOuter
+  </td><td>
+    Tangent distance to outer surface
+  </td></tr><tr><td><tt class="literal">r</tt></td><td>
+    r coordinate of corners
+  </td></tr><tr><td><tt class="literal">z</tt></td><td>
+    z coordinate of corners
+  </td></tr></tbody></table></div><p>
+</p><h4><a name="id459601"></a>
+Tube with an elliptical cross section:
+</h4><p>  
+A <span class="bold"><b>tube with an elliptical cross
+section</b></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 <tt class="literal">1.0 = (x/dx)**2 +(y/dy)**2</tt></td><td align="center" valign="top"><div class="mediaobject"><img src="./AllResources/Detector/geometry.src/aEllipticalTube.jpg"></div><span class="underline">In the picture</span>:
+    <tt class="literal">
+    <p>
+    Dx = 5, Dy = 10, Dz = 20
+    </p>
+    </tt></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><h4><a name="id459767"></a>
+General Ellipsoid:
+</h4><p>  
+The general <span class="bold"><b>ellipsoid</b></span> with
+possible cut in <tt class="literal">Z</tt> 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><span class="underline">In the picture</span>:
+    <tt class="literal">
+    <p>
+    pxSemiAxis = 10, pySemiAxis = 20, pzSemiAxis = 50, 
+    pzBottomCut = -10, pzTopCut = 40
+    </p>
+    </tt></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><tt class="literal">pxSemiAxis</tt></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><h4><a name="id459970"></a>
+Cone with Elliptical Cross Section:
+</h4><p>  
+A <span class="bold"><b>cone with an elliptical cross section</b></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><span class="underline">In the picture</span>:
+    <tt class="literal">
+    <p>
+    pxSemiAxis = 30/75, pySemiAxis = 60/75, zMax = 50, pzTopCut = 25
+    </p>
+    </tt></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 <tt class="literal">zMax</tt>, semiaxis
+<tt class="literal">pxSemiAxis</tt>, and semiaxis <tt class="literal">pySemiAxis</tt> 
+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 <tt class="literal">v</tt> is between <tt class="literal">0</tt> and 
+<tt class="literal">2*Pi</tt>, and
+<tt class="literal">u</tt> between <tt class="literal">0</tt> and 
+<tt class="literal">h</tt> respectively.
+</p><h4><a name="id460207"></a>
+Paraboloid, a solid with parabolic profile:
+</h4><p>  
+A <span class="bold"><b>solid with parabolic profile</b></span> and possible cuts along
+the <tt class="literal">Z</tt> 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">  
+   G4Paraboloid(const G4String&amp; pName,                   
+                     G4double  Dz,
+                     G4double  R1,
+                     G4double  R2)
+    </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><span class="underline">In the picture</span>:
+    <tt class="literal">
+    <p>
+    R1 = 20, R2 = 35, Dz = 20
+    </p>
+    </tt></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>
+    Dz
+  </td><td>
+    Half length Z
+  </td><td>
+    R1
+  </td><td>
+    Radius at -Dz
+  </td><td>
+    R2
+  </td><td>
+    Radius at +Dz greater than R1
+  </td></tr></tbody></table></div><p>
+</p><h4><a name="id460383"></a>
+Tube with Hyperbolic Profile:
+</h4><p>  
+A <span class="bold"><b>tube with a hyperbolic
+profile</b></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><span class="underline">In the picture</span>:
+    <tt class="literal">
+    <p>
+    innerStereo = 0.7, outerStereo = 0.7,
+    halfLenZ = 50,
+    innerRadius = 20, outerRadius = 30
+    </p>
+    </tt></td></tr></tbody></table></div><p>
+</p><p>
+<tt class="literal">G4Hype</tt> is shaped with curved sides parallel to the
+<tt class="literal">z</tt>-axis, has a specified half-length along the <tt class="literal">z</tt>
+axis about which it is centred, and a given minimum and maximum
+radius.
+</p><p>
+A minimum radius of <tt class="literal">0</tt> 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 <tt class="literal">0</tt> gives a cylindrical
+surface:
+
+</p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><tbody><tr><td><tt class="literal">innerRadius</tt></td><td>
+    Inner radius
+  </td></tr><tr><td><tt class="literal">outerRadius</tt></td><td>
+    Outer radius
+  </td></tr><tr><td><tt class="literal">innerStereo</tt></td><td>
+    Inner stereo angle in radians
+  </td></tr><tr><td><tt class="literal">outerStereo</tt></td><td>
+    Outer stereo angle in radians
+  </td></tr><tr><td><tt class="literal">halfLenZ</tt></td><td>
+    Half length in Z
+  </td></tr></tbody></table></div><p>
+</p><h4><a name="id460629"></a>
+Tetrahedra:
+</h4><p>  
+A <span class="bold"><b>tetrahedra</b></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><span class="underline">In the picture</span>:
+    <tt 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>
+    </tt></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><tt class="literal">anchor</tt></td><td>
+    Anchor point
+  </td></tr><tr><td><tt class="literal">p2</tt></td><td>
+    Point 2
+  </td></tr><tr><td><tt class="literal">p3</tt></td><td>
+    Point 3
+  </td></tr><tr><td><tt class="literal">p4</tt></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><h4><a name="id460841"></a>
+Extruded Polygon:
+</h4><p>
+The extrusion of an arbitrary polygon
+(<span class="bold"><b>extruded solid</b></span>) with fixed outline
+in the defined <tt class="literal">Z</tt> sections can be defined as follows
+(in a general way, or as special construct with two <tt class="literal">Z</tt>
+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><span class="underline">In the picture</span>:
+    <tt 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>
+    </tt></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><tt class="literal">polygon</tt></td><td>
+    the vertices of the outlined polygon defined in clock-wise order
+  </td></tr><tr><td><tt class="literal">zsections</tt></td><td>
+     the z-sections defined by z position in increasing order
+  </td></tr><tr><td><tt class="literal">hz</tt></td><td>
+    Half length in Z
+  </td></tr><tr><td><tt class="literal">off1, off2</tt></td><td>
+    Offset of the side in -hz and +hz respectively
+  </td></tr><tr><td><tt class="literal">scale1, scale2</tt></td><td>
+    Scale of the side in -hz and +hz respectively
+  </td></tr></tbody></table></div><p>
+</p><h4><a name="id461068"></a>
+Box Twisted:
+</h4><p>  
+A <span class="bold"><b>box twisted</b></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><span class="underline">In the picture</span>:
+    <tt class="literal">
+    <p>
+    twistedangle = 30*Degree, pDx = 30, pDy =40, pDz = 60
+    </p>
+    </tt></td></tr></tbody></table></div><p>
+</p><p>
+<tt class="literal">G4TwistedBox</tt> 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><tt class="literal">twistedangle</tt></td><td>
+    Twist angle
+  </td></tr><tr><td><tt class="literal">pDx</tt></td><td>
+    Half x length
+  </td></tr><tr><td><tt class="literal">pDy</tt></td><td>
+    Half y length
+  </td></tr><tr><td><tt class="literal">pDz</tt></td><td>
+    Half z length
+  </td></tr></tbody></table></div><p>
+</p><h4><a name="id461264"></a>
+Trapezoid Twisted along One Axis:
+</h4><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><span class="underline">In the picture</span>:
+    <tt 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>
+    </tt></td></tr></tbody></table></div><p>
+</p><p>
+The first constructor of <tt class="literal">G4TwistedTrap</tt> produces a
+regular trapezoid twisted along the <tt class="literal">z</tt>-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><tt class="literal">twistedangle</tt></td><td>
+    Twisted angle
+  </td></tr><tr><td><tt class="literal">pDx1</tt></td><td>
+    Half x length at y=-pDy
+  </td></tr><tr><td><tt class="literal">pDx2</tt></td><td>
+    Half x length at y=+pDy
+  </td></tr><tr><td><tt class="literal">pDy</tt></td><td>
+    Half y length
+  </td></tr><tr><td><tt class="literal">pDz</tt></td><td>
+    Half z length
+  </td></tr><tr><td><tt class="literal">pTheta</tt></td><td>
+    Polar angle of the line joining the centres of the faces at -/+pDz
+  </td></tr><tr><td><tt class="literal">pDy1</tt></td><td>
+    Half y length at -pDz
+  </td></tr><tr><td><tt class="literal">pDx1</tt></td><td>
+    Half x length at -pDz, y=-pDy1
+  </td></tr><tr><td><tt class="literal">pDx2</tt></td><td>
+    Half x length at -pDz, y=+pDy1
+  </td></tr><tr><td><tt class="literal">pDy2</tt></td><td>
+    Half y length at +pDz
+
+  </td></tr><tr><td><tt class="literal">pDx3</tt></td><td>
+    Half x length at +pDz, y=-pDy2
+  </td></tr><tr><td><tt class="literal">pDx4</tt></td><td>
+    Half x length at +pDz, y=+pDy2
+  </td></tr><tr><td><tt class="literal">pAlph</tt></td><td>
+    Angle with respect to the y axis from the centre of the side
+  </td></tr></tbody></table></div><p>
+</p><h4><a name="id461620"></a>
+Twisted Trapezoid with <tt class="literal">x</tt> and <tt class="literal">y</tt> dimensions 
+varying along <tt class="literal">z</tt>:
+</h4><p>  
+A <span class="bold"><b>twisted trapezoid</b></span> with the
+<tt class="literal">x</tt> and <tt class="literal">y</tt> dimensions 
+<span class="bold"><b>varying along <tt class="literal">z</tt></b></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><span class="underline">In the picture</span>:
+    <tt class="literal">
+    <p>
+    dx1 = 30, dx2 = 10,
+    dy1 = 40, dy2 = 15,
+    dz = 60, twistedangle = 30*Degree
+    </p>
+    </tt></td></tr></tbody></table></div><p>
+</p><p>
+where:
+</p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><tbody><tr><td><tt class="literal">pDx1</tt></td><td>
+    Half x length at the surface positioned at -dz
+  </td></tr><tr><td><tt class="literal">pDx2</tt></td><td>
+    Half x length at the surface positioned at +dz
+  </td></tr><tr><td><tt class="literal">pDy1</tt></td><td>
+    Half y length at the surface positioned at -dz
+  </td></tr><tr><td><tt class="literal">pDy2</tt></td><td>
+    Half y length at the surface positioned at +dz
+  </td></tr><tr><td><tt class="literal">pDz</tt></td><td>
+    Half z length
+  </td></tr><tr><td><tt class="literal">twistedangle</tt></td><td>
+    Twisted angle
+  </td></tr></tbody></table></div><p>
+</p><h4><a name="id461882"></a>
+Tube Section Twisted along Its Axis:
+</h4><p>  
+A <span class="bold"><b>tube section twisted</b></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><span class="underline">In the picture</span>:
+    <tt class="literal">
+    <p>
+    endinnerrad = 10, endouterrad = 15,
+    halfzlen = 20, dphi = 90*Degree,
+    twistedangle = 60*Degree
+    </p>
+    </tt></td></tr></tbody></table></div><p>
+</p><p>
+<tt class="literal">G4TwistedTubs</tt> is a sort of twisted cylinder which,
+placed along the <tt class="literal">z</tt>-axis and divided into
+<tt class="literal">phi</tt>-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><tt class="literal">twistedangle</tt></td><td>
+    Twisted angle
+  </td></tr><tr><td><tt class="literal">endinnerrad</tt></td><td>
+    Inner radius at endcap
+  </td></tr><tr><td><tt class="literal">endouterrad</tt></td><td>
+    Outer radius at endcap
+  </td></tr><tr><td><tt class="literal">halfzlen</tt></td><td>
+    Half z length
+  </td></tr><tr><td><tt class="literal">dphi</tt></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 <tt class="literal">phi</tt> 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 <tt class="literal">z=0</tt> with different
+    <tt class="literal">z</tt>-lengths along negative and positive
+    <tt class="literal">z</tt>-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>
+Solids made by Boolean operations
+</h4></div></div><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 (<tt class="literal">G4RotationMatrix*</tt>), 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
+<tt class="literal">G4Transform3D</tt> is provided to the constructor by value, and
+its transformation is stored by the Boolean solid. The user may
+modify the <tt class="literal">G4Transform3D</tt> 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>
+Boundary Represented (BREPS) Solids
+</h4></div></div><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><h4><a name="id462405"></a>
+Specific BREP Solids:
+</h4><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 <tt class="literal">G4BREPSolidPCone</tt> 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><tt class="literal">start_angle</tt></td><td>
+    starting angle
+  </td></tr><tr><td><tt class="literal">opening_angle</tt></td><td>
+    opening angle
+  </td></tr><tr><td><tt class="literal">num_z_planes</tt></td><td>
+    number of planes perpendicular to the z-axis used.
+  </td></tr><tr><td><tt class="literal">z_start</tt></td><td>
+    starting value of z
+  </td></tr><tr><td><tt class="literal">z_values</tt></td><td>
+    z coordinates of each plane
+  </td></tr><tr><td><tt class="literal">RMIN</tt></td><td>
+    radius of inner cone at each plane
+  </td></tr><tr><td><tt class="literal">RMAX</tt></td><td>
+    radius of outer cone at each plane
+  </td></tr></tbody></table></div><p>
+</p><p>
+The polygonal solid <tt class="literal">G4BREPSolidPolyhedra</tt> 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 (<tt class="literal">sides</tt>) 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><tt class="literal">start_angle</tt></td><td>
+    starting angle
+  </td></tr><tr><td><tt class="literal">opening_angle</tt></td><td>
+    opening angle
+  </td></tr><tr><td><tt class="literal">sides</tt></td><td>
+    number of sides of each polygon in the x-y plane
+  </td></tr><tr><td><tt class="literal">num_z_planes</tt></td><td>
+    number of planes perpendicular to the z-axis used.
+  </td></tr><tr><td><tt class="literal">z_start</tt></td><td>
+    starting value of z
+  </td></tr><tr><td><tt class="literal">z_values</tt></td><td>
+    z coordinates of each plane
+  </td></tr><tr><td><tt class="literal">RMIN</tt></td><td>
+    radius of inner polygon at each corner
+  </td></tr><tr><td><tt class="literal">RMAX</tt></td><td>
+    radius of outer polygon at each corner
+  </td></tr></tbody></table></div><p>
+   
+the shape is defined by the number of sides <tt class="literal">sides</tt> 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>
+Tessellated Solids
+</h4></div></div><div></div></div><p>
+In Geant4 it is also implemented a class
+<tt class="literal">G4TessellatedSolid</tt> which can be used to generate a generic
+solid defined by a number of facets (<tt class="literal">G4VFacet</tt>). 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="#fig.Geom.Solid_1" title="Figure 4.1. 
+  Example of geometries imported from CAD system and converted to
+  tessellated solids.
+">Figure 4.1, &#8220;
+  Example of geometries imported from CAD system and converted to
+  tessellated solids.
+&#8221;</a>).
+
+</p><div class="figure"><a name="fig.Geom.Solid_1"></a><p class="title"><b>Figure 4.1. 
+  Example of geometries imported from CAD system and converted to
+  tessellated solids.
+</b></p><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>
+</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
+<tt class="literal">G4TessellatedSolid</tt>: a triangular facet
+(<tt class="literal">G4TriangularFacet</tt>) and a quadrangular facet
+(<tt class="literal">G4QuadrangularFacet</tt>).
+</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
+<tt class="literal">G4TessellatedSolid</tt>.
+</b></p><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><p>
+</p><p>
+The <tt class="literal">G4TriangularFacet</tt> class is used for the contruction
+of <tt class="literal">G4TessellatedSolid</tt>. 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><tt class="literal">G4FacetVertexType</tt></td><td><tt class="literal">ABSOLUTE</tt> in which case <tt class="literal">Pt0</tt>, 
+    <tt class="literal">vt1</tt> and <tt class="literal">vt2</tt> 
+    are the three vertices in anti-clockwise order looking from the outside.
+  </td></tr><tr><td><tt class="literal">G4FacetVertexType</tt></td><td><tt class="literal">RELATIVE</tt> in which case the first vertex is
+    <tt class="literal">Pt0</tt>, the second vertex is <tt class="literal">Pt0+vt1</tt> and 
+    the third vertex is <tt class="literal">Pt0+vt2</tt>, all in anti-clockwise order 
+    when looking from the outside.
+</td></tr></tbody></table></div><p>
+</p><p>
+The <tt class="literal">G4QuadrangularFacet</tt> class can be used for the
+contruction of <tt class="literal">G4TessellatedSolid</tt> 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><tt class="literal">G4FacetVertexType</tt></td><td><tt class="literal">ABSOLUTE</tt> in which case <tt class="literal">Pt0</tt>, 
+    <tt class="literal">vt1</tt>, <tt class="literal">vt2</tt> and <tt class="literal">vt3</tt> 
+    are the four vertices required in anti-clockwise order when looking 
+    from the outside.
+  </td></tr><tr><td><tt class="literal">G4FacetVertexType</tt></td><td><tt class="literal">RELATIVE</tt> in which case the first vertex is
+    <tt class="literal">Pt0</tt>, the second vertex is <tt class="literal">Pt0+vt</tt>, 
+    the third vertex is <tt class="literal">Pt0+vt2</tt> and the fourth vertex is
+    <tt class="literal">Pt0+vt3</tt>, in anti-clockwise order when looking from the
+    outside.
+  </td></tr></tbody></table></div><p>
+</p><h4><a name="id463182"></a>
+Importing CAD models as tessellated shapes
+</h4><p>
+Tessellated solids can also be used to import geometrical models from CAD
+systems (see <a href="#fig.Geom.Solid_1" title="Figure 4.1. 
+  Example of geometries imported from CAD system and converted to
+  tessellated solids.
+">Figure 4.1, &#8220;
+  Example of geometries imported from CAD system and converted to
+  tessellated solids.
+&#8221;</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
+<tt class="literal">G4TessellatedSolid</tt> shapes.
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Geom.LogVol"></a>
+Logical Volumes
+</h3></div></div><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="#sect.VisAtt" title="
+Visualization Attributes
+">the section called &#8220;
+Visualization Attributes
+&#8221;</a>) and 
+user-defined parameters related to tracking, electro-magnetic field
+or cuts (through the <tt class="literal">G4UserLimits</tt> 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>
+Through the logical volume it is also possible to <span class="emphasis"><em>tune</em></span> the
+granularity of the optimisation algorithm to be applied to the sub-tree of
+volumes represented. This is possible using the methods:
+
+</p><div class="informalexample"><pre class="programlisting">
+    G4double GetSmartless() const
+    void SetSmartless(G4double s)
+</pre></div><p>
+
+The default <span class="emphasis"><em>smartless</em></span> value is <span class="emphasis"><em>2</em></span>
+and controls the average number of slices per contained volume which are used
+in the optimisation. The smaller the value, the less fine grained optimisation
+grid is generated; this will translate in a possible reduction of memory
+consumed for the optimisation of that portion of geometry at the price of
+a slight CPU time increase at tracking time. Manual tuning of the
+optimisation is in general not required, since the optimal granularity level
+is computed automatically and adapted to the specific geometry setup; however,
+in some cases (like geometry portions with 'dense' concentration of volumes
+distributed in a non-uniform way), it may be necessary to adopt manual tuning
+for helping the optimisation process in dealing with the most critical areas.
+By setting the verbosity to <span class="emphasis"><em>2</em></span> through the following UI
+run-time command:
+</p><div class="informalexample"><pre class="programlisting">
+    /run/verbose 2
+</pre></div><p>
+a statistics of the memory consumed for the allocated optimisation nodes
+will be displayed volume by volume, allowing to easily identify the critical
+areas which may eventually require manual intervention.
+</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 <tt class="literal">true</tt> for the boolean argument 
+<tt class="literal">forced</tt> 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="#sect.PhysProc.Param" title="
+Parameterization
+">the section called &#8220;
+Parameterization
+&#8221;</a>).
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Geom.LogVol.SubReg"></a>
+Sub-detector Regions
+</h4></div></div><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><tt class="literal">rName</tt></td><td>
+      String identifier for the detector region
+    </td></tr></tbody></table></div><p>
+</p><p>
+A <tt class="literal">G4Region</tt> 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 <tt class="literal">G4ProductionCut</tt>
+object
+
+</p><div class="informalexample"><pre class="programlisting">
+    emCalorimeter-&gt;SetProductionCuts(emCalCuts);
+</pre></div><p>
+</p><p>
+<a href="#sect.ProThres.Set" title="
+Set production threshold (SetCut methods)
+">the section called &#8220;
+Set production threshold (SetCut methods)
+&#8221;</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>
+Physical Volumes
+</h3></div></div><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"><b>Note</b></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>
+Placements: single positioned copy
+</h4></div></div><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><tt class="literal">pRot</tt></td><td>
+    Rotation with respect to its mother volume
+  </td></tr><tr><td><tt class="literal">tlate</tt></td><td>
+    Translation with respect to its mother volume
+  </td></tr><tr><td><tt class="literal">pCurrentLogical</tt></td><td>
+    The associated Logical Volume
+  </td></tr><tr><td><tt class="literal">pName</tt></td><td>
+    String identifier for this placement
+  </td></tr><tr><td><tt class="literal">pMotherLogical</tt></td><td>
+    The associated mother volume
+  </td></tr><tr><td><tt class="literal">pMany</tt></td><td>
+    For future use. Can be set to false
+  </td></tr><tr><td><tt class="literal">pCopyNo</tt></td><td>
+    Integer which identifies this placement
+  </td></tr><tr><td><tt class="literal">pSurfChk</tt></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 <tt class="literal">G4PVPlacement</tt>. 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 <tt class="literal">pMany</tt> 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="#sect.Geom.Solids.BoolOp" title="
+Solids made by Boolean operations
+">the section called &#8220;
+Solids made by Boolean operations
+&#8221;</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>
+Repeated volumes
+</h4></div></div><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><h4><a name="id471309"></a>
+Replicas:
+</h4><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><tt class="literal">pName</tt></td><td>
+    String identifier for the replicated volume
+  </td></tr><tr><td><tt class="literal">pCurrentLogical</tt></td><td>
+    The associated Logical Volume
+   </td></tr><tr><td><tt class="literal">pMotherLogical</tt></td><td>
+    The associated mother volume
+  </td></tr><tr><td><tt class="literal">pAxis</tt></td><td>
+    The axis along with the replication is applied
+  </td></tr><tr><td><tt class="literal">nReplicas</tt></td><td>
+    The number of replicated volumes
+  </td></tr><tr><td><tt class="literal">width</tt></td><td>
+    The width of a single replica along the axis of replication
+  </td></tr><tr><td><tt class="literal">offset</tt></td><td>
+    Possible offset associated to mother offset along the axis of
+    replication
+  </td></tr></tbody></table></div><p>
+</p><p>
+<tt class="literal">G4PVReplica</tt> represents <tt class="literal">nReplicas</tt> volumes
+differing only in their positioning, and completely <span class="bold"><b>filling</b></span>
+the containing mother volume. Consequently if a
+<tt class="literal">G4PVReplica</tt> is 'positioned' inside a given mother it
+<span class="bold"><b>MUST</b></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 <tt class="literal">(kXAxis,kYAxis,kZAxis)</tt></em></span>
+    </p><p>
+    The replications, of specified width have coordinates of form
+    <tt class="literal">(-width*(nReplicas-1)*0.5+n*width,0,0)</tt>
+    </p><p>
+    </p><p>
+    where <tt class="literal">n=0.. nReplicas-1</tt> for the case of <tt class="literal">kXAxis</tt>,
+    and are unrotated.
+    </p><p>
+  </p></li><li><p>
+    <span class="emphasis"><em>Radial axis (cylindrical polar) <tt class="literal">(kRho)</tt></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 <tt class="literal">width*n+offset</tt> to
+    <tt class="literal">width*(n+1)+offset</tt> where
+    <tt class="literal">n=0..nReplicas-1</tt>
+    </p><p>
+  </p></li><li><p>
+    <span class="emphasis"><em>Phi axis (cylindrical polar) <tt class="literal">(kPhi)</tt></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 <tt class="literal">phi</tt> of <tt class="literal">offset+n*width</tt> to
+    <tt class="literal">offset+(n+1)*width</tt> where 
+    <tt class="literal">n=0..nReplicas-1</tt>
+    </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 <tt class="literal">phi</tt> 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 <tt class="literal">radius</tt>.
+</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
+<tt class="literal">G4PVReplica</tt> object is modified according to the currently
+'active' replication. The solid is not modified and consequently
+has the wrong parameters for the cases of <tt class="literal">phi</tt> and
+<tt class="literal">r</tt> 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 <tt class="literal">G4PVReplica</tt>.
+</b></p><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><p>
+</p><p>
+<tt class="literal">RepX</tt> is an array of 5 replicas of width 10*mm,
+positioned inside and completely filling the volume pointed by
+<tt class="literal">pContainingMother</tt>. 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, <tt class="literal">RepR</tt> divides the mother tube into
+5 cylinders (hence the solid associated with <tt class="literal">pRepRLogical</tt>
+must be a tube of radius 10*mm, and half Z length 25*mm);
+<tt class="literal">repRZ</tt> divides it into 5 shorter cylinders (the solid
+associated with <tt class="literal">pRepRZLogical</tt> must be a tube of radius
+10*mm, and half Z length 5*mm); finally, <tt class="literal">repRZPhi</tt> divides
+it into 4 tube segments with full angle of 90 degrees (the solid
+associated with <tt class="literal">pRepRZPhiLogical</tt> 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 <tt class="literal">r</tt>
+replications.
+</p><h4><a name="id472096"></a>
+Parameterised Volumes:
+</h4><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 <tt class="literal">ExN02DetectorConstruction</tt> and
+<tt class="literal">ExN02ChamberParameterisation</tt>.
+</p><p>
+To create a parameterised volume, one must first create its
+logical volume like <tt class="literal">trackerChamberLV</tt> below. Then one must
+create his own parameterisation class
+(<span class="emphasis"><em>ExN02ChamberParameterisation</em></span>) and instantiate an object of
+this class (<tt class="literal">chamberParam</tt>). 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><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><p>
+</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>
+<tt class="literal">pAxis</tt> 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>
+<tt class="literal">pSurfChk</tt> if <tt class="literal">true</tt> 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>
+    <tt class="literal">ComputeTransformation</tt> defines where one of the copies
+    is placed,
+  </p></li><li><p>
+    <tt class="literal">ComputeDimensions</tt> 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 <tt class="literal">ExN02ChamberParameterisation</tt> 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><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><p>
+</p><p>
+
+</p><p>
+These methods works as follows:
+</p><p>
+
+</p><p>
+The <tt class="literal">ComputeTransformation</tt> 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"><b>not</b></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 <tt class="literal">ComputeDimensions</tt> 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 <tt class="literal">G4Box &amp;</tt>) 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 <tt class="literal">ComputeSolid</tt>
+    method, or
+  </p></li><li><p>
+    to change the material of the volume by creating a
+    <tt class="literal">ComputeMaterial</tt> 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
+<tt class="literal">examples/extended/medical/DICOM</tt>, 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><h4><a name="id472458"></a>
+Advanced parameterisations for 'nested' parameterised volumes
+</h4><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
+<tt class="literal">ComputeMaterial</tt> 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><h4><a name="id472518"></a>
+Divisions of Volumes
+</h4><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><tt class="literal">pName</tt></td><td>
+    String identifier for the replicated volume
+  </td></tr><tr><td><tt class="literal">pCurrentLogical</tt></td><td>
+    The associated Logical Volume
+  </td></tr><tr><td><tt class="literal">pMotherLogical</tt></td><td>
+    The associated mother Logical Volume
+  </td></tr><tr><td><tt class="literal">pAxis</tt></td><td>
+    The axis along which the division is applied
+  </td></tr><tr><td><tt class="literal">nDivisions</tt></td><td>
+    The number of divisions
+  </td></tr><tr><td><tt class="literal">width</tt></td><td>
+    The width of a single division along the axis
+  </td></tr><tr><td><tt class="literal">offset</tt></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 <tt class="literal">pCurrentLogical</tt> will not be used, but
+recomputed through the
+<tt class="literal">G4VParameterisation::ComputeDimension()</tt> method.
+</p><p>
+
+</p><p>
+Since <tt class="literal">G4VPVParameterisation</tt> may have different
+<tt class="literal">ComputeDimension()</tt> 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><tt class="literal">G4Box</tt></td><td><tt class="literal">kXAxis</tt>, <tt class="literal">kYAxis</tt>, <tt class="literal">kZAxis</tt></td></tr><tr><td><tt class="literal">G4Tubs</tt></td><td><tt class="literal">kRho</tt>, <tt class="literal">kPhi</tt>, <tt class="literal">kZAxis</tt></td></tr><tr><td><tt class="literal">G4Cons</tt></td><td><tt class="literal">kRho</tt>, <tt class="literal">kPhi</tt>, <tt class="literal">kZAxis</tt></td></tr><tr><td><tt class="literal">G4Trd</tt></td><td><tt class="literal">kXAxis</tt>, <tt class="literal">kYAxis</tt>, <tt class="literal">kZAxis</tt></td></tr><tr><td><tt class="literal">G4Para</tt></td><td><tt class="literal">kXAxis</tt>, <tt class="literal">kYAxis</tt>, <tt class="literal">kZAxis</tt></td></tr><tr><td><tt class="literal">G4Polycone</tt></td><td><tt class="literal">kRho</tt>, <tt class="literal">kPhi</tt>, <tt class="literal">kZAxis</tt> (*)
+  </td></tr><tr><td><tt class="literal">G4Polyhedra</tt></td><td><tt class="literal">kRho</tt>, <tt class="literal">kPhi</tt>, <tt class="literal">kZAxis</tt> (**)
+  </td></tr></tbody></table></div><p>
+</p><p>
+
+
+</p><p>
+(*) - <tt class="literal">G4Polycone</tt>:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <tt class="literal">kZAxis</tt> - the number of divisions has to be the same as
+    solid sections, (i.e. <tt class="literal">numZPlanes-1</tt>), the width will
+    <span class="emphasis"><em>not</em></span> be taken into account.</p></li></ul></div><p>
+</p><p>
+
+</p><p>
+(**) - <tt class="literal">G4Polyhedra</tt>:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <tt class="literal">kPhi</tt> - the number of divisions has to be the same as
+    solid sides, (i.e. <tt class="literal">numSides</tt>), the width will 
+    <span class="emphasis"><em>not</em></span> be taken into account.
+  </p></li><li><p>
+    <tt class="literal">kZAxis</tt> - the number of divisions has to be the same as
+    solid sections, (i.e. <tt class="literal">numZPlanes-1</tt>), 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 <tt class="literal">kRho</tt> of <tt class="literal">G4Cons</tt>,
+<tt class="literal">G4Polycone</tt>, <tt class="literal">G4Polyhedra</tt>, if width is provided, it
+is taken as the width at the <tt class="literal">-Z</tt> radius; the width at other
+radii will be scaled to this one.
+</p><p>
+
+</p><p>
+Examples are given below in listings 
+<a href="#programlist_Geom.PhysVol_3" title="Example 4.4. 
+An example of Parameterised boxes of different sizes.
+">Example 4.4, &#8220;
+An example of Parameterised boxes of different sizes.
+&#8221;</a> and 
+<a href="#programlist_Geom.PhysVol_4" title="Example 4.5. 
+An example of a box division along different axes, with or without offset.
+">Example 4.5, &#8220;
+An example of a box division along different axes, with or without offset.
+&#8221;</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><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><p>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <tt class="literal">divBox1</tt> is a division of a box along its <tt class="literal">X</tt>
+    axis in 5 equal copies. Each copy will have a dimension in meters
+    of <tt class="literal">[0.2, 1., 1.]</tt>.
+  </p></li><li><p>
+    <tt class="literal">divBox2</tt> is a division of the same box along its
+    <tt class="literal">X</tt> axis with a width of <tt class="literal">0.1</tt> meters and
+    an offset of <tt class="literal">0.5</tt> meters. As the mother dimension along 
+    <tt class="literal">X</tt> of
+    <tt class="literal">1</tt> meter (<tt class="literal">0.5*m</tt> of halflength), 
+    the division will
+    be sized in total <tt class="literal">1 - 0.45 = 0.55</tt> meters. Therefore,
+    there's space for 5 copies, the first extending from <tt class="literal">-0.05</tt>
+    to <tt class="literal">0.05</tt> meters in the mother's frame and the last from
+    <tt class="literal">0.35</tt> to <tt class="literal">0.45</tt> meters.
+  </p></li><li><p>
+    <tt class="literal">divBox3</tt> is a division of the same box along its
+    <tt class="literal">X</tt> axis in 3 equal copies of width <tt class="literal">0.1</tt> 
+    meters and an offset of <tt class="literal">0.5</tt> meters. 
+    The first copy will extend from
+    <tt class="literal">0.</tt> to <tt class="literal">0.1</tt> meters in the mother's frame 
+    and the last from <tt class="literal">0.2</tt> to <tt class="literal">0.3</tt> 
+    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><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><p>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <tt class="literal">divPconePhiW</tt> is a division of a polycone along its
+    <tt class="literal">phi</tt> 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 <tt class="literal">phi</tt> extension of 30
+    degrees. They are rotated around the <tt class="literal">Z</tt> 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>
+    <tt class="literal">divPconeZN</tt> is a division of the same polycone along
+    its <tt class="literal">Z</tt> 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>
+Touchables: Uniquely Identifying a Volume
+</h3></div></div><div></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Geom.Touch.Intro"></a>
+Introduction to Touchables
+</h4></div></div><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>
+What can a Touchable do?
+</h4></div></div><div></div></div><p>
+All <tt class="literal">G4VTouchable</tt> implementations must respond to the
+two following "requests", where in all cases, by <tt class="literal">depth</tt> 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 <tt class="literal">0</tt>):
+
+</p><div class="orderedlist"><ol type="1" compact><li><p>
+    <tt class="literal">GetTranslation(depth)</tt>
+  </p></li><li><p>
+    <tt class="literal">GetRotation(depth)</tt>
+  </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>
+    <tt class="literal">GetSolid(depth)</tt> gives the solid associated to the
+    touchable.
+  </p></li><li><p>
+    <tt class="literal">GetVolume(depth)</tt> gives the physical volume.
+  </p></li><li><p>
+    <tt class="literal">GetReplicaNumber(depth)</tt> or
+    <tt class="literal">GetCopyNumber(depth)</tt> 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>
+    <tt class="literal">GetHistoryDepth()</tt> gives the depth of the history
+    tree.
+  </p></li><li><p>
+    </p><p>
+    <tt class="literal">MoveUpHistory(num)</tt> moves the current pointer inside
+    the touchable to point <tt class="literal">num</tt> levels up the history tree.
+    Thus, e.g., calling it with <tt class="literal">num=1</tt> 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>
+    <tt class="literal">UpdateYourself(vol, history)</tt> takes a physical volume
+    pointer and can additionally take a <tt class="literal">NavigationHistory</tt>
+    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>
+Touchable history holds stack of geometry data
+</h4></div></div><div></div></div><p>
+As shown in Sections 
+<a href="#sect.Geom.LogVol" title="
+Logical Volumes
+">the section called &#8220;
+Logical Volumes
+&#8221;</a> and <a href="#sect.Geom.PhysVol" title="
+Physical Volumes
+">the section called &#8220;
+Physical Volumes
+&#8221;</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
+<tt class="literal">G4TouchableHistory</tt>. 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 <tt class="literal">G4VUserSteppingAction</tt>.
+</p><p>
+To create/access a <tt class="literal">G4TouchableHistory</tt> the user must
+message <tt class="literal">G4Navigator</tt> which provides the method
+<tt class="literal">CreateTouchableHistoryHandle()</tt>:
+
+</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, <tt class="literal">MoveUpHistory(num)</tt> 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>
+Creating an Assembly of Volumes
+</h3></div></div><div></div></div><p>
+<tt class="literal">G4AssemblyVolume</tt> 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="#fig.Geom.Assem_1" title="Figure 4.2. 
+Examples of assembly of volumes.
+">Figure 4.2, &#8220;
+Examples of assembly of volumes.
+&#8221;</a> 
+reful usage of <tt class="literal">G4AssemblyVolume</tt> 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><p class="title"><b>Figure 4.2. 
+Examples of <span class="emphasis"><em>assembly</em></span> of volumes.
+</b></p><div class="mediaobject" align="center"><img src="./AllResources/Detector/geometry.src/avex1and2.jpg" align="middle" alt="Assembly volumes"></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Geom.Assemb.Fill"></a>
+Filling an assembly volume with its "daughters"
+</h4></div></div><div></div></div><p>
+Participating logical volumes are represented as a triplet of
+&lt;logical volume, translation, rotation&gt;
+(<tt class="literal">G4AssemblyTriplet</tt> 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>
+Assembly volume placement
+</h4></div></div><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
+<tt class="literal">MakeImprint(...)</tt> 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"><b>WWW</b></span>_impr_<span class="bold"><b>XXX</b></span>_<span class="bold"><b>YYY</b></span>_<span class="bold"><b>ZZZ</b></span>
+</pre></div><p>
+
+where:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <span class="bold"><b>WWW</b></span> - assembly volume instance number
+  </p></li><li><p>
+    <span class="bold"><b>XXX</b></span> - assembly volume imprint number
+  </p></li><li><p>
+    <span class="bold"><b>YYY</b></span> - the name of the placed logical
+    volume
+  </p></li><li><p>
+    <span class="bold"><b>ZZZ</b></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>
+Destruction of an assembly volume
+</h4></div></div><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 <tt class="literal">MakeImprint()</tt> 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
+<tt class="literal">G4Navigator</tt>, logical volume store and physical volume
+store may keep pointers to physical volumes generated by the
+assembly volume.
+</p><p>
+The <tt class="literal">MakeImprint()</tt> 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 <tt class="literal">true</tt> as the last argument of the 
+<tt class="literal">MakeImprint()</tt> method,
+it is possible to activate the volumes overlap check for the assembly's
+constituents (the default is <tt class="literal">false</tt>).
+</p><p>
+At destruction of a <tt class="literal">G4AssemblyVolume</tt>, 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>
+Example
+</h4></div></div><div></div></div><p>
+This example shows how to use the <tt class="literal">G4AssemblyVolume</tt>
+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="#programlist_Geom.Assem_1" title="Example 4.7. 
+An example of usage of the G4AssemblyVolume class.
+">Example 4.7, &#8220;
+An example of usage of the G4AssemblyVolume class.
+&#8221;</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 <tt class="literal">G4AssemblyVolume</tt> class.
+</b></p><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><p>
+</p><p>
+The resulting detector will look as in <a href="#fig.Geom.Assem_2" title="Figure 4.3. 
+The geometry corresponding to .
+">Figure 4.3, &#8220;
+The geometry corresponding to .
+&#8221;</a>, 
+below:
+
+</p><div class="figure"><a name="fig.Geom.Assem_2"></a><p class="title"><b>Figure 4.3. 
+The geometry corresponding to <a href="#programlist_Geom.Assem_1" title="Example 4.7. 
+An example of usage of the G4AssemblyVolume class.
+">Example 4.7, &#8220;
+An example of usage of the G4AssemblyVolume class.
+&#8221;</a>.
+</b></p><div class="mediaobject" align="center"><img src="AllResources/Detector/geometry.src/avpic.jpg" align="middle" alt="Assembly volume detector"></div></div><p>
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Geom.Reflec"></a>
+Reflecting Hierarchies of Volumes
+</h3></div></div><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
+<tt class="literal">G4ReflectionFactory</tt> class and <tt class="literal">G4ReflectedSolid</tt>,
+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 <tt class="literal">Place()</tt> 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 <tt class="literal">surfCheck</tt> flag.
+</p><p>
+The method <tt class="literal">Replicate()</tt> 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 <tt class="literal">Divide()</tt> 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. -
+    <tt class="literal">G4PVDivisionFactory::GetInstance();</tt>).
+  </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 
+<tt class="literal">G4ReflectionFactory</tt> class.</b></p><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><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Geom.Navig"></a>
+The Geometry Navigator
+</h3></div></div><div></div></div><p>
+Navigation through the geometry at tracking time is implemented
+by the class <tt class="literal">G4Navigator</tt>. 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"><b>G4NavigationHistory</b></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"><b>G4NormalNavigation</b></span> - provides location &amp; 
+    distance computation functions for geometries containing 'placement'
+    volumes, with no voxels.
+  </p></li><li><p>
+    <span class="bold"><b>G4VoxelNavigation</b></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"><b>G4ParameterisedNavigation</b></span> - provides location and
+    distance computation functions for geometries containing
+    parameterised volumes with voxels. Voxel information is maintained
+    similarly to <tt class="literal">G4VoxelNavigation</tt>, 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"><b>G4ReplicaNavigation</b></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>
+Navigation and Tracking
+</h4></div></div><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"><b>SetWorldVolume()</b></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"><b>LocateGlobalPointAndSetup()</b></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 <tt class="literal">G4TouchableHistory</tt>.
+    </p><p>
+  </p></li><li><p>
+    <span class="bold"><b>LocateGlobalPointAndUpdateTouchableHandle()</b></span>
+    </p><p>
+    First, search the geometrical hierarchy like the above method
+    <tt class="literal">LocateGlobalPointAndSetup()</tt>. Then use the volume found and
+    its navigation history to update the touchable.
+    </p><p>
+  </p></li><li><p>
+    <span class="bold"><b>ComputeStep()</b></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 <tt class="literal">ComputeStep()</tt>.
+    </p><p>
+    </p><p>
+    When calling <tt class="literal">ComputeStep()</tt>, a proposed physics step is
+    passed. If it can be determined that the first intersection lies at
+    or beyond that distance then <tt class="literal">kInfinity</tt> 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"><b>SetGeometricallyLimitedStep()</b></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 <tt class="literal">LocateGlobalPointAndSetup()</tt>.
+    </p><p>
+  </p></li><li><p>
+    <span class="bold"><b>CreateTouchableHistory()</b></span>
+    </p><p>
+    Creates a <tt class="literal">G4TouchableHistory</tt> 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 <tt class="literal">G4NavigationHistory</tt>
+object.
+</p><p>
+In <tt class="literal">LocateGlobalPointAndSetup()</tt> 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 <tt class="literal">ComputeStep()</tt> 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>
+Using the navigator to locate points
+</h4></div></div><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 <tt class="literal">G4TransportationManager</tt>:
+
+</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 <tt class="literal">G4Navigator</tt> object (which can then be assigned 
+to the world-volume), or access the information through the step.
+</p><h4><a name="id478744"></a>
+Using the 'step' to retrieve geometrical information
+</h4><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><h4><a name="id478789"></a>
+Using an alternative navigator to locate points
+</h4><p>
+In order to know (when in the <tt class="literal">idle</tt> 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 <tt class="literal">myPoint</tt> (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 
+<tt class="literal">G4Navigator</tt> 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>
+Navigation in parallel geometries
+</h4></div></div><div></div></div><p>
+Since release 8.2 of Geant4, it is possible to define geometry trees which
+are <tt class="literal">parallel</tt> 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 <tt class="literal">parallel</tt> 
+transportation will be activated only after the registration of the 
+parallel geometry in the detector description
+setup; see Section <a href="#sect.ParaGeom" title="
+Parallel Geometries
+">the section called &#8220;
+Parallel Geometries
+&#8221;</a> for how to define a parallel
+geometry and register it to the run-manager.
+</p><p>
+The <tt class="literal">G4TransportationManager</tt> 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>
+Fast navigation in regular patterned geometries and phantoms
+</h4></div></div><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 DICOM phantoms for medical physics studies.
+</p><p>
+The class <tt class="literal">G4RegularNavigation</tt> is used and automatically
+activated when such geometries are defined. It is required to the user to
+implement a parameterisation of the kind <tt class="literal">G4PhantomParameterisation</tt>
+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 <tt class="literal">fVoxelHalfX</tt> is the half dimension of the voxel along
+<tt class="literal">X</tt> and <tt class="literal">fNoVoxelX</tt> is the number of voxels
+in the <tt class="literal">X</tt> dimension.
+Voxel <tt class="literal">0</tt> will be the one closest to the corner
+<tt class="literal">(fVoxelHalfX*fNoVoxelX, fVoxelHalfY*fNoVoxelY, fVoxelHalfZ*fNoVoxelZ)</tt>.
+</p><p>
+Having the voxels filling completely the container volume allows to avoid
+the lengthy computation of <tt class="literal">ComputeStep()</tt> and
+<tt class="literal">ComputeSafety</tt> 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><h4><a name="id479038"></a>
+Skipping borders of voxels with same material
+</h4><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 <tt class="literal">skip = 0</tt>:
+
+</p><div class="informalexample"><pre class="programlisting">
+  G4RegularParameterisation::SetSkipEqualMaterials( G4bool skip );
+</pre></div><p>
+</p><h4><a name="id479066"></a>
+Example
+</h4><p>
+To use the specialised navigation, it is required to first create an object
+of type  <tt class="literal">G4PhantomParameterisation</tt>:
+
+</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
+<tt class="literal">examples/extended/medical/DICOM</tt>. It implements a real
+application for reading <tt class="literal">DICOM</tt> 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
+<tt class="literal">G4PhantomParameterisation</tt>).
+
+</div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Geom.Navig.RunTime"></a>
+Run-time commands
+</h4></div></div><div></div></div><p>
+When running in <span class="emphasis"><em>verbose</em></span> mode (i.e. the default,
+<tt class="literal">G4VERBOSE</tt> 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>
+Setting Geometry Tolerance to be relative
+</h4></div></div><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 <tt class="literal">G4GeometryManager</tt> 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, <tt class="literal">WorldExtent</tt> is the actual maximum extent of the
+world volume used for placing the whole geometry setup.
+</p><p>
+Such call to <tt class="literal">G4GeometryManager</tt> must be done
+<span class="bold"><b>before</b></span> defining any geometrical component of
+the setup (solid shape or volume), and can be done only
+<span class="bold"><b>once</b></span> !
+</p><p>
+The class <tt class="literal">G4GeometryTolerance</tt> 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>
+A Simple Geometry Editor
+</h3></div></div><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 <tt class="literal">G4Element</tt>,
+    <tt class="literal">G4Material</tt>, <tt class="literal">G4Solids</tt>, 
+    <tt class="literal">G4LogicalVolume</tt>,
+    <tt class="literal">G4PVPlacement</tt>, 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 and is part of Java MOMO Framework. 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 part of the MOMO Framework can be found in the 
+Geant4 distribution under the <tt class="literal">geant4/enviroments/MOMO</tt>
+directory.
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Geom.Edit.Mate"></a>
+Materials: elements and mixtures
+</h4></div></div><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"><b>Use</b></span> marks the used materials.
+    </p><p>
+  </p></li><li><p>
+    Constructor to create a material from a combination of
+    elements, subsequently added via <tt class="literal">AddElement</tt>
+    </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"><b>Elements</b></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>
+Solids
+</h4></div></div><div></div></div><p>
+The most popular CSG solids (<tt class="literal">G4Box</tt>, <tt class="literal">G4Tubs</tt>,
+<tt class="literal">G4Cons</tt>, <tt class="literal">G4Trd</tt>) 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>
+Logical Volume
+</h4></div></div><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
+<tt class="literal">G4FieldManager</tt> and <tt class="literal">G4VSensitiveDetector</tt> 
+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>
+Physical Volume
+</h4></div></div><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>
+Generation of C++ code: <tt class="literal">MyDetectorConstruction.cc</tt>
+</h4></div></div><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
+<tt class="literal">MyDetectorConstruction.cc</tt> and <tt class="literal">.hh</tt> 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>
+Visualization
+</h4></div></div><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 <tt class="literal">MyDetectorConstruction.cc</tt>
+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>
+Converting Geometries from Geant3.21
+</h3></div></div><div></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Geom.ConvGeom.App"></a>
+Approach
+</h4></div></div><div></div></div><p>
+<span class="bold"><b>G3toG4</b></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 <tt class="literal">rztog4</tt> 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
+    <tt class="literal">rztog4</tt> is FORTRAN.
+  </p></li><li><p>
+    A call list interpreter (<tt class="literal">G4BuildGeom.cc</tt>) 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>
+Importing converted geometries into Geant4
+</h4></div></div><div></div></div><p>
+Two examples of how to use the call list interpreter are
+supplied in the directory <tt class="literal">examples/extended/g3tog4</tt>:
+
+</p><div class="orderedlist"><ol type="1" compact><li><p>
+    <tt class="literal">cltog4</tt> is a simple example which simply invokes the
+    call list interpreter method <tt class="literal">G4BuildGeom</tt> from the
+    <tt class="literal">G3toG4DetectorConstruction</tt> class, builds the geometry and
+    exits.
+  </p></li><li><p>
+    <tt class="literal">clGeometry</tt>, 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 <tt class="literal">G4LIB_BUILD_G3TOG4</tt> 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 <tt class="literal">source/g3tog4</tt> directory.
+</p><p>
+To build the converter executable <tt class="literal">rztog4</tt>, 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 <tt class="literal">G3toG4</tt> 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>
+Current Status
+</h4></div></div><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
+    <tt class="literal">GTRA</tt>, <tt class="literal">CTUB</tt>.
+  </p></li><li><p>
+    <tt class="literal">PGON</tt>, <tt class="literal">PCON</tt> are built using the
+    <span class="emphasis"><em>specific</em></span> solids <tt class="literal">G4Polycone</tt> and
+    <tt class="literal">G4Polyhedra</tt>.
+  </p></li><li><p>
+    GEANT 3.21 <tt class="literal">MANY</tt> feature is only partially
+    supported.
+    <tt class="literal">MANY</tt> positions are resolved in the 
+    <tt class="literal">G3toG4MANY()</tt> function, which has to be processed before
+    <tt class="literal">G3toG4BuildTree()</tt> (it is not called by default).
+    In order to resolve <tt class="literal">MANY</tt>, the user code has to provide
+    additional info using <tt class="literal">G4gsbool(G4String volName, G4String
+    manyVolName)</tt> function for all the overlapping volumes.
+    Daughters of overlapping volumes are then resolved automatically
+    and should not be specified via <tt class="literal">Gsbool</tt>.
+    </p><p>
+    <span class="bold"><b>Limitation</b></span>: a volume with a 
+    <tt class="literal">MANY</tt> position can have
+    only this one position; if more than one position is needed a new
+    volume has to be defined (<tt class="literal">gsvolu()</tt>) for each
+    position.
+    </p><p>
+  </p></li><li><p>
+    <tt class="literal">GSDV*</tt> routines for dividing volumes are implemented,
+    using <tt class="literal">G4PVReplica</tt>s, for shapes:
+
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        <tt class="literal">BOX</tt>, <tt class="literal">TUBE</tt>, 
+        <tt class="literal">TUBS</tt>, <tt class="literal">PARA</tt> - all axes;
+      </p></li><li><p>
+        <tt class="literal">CONE</tt>, <tt class="literal">CONS</tt> - axes 2, 3;
+      </p></li><li><p>
+        <tt class="literal">TRD1</tt>, <tt class="literal">TRD2</tt>, 
+        <tt class="literal">TRAP</tt> - axis 3;
+      </p></li><li><p>
+        <tt class="literal">PGON</tt>, <tt class="literal">PCON</tt> - axis 2;
+      </p></li><li><p>
+        <tt class="literal">PARA</tt> -axis 1; axis 2,3 for a special case
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    <tt class="literal">GSPOSP</tt> is implemented via individual logical volumes
+    for each instantiation.
+  </p></li><li><p>
+    <tt class="literal">GSROTM</tt> is implemented. Reflections of hierachies based
+    on plain CSG solids are implemented through the <tt class="literal">G3Division</tt>
+    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>
+Detecting Overlapping Volumes
+</h3></div></div><div></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Geom.Overlap.Prob"></a>
+The problem of overlapping volumes
+</h4></div></div><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>
+Detecting overlaps: built-in kernel commands
+</h4></div></div><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="#fig.Geom.Overlap_1" title="Figure 4.4. 
+  Different cases of placed volumes overlapping each other.
+">Figure 4.4, &#8220;
+  Different cases of placed volumes overlapping each other.
+&#8221;</a>:
+
+</p><div class="figure"><a name="fig.Geom.Overlap_1"></a><p class="title"><b>Figure 4.4. 
+  Different cases of placed volumes overlapping each other.
+</b></p><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>
+</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>
+Detecting overlaps at construction
+</h4></div></div><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
+<tt class="literal">G4PVPlacement</tt> constructor in 
+<a href="#sect.Geom.PhysVol.PlaceSingle" title="
+Placements: single positioned copy
+">the section called &#8220;
+Placements: single positioned copy
+&#8221;</a>) or a parameterised
+volume (see <tt class="literal">G4PVParameterised</tt> constructor in 
+<a href="#sect.Geom.PhysVol.RepeatVol" title="
+Repeated volumes
+">the section called &#8220;
+Repeated volumes
+&#8221;</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 <tt class="literal">G4PVPlacement</tt> and
+<tt class="literal">G4PVParameterised</tt> 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 <tt class="literal">true</tt> 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"><b>Using the visualization driver: DAVID</b></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="#fig.Geom.Overlap_2" title="Figure 4.5. 
+  A geometry with overlapping volumes highlighted by DAVID.
+">Figure 4.5, &#8220;
+  A geometry with overlapping volumes highlighted by DAVID.
+&#8221;</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><p class="title"><b>Figure 4.5. 
+  A geometry with overlapping volumes highlighted by DAVID.
+</b></p><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>
+</p><p>
+At present physical volumes made of the following solids are
+able to be debugged: <tt class="literal">G4Box</tt>, <tt class="literal">G4Cons</tt>,
+<tt class="literal">G4Para</tt>, <tt class="literal">G4Sphere</tt>, <tt class="literal">G4Trd</tt>,
+<tt class="literal">G4Trap</tt>, <tt class="literal">G4Tubs</tt>. (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="#sect.VisDrv" title="
+The Visualization Drivers
+">the section called &#8220;
+The Visualization Drivers
+&#8221;</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
+<tt class="literal">prim2wrml</tt> 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>
+Using the geometry debugging tool OLAP
+</h4></div></div><div></div></div><p>
+<span class="bold"><b>OLAP</b></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
+<tt class="literal">geant4/examples/extended/geometry</tt>. The technique consists
+in shooting <tt class="literal">geantinos</tt> 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
+<tt class="literal">G4VUserDetectorConstruction</tt> and is used to construct the
+<tt class="literal">OlapDetConstr</tt> class of the tool. A dummy class
+<tt class="literal">RandomDetector</tt> 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 <tt class="literal">/olap/cd</tt> 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 <tt class="literal">/olap/goto
+[regexp]</tt> can be used to jump to the first logical volume
+matching the expression <tt class="literal">[regexp]</tt>. Every successful
+navigation command (<tt class="literal">/olap/cd</tt>, <tt class="literal">olap/goto</tt>) results
+in the construction of a <tt class="literal">NewWorld</tt>, the mother volume being
+the argument of the command and the daughter volumes being the
+direct daughters of the mother volume.
+</p><p>
+<tt class="literal">/olap/pwd</tt> always shows where in the full geometrical
+hierarchy the current <tt class="literal">NewWorld</tt> and mother volume are
+located.
+</p><p>
+For more detailed information, view the <tt class="literal">README</tt> 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>
+Dynamic Geometry Setups
+</h3></div></div><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 <tt class="literal">G4RunManager</tt> 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 <tt class="literal">G4RunManager</tt>.
+</b></p><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><p>
+</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
+<tt class="literal">G4RunManager</tt>. 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>
+Importing XML Models Using GDML
+</h3></div></div><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
+<a href="http://cern.ch/gdml/doc/GDMLmanual.pdf" target="_top">GDML documentation</a>.
+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>
+Examples of how to import and export a detector description model based on
+<a href="http://cern.ch/gdml/" target="_top"><span class="bold"><b>GDML</b></span></a>,
+and also how to extend the GDML schema, are provided and can be found in
+<tt class="literal">examples/extended/persistency/gdml</tt>. 
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Geom.ASCII"></a>
+Importing ASCII Text Models
+</h3></div></div><div></div></div><p>
+Since release 9.2 of Geant4, it is also possible to import geometry setups
+based on a plain text description, according to a well defined syntax for
+identifying the different geometrical entities (solids, volumes, materials
+and volume attributes) with associated parameters.
+
+An example showing how to define a geometry in plain text format and import
+it in a Geant4 application is shown in
+<tt class="literal">examples/extended/persistency/P03</tt>.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Geom.Persistency"></a>
+Saving geometry tree objects in binary format
+</h3></div></div><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 class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.Mate"></a>
+Material
+</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Mate.GenCons"></a>
+General considerations
+</h3></div></div><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>
+Introduction to the Classes
+</h3></div></div><div></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Mate.Intro.Iso"></a>
+G4Isotope
+</h4></div></div><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>
+G4Element
+</h4></div></div><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>
+G4Material
+</h4></div></div><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="#sect.G4MatrDb" title="
+Geant4 Material Database
+">the section called &#8220;
+Geant4 Material Database
+&#8221;</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>
+Final Considerations
+</h4></div></div><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>
+Recipes for Building Elements and Materials
+</h3></div></div><div></div></div><p>
+<a href="#programlist_Mate_1" title="Example 4.10. 
+A program which illustrates the different ways to define materials.
+">Example 4.10, &#8220;
+A program which illustrates the different ways to define materials.
+&#8221;</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><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 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
+<tt class="literal">PhysicalConstants.hh</tt>.
+</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="#programlist_Mate_2" title="Example 4.11. 
+A program which shows how to define materials from the internal database.
+">Example 4.11, &#8220;
+A program which shows how to define materials from the internal database.
+&#8221;</a> illustrates 
+how to do this for the same materials used in 
+<a href="#programlist_Mate_1" title="Example 4.10. 
+A program which illustrates the different ways to define materials.
+">Example 4.10, &#8220;
+A program which illustrates the different ways to define materials.
+&#8221;</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="#sect.G4MatrDb" title="
+Geant4 Material Database
+">the section called &#8220;
+Geant4 Material Database
+&#8221;</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><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><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Mate.Tables"></a>
+The Tables
+</h3></div></div><div></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Mate.Tables.PrintCons"></a>
+Print a constituent
+</h4></div></div><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>
+Print the table of materials
+</h4></div></div><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="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.EMField"></a>
+Electromagnetic Field
+</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.EMField.Overview"></a>
+An Overview of Propagation in a Field
+</h3></div></div><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><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 class="mediaobject" align="center"><img src="./AllResources/Detector/electroMagneticField.src/MissDistance.jpg" align="middle" alt="Miss Distance"></div></div><p>
+</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><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 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>
+</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>
+Practical Aspects
+</h3></div></div><div></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.EMField.Pract.MagField"></a>
+Creating a Magnetic Field for a Detector
+</h4></div></div><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
+<tt class="literal">SetDeltaChord</tt> 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>
+Creating a Field for a Part of the Volume Hierarchy
+</h4></div></div><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 <tt class="literal">G4FieldManager</tt> 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 <tt class="literal">SetFieldManager</tt> you choose
+whether  daughter volumes of this logical volume will also be given this new
+field.  If it has the value <tt class="literal">true</tt>, the field will be
+assigned also to its daughters, and all their sub-volumes.  
+Else, if it is <tt class="literal">false</tt>,  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>
+Creating an Electric or Electromagnetic Field
+</h4></div></div><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="#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, &#8220;
+How to define a uniform electric field for the whole of a detector, 
+extracted from example in examples/extended/field/field02 .
+&#8221;</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><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><p>
+</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
+<tt class="literal">G4VField</tt>, and an associated Equation of Motion class
+(inheriting from <tt class="literal">G4EqRhs</tt>) 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>
+Choosing a Stepper
+</h4></div></div><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
+<tt class="literal">G4SimpleHeum</tt>, the second order <tt class="literal">G4ImplicitEuler</tt>
+and <tt class="literal">G4SimpleRunge</tt>, and the first order
+<tt class="literal">G4ExplicitEuler</tt>. 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
+(<tt class="literal">G4ClassicalRK4</tt>):
+
+</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>
+How to Adjust the Accuracy of Propagation
+</h4></div></div><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><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><p>
+</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>
+Choosing different accuracies for the same volume
+</h4></div></div><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>
+Parameters that must scale with problem size
+</h4></div></div><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"><b>maximum acceptable step</b></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
+<tt class="literal">G4PropagatorInField</tt>, and can be set by calling its
+<tt class="literal">SetLargestAcceptableStep</tt> method.
+</p><p>
+The <span class="bold"><b>minimum step size</b></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>
+Known Issues
+</h4></div></div><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>
+Spin Tracking
+</h3></div></div><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"><b>notice the 12 </b></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:
+
+<tt class="literal">
+http://geant4-hn.slac.stanford.edu:5090/HyperNews/public/get/emfields/88/3/1.html
+</tt>
+
+for modifications the user is required to make to facilitate
+neutron spin tracking.
+</p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.Hits"></a>
+Hits
+</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Hits.Hit"></a>
+Hit
+</h3></div></div><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><h4><a name="id503322"></a>
+G4VHit
+</h4><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, <tt class="literal">Draw()</tt> and
+<tt class="literal">Print()</tt>. To draw or print out your concrete hits, these
+methods should be implemented. How to define the drawing method is
+described in <a href="#sect.VisPlylMrkTxt" title="
+Polylines, Markers and Text
+">the section called &#8220;
+Polylines, Markers and Text
+&#8221;</a>.
+</p><h4><a name="id503369"></a>
+G4THitsCollection
+</h4><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><h4><a name="id503430"></a>
+An example of a concrete hit class
+</h4><p>
+<a href="#programlist_Hits_1" title="Example 4.14. 
+An example of a concrete hit class.
+">Example 4.14, &#8220;
+An example of a concrete hit class.
+&#8221;</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><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><p>
+</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="#sect.GeneManage" title="
+General management classes
+">the section called &#8220;
+General management classes
+&#8221;</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"><b>only</b></span> for the concrete
+class that is <span class="bold"><b>not</b></span> used as a base 
+class of any other classes.
+For example, do <span class="bold"><b>not</b></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><h4><a name="id503527"></a>
+G4THitsMap
+</h4><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="#sect.Hits.G4Multi" title="
+G4MultiFunctionalDetector and
+G4VPrimitiveScorer
+">the section called &#8220;
+G4MultiFunctionalDetector and
+G4VPrimitiveScorer
+&#8221;</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="#sect.Hits.G4Multi" title="
+G4MultiFunctionalDetector and
+G4VPrimitiveScorer
+">the section called &#8220;
+G4MultiFunctionalDetector and
+G4VPrimitiveScorer
+&#8221;</a>).
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Hits.SensDet"></a>
+Sensitive detector
+</h3></div></div><div></div></div><h4><a name="id503618"></a>
+G4VSensitiveDetector
+</h4><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 <tt class="literal">ProcessHits()</tt> 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="#sect.Hits.ReadGeom" title="
+Readout geometry
+">the section called &#8220;
+Readout geometry
+&#8221;</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 <tt class="literal">myEMcal</tt> 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="#sect.Hits.G4SDMan" title="
+G4SDManager
+">the section called &#8220;
+G4SDManager
+&#8221;</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">
+      <tt class="literal">ProcessHits()</tt>
+    </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 <tt class="literal">NULL</tt>
+      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">
+      <tt class="literal">Initialize()</tt>
+    </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">
+      <tt class="literal">EndOfEvent()</tt>
+    </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>
+Readout geometry
+</h3></div></div><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"><b>ATLAS</b></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><p class="title"><b>Figure 4.8. 
+Association of tracking and readout geometry.
+</b></p><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>
+</p><p>
+<a href="#fig.Hits_1" title="Figure 4.8. 
+Association of tracking and readout geometry.
+">Figure 4.8, &#8220;
+Association of tracking and readout geometry.
+&#8221;</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="#sect.Hits.SensDet" title="
+Sensitive detector
+">the section called &#8220;
+Sensitive detector
+&#8221;</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 <tt class="literal">ROhist</tt> 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><h4><a name="id503994"></a>
+Definition of a virtual geometry setup
+</h4><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 <tt class="literal">build()</tt> 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-<tt class="literal">NULL</tt> <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 <tt class="literal">NULL</tt> pointer in this
+    case of the parallel geometry.
+    </p><p>
+  </p></li><li><p>
+    in the <tt class="literal">construct()</tt> 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 <tt class="literal">build()</tt> method.
+      </p></li><li><p>
+        Instantiate the sensitive detector which will receive the
+        <tt class="literal">ROGeom</tt> pointer, <tt class="literal">MySensitive</tt>, 
+        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>
+G4SDManager
+</h3></div></div><div></div></div><p>
+<span class="emphasis"><em>G4SDManager</em></span> is the singleton manager class for sensitive
+detectors.
+</p><h4><a name="id504228"></a>
+Activation/inactivation of sensitive detectors
+</h4><p>
+The user interface commands <tt class="literal">activate</tt> and
+<tt class="literal">inactivate</tt> 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 <tt class="literal">detector_name</tt> 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 <tt class="literal">myCal</tt>
+category.
+</p><h4><a name="id504291"></a>
+Access to the hit collections
+</h4><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>
+<span class="emphasis"><em>G4MultiFunctionalDetector</em></span> and
+<span class="emphasis"><em>G4VPrimitiveScorer</em></span>
+</h3></div></div><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="#sect.Hits.G4VPrim" title="
+Concrete classes of G4VPrimitiveScorer
+">the section called &#8220;
+Concrete classes of G4VPrimitiveScorer
+&#8221;</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"><b>not</b></span> be
+shared by more than one <span class="emphasis"><em>G4MultiFunctionalDetector</em></span>
+object.
+</p><p>As mentioned in <a href="#sect.Hits.Hit" title="
+Hit
+">the section called &#8220;
+Hit
+&#8221;</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="#sect.Hits.G4VPrim" title="
+Concrete classes of G4VPrimitiveScorer
+">the section called &#8220;
+Concrete classes of G4VPrimitiveScorer
+&#8221;</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="#programlist_Hits_2" title="Example 4.15. 
+An example of defining primitive sensitivity classes taken from
+ExN07DetectorConstruction.
+">Example 4.15, &#8220;
+An example of defining primitive sensitivity classes taken from
+ExN07DetectorConstruction.
+&#8221;</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><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><p>
+</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"><b>the pointer</b></span> of the value. 
+Please note that the [] operator returns 
+<span class="bold"><b>the pointer</b></span> of the value. If
+you get zero from the [] operator, it does <span class="bold"><b>not</b></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="#programlist_Hits_3" title="Example 4.16. 
+An example of accessing to G4THitsMap objects.
+">Example 4.16, &#8220;
+An example of accessing to G4THitsMap objects.
+&#8221;</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><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><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Hits.G4VPrim"></a>
+Concrete classes of <span class="emphasis"><em>G4VPrimitiveScorer</em></span>
+</h3></div></div><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><h4><a name="id504669"></a>
+Track length scorers
+</h4><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><h4><a name="id504731"></a>
+<span class="bold"><b>Deposited energy scorers</b></span>
+</h4><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><h4><a name="id504792"></a>
+<span class="bold"><b>Current and flux scorers</b></span>
+</h4><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"><b>inner surface</b></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><h4><a name="id504927"></a>
+<span class="bold"><b>Other scorers</b></span>
+</h4><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>
+<span class="emphasis"><em>G4VSDFilter</em></span> and its derived classes
+</h3></div></div><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="#programlist_Hits_2" title="Example 4.15. 
+An example of defining primitive sensitivity classes taken from
+ExN07DetectorConstruction.
+">Example 4.15, &#8220;
+An example of defining primitive sensitivity classes taken from
+ExN07DetectorConstruction.
+&#8221;</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>
+Scoring for Event Biasing
+</h3></div></div><div></div></div><p>
+Scoring for Event Biasing (described in <a href="#sect.EvtBias" title="
+Event Biasing Techniques
+">the section called &#8220;
+Event Biasing Techniques
+&#8221;</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="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.Digi"></a>
+Digitization
+</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Digi.Digi"></a>
+Digi
+</h3></div></div><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 <tt class="literal">Digitize()</tt>
+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><h4><a name="id507873"></a>
+G4VDigi
+</h4><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, <tt class="literal">Draw()</tt> and <tt class="literal">Print()</tt>.
+</p><h4><a name="id507908"></a>
+G4TDigiCollection
+</h4><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>
+Digitizer module
+</h3></div></div><div></div></div><h4><a name="id507969"></a>
+G4VDigitizerModule
+</h4><p>
+<span class="emphasis"><em>G4VDigitizerModule</em></span> is an abstract base class which
+represents a digitizer module. It has a pure virtual method,
+<tt class="literal">Digitize()</tt>. 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 <tt class="literal">Digitize()</tt>
+method. You have to implement your code to invoke this method of
+your digitizer module.
+</p><p>
+In the <tt class="literal">Digitize()</tt> 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><h4><a name="id508024"></a>
+G4DigiManager
+</h4><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><h4><a name="id508099"></a>
+How to get hitsCollection and/or digiCollection
+</h4><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, <tt class="literal">n</tt> indicates the hits or digits collection of the
+<tt class="literal">n</tt><sup>th</sup> previous event.
+</p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.ObjPers"></a>
+Object Persistency
+</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.ObjPers.PersG4"></a>
+Persistency in Geant4
+</h3></div></div><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><p class="title"><b>Figure 4.9. 
+Persistent object.
+</b></p><div class="mediaobject" align="center"><img src="./AllResources/Detector/persistency.src/pobject.gif" align="middle" alt="Persistent object."></div></div><p>
+</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
+<tt class="literal">examples/extended/persistency</tt>.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.ObjPers.Reflex"></a>
+Using Reflex for persistency of Geant4 objects
+</h3></div></div><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 <tt class="literal">v5.08</tt>).
+</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
+    <tt class="literal">genreflex</tt> 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
+    <tt class="literal">WriteObject</tt> method of <tt class="literal">TFile</tt> with 
+    the pointer to the appropriate object as argument (usually it is some sort 
+    of container, like <tt class="literal">std::vector</tt> containing the collection 
+    of objects to be persistified)
+  </p></li></ol></div><p>
+</p><p>
+The two examples (<tt class="literal">P01</tt> and <tt class="literal">P02</tt>) provided
+in <tt class="literal">examples/extended/persistency</tt>
+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="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.ParaGeom"></a>
+Parallel Geometries
+</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.ParaGeom.ParaWrld"></a>
+A parallel world
+</h3></div></div><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 parallel navigation functionality
+introduced since release 8.2 of Geant4, allows the user to define
+more than one worlds simultaneously.
+The <tt class="literal">G4Transportation</tt> process will see all worlds
+simultaneously; steps will be limited by both boundaries of the
+mass 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
+    <tt class="literal">G4Transportation</tt> 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 <tt class="literal">G4SteppingManager</tt>
+    treats only the detectors in the mass geometry. For this case of
+    detector sensitivity defined in a parallel world, a
+    <tt class="literal">G4ParallelWorldScoringProcess</tt> process must be defined 
+    in the physics list (see 
+    <a href="#sect.ParaGeom.SenstivParaWrld" title="
+Detector sensitivity in a parallel world
+">the section called &#8220;
+Detector sensitivity in a parallel world
+&#8221;</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>
+Defining a parallel world
+</h3></div></div><div></div></div><p>
+A parallel world should be defined in the <tt class="literal">Construct()</tt>
+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="id509332"></a><p class="title"><b>Example 4.17. 
+An example header file of a concrete user parallel world class.
+</b></p><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><p>
+</p><p>
+A parallel world must have its unique name, which should be set
+to the <tt class="literal">G4VUserParallelWorld</tt> base class as an argument of
+the base class constructor.
+</p><p>
+The world physical volume of the parallel world is provided by
+the <tt class="literal">G4RunManager</tt> as a clone of the mass geometry. In the
+<tt class="literal">Construct()</tt> virtual method of the user's class, the
+pointer to this cloned world physical volume is available through
+the <tt class="literal">GetWorld()</tt> 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 <tt class="literal">0</tt>. Even if specified a
+valid material pointer, it will not be taken into account by any
+physics process.
+
+
+</p><div class="example"><a name="id509408"></a><p class="title"><b>Example 4.18. 
+An example source code of a concrete user parallel world class.
+</b></p><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><p>
+</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 <tt class="literal">RegisterParallelWorld()</tt> available through
+the class <tt class="literal">G4VUserDetectorConstruction</tt>. The registration
+must be done -before- the mass world is registed to the
+<tt class="literal">G4RunManager</tt>.
+
+</p><div class="example"><a name="id509466"></a><p class="title"><b>Example 4.19. 
+Typical implementation in the <tt class="literal">main()</tt> to define a parallel
+world.
+</b></p><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><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.ParaGeom.SenstivParaWrld"></a>
+Detector sensitivity in a parallel world
+</h3></div></div><div></div></div><p>
+Any kind of <tt class="literal">G4VSensitiveDetector</tt> 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 <tt class="literal">G4ParallelWorldScoringProcess</tt> 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 <tt class="literal">G4Transporation</tt> and prior
+to any other physics processes</span>. The name of the parallel
+world where the <tt class="literal">G4ParallelWorldScoringProcess</tt> is
+responsible for, must be defined through the method
+<tt class="literal">SetParallelWorld()</tt> available from the class
+<tt class="literal">G4ParallelWorldScoringProcess</tt>. If the user has more than
+one parallel worlds with detectors, for each of the parallel
+worlds, dedicated <tt class="literal">G4ParallelWorldScoringProcess</tt> objects
+must be instantiated with the name of each parallel world
+respectively and registered to the particles.
+
+</p><div class="example"><a name="id509581"></a><p class="title"><b>Example 4.20. 
+Define <tt class="literal">G4ParallelWorldScoringProcess</tt>.
+</b></p><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><p>
+</p><p>
+At the end of processing an event, all hits collections made for
+the parallel world are stored in <tt class="literal">G4HCofThisEvent</tt> as well
+as those for the mass geometry.
+</p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.CommandScore"></a>
+Command-based scoring
+</h2></div></div><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>
+Command-based scoring
+</h3></div></div><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 <tt class="literal">main()</tt>. To do this, the 
+method <tt class="literal">G4ScoringManager::GetScoringManager()</tt>
+must be invoked <span class="color_red">right after</span>
+the instantiation of <tt class="literal">G4RunManager</tt>.
+
+</p><div class="example"><a name="id510221"></a><p class="title"><b>Example 4.21. 
+A user <tt class="literal">main()</tt> to use the command-based scoring
+</b></p><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><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.CommandScore.Mesh"></a>
+Defining a scoring mesh
+</h3></div></div><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 <tt class="literal">G4Box</tt>.
+  </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 <tt class="literal">/score/filter</tt>
+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 <tt class="literal">/score/close</tt>
+command. The following sample UI commands define a scoring mesh named <tt class="literal">boxMesh_1</tt>,
+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="id510346"></a><p class="title"><b>Example 4.22. 
+UI commands to define a scoring mesh and scorers
+</b></p><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><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.CommandScore.Draw"></a>
+Drawing scores
+</h3></div></div><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><p class="title"><b>Figure 4.10. 
+Drawing scores in slices (left) and projection (right)
+</b></p><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>
+</p><p>
+By default, entries are linearly mapped to colors (gray - blue - green - red).
+This color mapping is implemented in <tt class="literal">G4DefaultLinearColorMap</tt>
+class, and registered to <tt class="literal">G4ScoringManager</tt> with the color map
+name <tt class="literal">"defaultLinearColorMap"</tt>. The user may alternate color map
+by implementing his/her own color map class derived from <tt class="literal">G4VScoreColorMap</tt>
+and register it to <tt class="literal">G4ScoringManager</tt>. Then, for each <tt class="literal">draw</tt>
+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>
+Writing scores to a file
+</h3></div></div><div></div></div><p>
+The user may dump a score in a mesh (<tt class="literal">/score/dumpQuantityToFile</tt> command) 
+or all scores in a mesh (<tt class="literal">/score/dumpAllQuantitiesToFile</tt> command) to a file.
+The default file format is the simple CSV. To alternate the file format, the user should
+overwrite <tt class="literal">G4VScoreWriter</tt> class and register it to <tt class="literal">G4ScoringManager</tt>.
+Please refer to <tt class="literal">/examples/extended/runAndEvent/RE03</tt> for the detail.
+</p></div></div></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></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#sect.Track">
+Tracking
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.Track.Basic">
+Basic Concepts
+</a></span></dt><dt><span class="sect2"><a href="#sect.Track.AccInfo">
+Access to Track and Step Information
+</a></span></dt><dt><span class="sect2"><a href="#sect.Track.SecPar">
+Handling of Secondary Particles
+</a></span></dt><dt><span class="sect2"><a href="#sect.Track.UserAct">
+User Actions
+</a></span></dt><dt><span class="sect2"><a href="#sect.Track.Verb">
+Verbose Outputs
+</a></span></dt><dt><span class="sect2"><a href="#sect.Track.Traj">
+Trajectory and Trajectory Point
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.PhysProc">
+Physics Processes
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.PhysProc.EleMag">
+Electromagnetic Interactions
+</a></span></dt><dt><span class="sect2"><a href="#sect.PhysProc.Had">
+Hadronic Interactions
+</a></span></dt><dt><span class="sect2"><a href="#sect.PhysProc.Decay">
+Particle Decay Process
+</a></span></dt><dt><span class="sect2"><a href="#sect.PhysProc.PhotoHad">
+Photolepton-hadron Processes
+</a></span></dt><dt><span class="sect2"><a href="#sect.PhysProc.Photo">
+Optical Photon Processes
+</a></span></dt><dt><span class="sect2"><a href="#sect.PhysProc.Param">
+Parameterization
+</a></span></dt><dt><span class="sect2"><a href="#sect.PhysProc.Trans">
+Transportation Process
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.Parti">
+Particles
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.Parti.Basic">
+Basic concepts
+</a></span></dt><dt><span class="sect2"><a href="#sect.Parti.Def">
+Definition of a particle
+</a></span></dt><dt><span class="sect2"><a href="#sect.Parti.Dynam">
+Dynamic particle
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.ProThres">
+Production Threshold versus Tracking Cut
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.ProThres.Gen">
+General considerations
+</a></span></dt><dt><span class="sect2"><a href="#sect.ProThres.Set">
+Set production threshold (SetCut methods)
+</a></span></dt><dt><span class="sect2"><a href="#sect.ProThres.Apply">
+Apply cut
+</a></span></dt><dt><span class="sect2"><a href="#sect.ProThres.WhyProd">
+Why produce secondaries below threshold?
+</a></span></dt><dt><span class="sect2"><a href="#sect.ProThres.RangOrEner">
+Cuts in stopping range or in energy?
+</a></span></dt><dt><span class="sect2"><a href="#sect.ProThres.Sum">
+Summary
+</a></span></dt><dt><span class="sect2"><a href="#sect.ProThres.Spe">
+Special tracking cuts
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.CutReg">
+Cuts per Region
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.CutReg.Gene">
+General Concepts
+</a></span></dt><dt><span class="sect2"><a href="#sect.CutReg.DefReg">
+Default Region
+</a></span></dt><dt><span class="sect2"><a href="#sect.CutReg.Assig">
+Assigning Production Cuts to a Region
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.PhysTab">
+Physics Table
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.PhysTab.Gene">
+General Concepts
+</a></span></dt><dt><span class="sect2"><a href="#sect.PhysTab.MateCoup">
+Material-Cuts Couple
+</a></span></dt><dt><span class="sect2"><a href="#sect.PhysTab.Fio">
+File I/O for the Physics Table
+</a></span></dt><dt><span class="sect2"><a href="#sect.PhysTab.Build">
+Building the Physics Table
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.Ulim">
+User Limits
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.Ulim.Gene">
+General Concepts
+</a></span></dt><dt><span class="sect2"><a href="#sect.Ulim.Proc">
+Processes co-working with G4UserLimits
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.G4Error">
+Track Error Propagation
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.G4Error.Physics">
+Physics
+</a></span></dt><dt><span class="sect2"><a href="#sect.G4Error.TrajState">
+Trajectory state
+</a></span></dt><dt><span class="sect2"><a href="#sect.G4Error.Err">
+Trajectory state error
+</a></span></dt><dt><span class="sect2"><a href="#sect.G4Error.Target">
+Targets 
+</a></span></dt><dt><span class="sect2"><a href="#sect.G4Error.Propagation">
+Managing the track propagation
+</a></span></dt><dt><span class="sect2"><a href="#sect.G4Error.StepLimits">
+Limiting the step
+</a></span></dt></dl></dd></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.Track"></a>
+Tracking
+</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Track.Basic"></a>
+Basic Concepts
+</h3></div></div><div></div></div><h4><a name="id531457"></a>
+Philosophy of Tracking
+</h4><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
+<tt class="literal">Stepping()</tt> 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><h4><a name="id531704"></a>
+What is a Step?
+</h4><p>
+<span class="emphasis"><em>G4Step</em></span> stores the transient information of a step. This
+includes the two endpoints of the step, <tt class="literal">PreStepPoint</tt> and
+<tt class="literal">PostStepPoint</tt>, 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><h4><a name="id531740"></a>
+What is a Track?
+</h4><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
+<tt class="literal">AlongStepDoIt</tt>s are being invoked for the step in progress.
+Only after finishing all <tt class="literal">AlongStepDoIt</tt>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 <tt class="literal">PostStepDoIt</tt>.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Track.AccInfo"></a>
+Access to Track and Step Information
+</h3></div></div><div></div></div><h4><a name="id531805"></a>
+How to Get Track Information
+</h4><p>
+Track information may be accessed by invoking various
+<tt class="literal">Get</tt> methods provided in the <span class="emphasis"><em>G4Track</em></span> 
+class. For details, see the 
+<span class="bold"><b>Software Reference Manual</b></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><h4><a name="id531933"></a>
+How to Get Step Information
+</h4><p>
+Step and step-point information can be retrieved by invoking
+various <tt class="literal">Get</tt> 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"><b>Software Reference Manual</b></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 <tt class="literal">PreStep</tt> and 
+    <tt class="literal">PostStepPoint</tt>
+  </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 <tt class="literal">PreStepPoint</tt>
+    and <tt class="literal">PostStepPoint</tt>
+  </p></li><li><p>
+    Increment of momentum and energy between  <tt class="literal">PreStepPoint</tt>
+    and <tt class="literal">PostStepPoint</tt>. (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 <tt class="literal">G4Track</tt>
+  </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> 
+(<tt class="literal">PreStepPoint</tt> and <tt class="literal">PostStepPoint</tt>) 
+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 <tt class="literal">DoIt</tt> type
+  </p></li><li><p>
+    Pointer to the physics process which defined the previous step
+    and its <tt class="literal">DoIt</tt> 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><h4><a name="id532192"></a>
+How to Get "particle change"
+</h4><p>
+Particle change information can be accessed by invoking various
+<tt class="literal">Get</tt> methods provided in the 
+<span class="emphasis"><em>G4ParticleChange</em></span> class.
+Typical information available includes (for details, see the
+<span class="bold"><b>Software Reference Manual</b></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>
+Handling of Secondary Particles
+</h3></div></div><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>
+    <tt class="literal">AddSecondary( G4Track* aSecondary )</tt>
+  </p></li><li><p>
+    <tt class="literal">AddSecondary( G4DynamicParticle* aSecondary )</tt>
+  </p></li><li><p>
+    <tt class="literal">AddSecondary( G4DynamicParticle* aSecondary, G4ThreeVector
+    position )</tt>
+  </p></li><li><p>
+    <tt class="literal">AddSecondary( G4DynamicParticle* aSecondary, G4double time)</tt>
+  </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>
+User Actions
+</h3></div></div><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"><b>Software Reference Manual</b></span>.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Track.Verb"></a>
+Verbose Outputs
+</h3></div></div><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>
+Trajectory and Trajectory Point
+</h3></div></div><div></div></div><h4><a name="id532497"></a>
+G4Trajectory and G4TrajectoryPoint
+</h4><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><h4><a name="id532700"></a>
+Customizing trajectory and trajectory point
+</h4><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 class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.PhysProc"></a>
+Physics Processes
+</h2></div></div><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="#sect.PhysProc.EleMag" title="
+Electromagnetic Interactions
+">
+    electromagnetic
+    </a>
+    ,
+  </p></li><li><p>
+    <a href="#sect.PhysProc.Had" title="
+Hadronic Interactions
+">
+    hadronic
+    </a>
+    ,
+  </p></li><li><p>
+    <a href="#sect.PhysProc.Decay" title="
+Particle Decay Process
+">
+    decay
+    </a>
+    ,
+  </p></li><li><p>
+    <a href="#sect.PhysProc.PhotoHad" title="
+Photolepton-hadron Processes
+">
+    photolepton-hadron
+    </a>
+    ,
+  </p></li><li><p>
+    <a href="#sect.PhysProc.Photo" title="
+Optical Photon Processes
+">
+    optical
+    </a>
+    ,
+  </p></li><li><p>
+    <a href="#sect.PhysProc.Param" title="
+Parameterization
+">
+    parameterization
+    </a>
+    and
+  </p></li><li><p>
+    <a href="#sect.PhysProc.Trans" title="
+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, <tt class="literal">GetPhysicalInteractionLength</tt> (GPIL) and
+<tt class="literal">DoIt</tt>. 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
+<tt class="literal">DoIt</tt> method should be invoked. The <tt class="literal">DoIt</tt> 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="#brhead.PhysProc.PrtChng">
+Particle Change</a>).
+</p><h4><a name="id534490"></a>
+G4VProcess
+</h4><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 <tt class="literal">DoIt</tt> methods:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <tt class="literal">G4VParticleChange* AlongStepDoIt( const G4Track&amp; track,
+    const G4Step&amp; stepData )</tt>
+    </p><p>
+    This method is invoked while <span class="emphasis"><em>G4SteppingManager</em></span> is
+    transporting a particle through one step. The corresponding
+    <tt class="literal">AlongStepDoIt</tt> 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 <tt class="literal">AlongStepDoIt</tt> are applied to
+    <span class="emphasis"><em>G4Track</em></span>, including the particle relocation and the safety
+    update. Note that after the invocation of <tt class="literal">AlongStepDoIt</tt>,
+    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>
+    <tt class="literal">G4VParticleChange* PostStepDoIt( const G4Track&amp; track,
+    const G4Step&amp; stepData )</tt>
+    </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 <tt class="literal">PostStepDoIt</tt>, in contrast to the
+    <tt class="literal">AlongStepDoIt</tt> method.
+    </p><p>
+  </p></li><li><p>
+    <tt class="literal">G4VParticleChange* AtRestDoIt( const G4Track&amp; track,
+    const G4Step&amp; stepData )</tt>
+    </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 <tt class="literal">DoIt</tt> 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>
+    <tt class="literal">G4double PostStepGetPhysicalInteractionLength( const
+    G4Track&amp; track, G4double previousStepSize, G4ForceCondition*
+    condition )</tt>
+    </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>
+    <tt class="literal">G4double AlongStepGetPhysicalInteractionLength( const
+    G4Track&amp; track, G4double previousStepSize, G4double
+    currentMinimumStep, G4double&amp; proposedSafety, G4GPILSelection*
+    selection )</tt>
+    </p><p>
+    This method generates the step length allowed by its process.
+    </p><p>
+  </p></li><li><p>
+    <tt class="literal">G4double AtRestGetPhysicalInteractionLength( const
+    G4Track&amp; track, G4ForceCondition* condition )</tt>
+    </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>
+    <tt class="literal">virtual G4bool IsApplicable(const
+    G4ParticleDefinition&amp;)</tt>
+    </p><p>
+    returns true if this process object is applicable to the
+    particle type.
+    </p><p>
+  </p></li><li><p>
+      <tt class="literal">virtual void PreparePhysicsTable(const
+      G4ParticleDefinition&amp;)</tt> and
+  </p></li><li><p>
+    <tt class="literal">virtual void BuildPhysicsTable(const
+    G4ParticleDefinition&amp;)</tt>
+    </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>
+    <tt class="literal">virtual void StartTracking()</tt> and
+  </p></li><li><p>
+    <tt class="literal">virtual void EndTracking()</tt>
+    </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><h4><a name="id534809"></a>
+Other base classes for processes
+</h4><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 <tt class="literal">AtRestDoIt</tt> 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 <tt class="literal">PostStepDoIt</tt> 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 <tt class="literal">AlongStepDoIt</tt> and
+      <tt class="literal">PostStepDoIt</tt> 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 <tt class="literal">AtRestDoIt</tt> and
+      <tt class="literal">PostStepDoIt</tt> 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 <tt class="literal">AtRestDoIt</tt> and
+      <tt class="literal">AlongStepDoIt</tt> methods.
+      </p></dd><dt><span class="term"><span class="emphasis"><em>G4VRestContinuousDiscreteProcess</em></span></span></dt><dd><p>
+      Processes using <tt class="literal">AtRestDoIt</tt>, 
+      <tt class="literal">AlongStepDoIt and</tt> PostStepDoIt methods.
+      </p></dd></dl></div><p>
+</p><h4><a name="brhead.PhysProc.PrtChng"></a>
+Particle change
+</h4><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 <tt class="literal">DoIt</tt> 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>
+    <tt class="literal">virtual G4Step* UpdateStepForAtRest( G4Step* step)</tt>, 
+  </p></li><li><p>
+    <tt class="literal">virtual G4Step* UpdateStepForAlongStep( G4Step* step )</tt>
+    and
+  </p></li><li><p>
+    <tt class="literal">virtual G4Step* UpdateStepForPostStep( G4Step* step)</tt>,
+  </p></li></ul></div><p>
+
+which correspond to the three <tt class="literal">DoIt</tt> 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>
+Electromagnetic Interactions
+</h3></div></div><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"><b>Physics Reference Manual</b></span></a>.
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.PhysProc.EleMag.Stand"></a>
+"Standard" Electromagnetic Processes
+</h4></div></div><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="#programlist_PhysProc_1" title="Example 5.1. 
+Registration of standard electromagnetic processes
+">Example 5.1, &#8220;
+Registration of standard electromagnetic processes
+&#8221;</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. 
+<tt class="literal">Registration of standard electromagnetic processes</tt>
+</b></p><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><p>
+</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"><b>Options</b></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"><b>G4EmCalculator</b></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>
+Low Energy Electromagnetic Processes
+</h4></div></div><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"><b>Photon processes</b></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"><b>Electron processes</b></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"><b>Hadron and ion processes</b></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="#programlist_PhysProc_2" title="Example 5.2. 
+Registration of electromagnetic low energy electron/photon processes.
+">Example 5.2, &#8220;
+Registration of electromagnetic low energy electron/photon processes.
+&#8221;</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><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><p>
+</p><p>
+Advanced <span class="bold"><b>examples</b></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"><b>
+<a href="http://geant4.web.cern.ch/geant4/support/download.shtml" target="_top">
+data files
+</a>
+</b></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"><b>G4LEDATA</b></span> to the
+directory where he/she has copied the files.
+</p><p>
+<span class="bold"><b>Options</b></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"><b>Options</b></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"><b>Options</b></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"><b>options</b></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"><b>Options</b></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>
+Very Low energy Electromagnetic Processes (Geant4 DNA extension)
+</h4></div></div><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="#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><h4><a name="id536540"></a>
+ Electron processes
+</h4><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><h4><a name="id536626"></a>
+ Proton processes
+</h4><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><h4><a name="id536733"></a>
+ Hydrogen processes
+</h4><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><h4><a name="id536793"></a>
+ Helium (neutral) processes
+</h4><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><h4><a name="id536876"></a>
+ Helium+ (ionized once) processes
+</h4><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><h4><a name="id536980"></a>
+ Helium++ (ionised twice) processes
+</h4><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>
+Hadronic Interactions
+</h3></div></div><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"><b>Physics Reference Manual</b></span></a>.
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.PhysProc.Had.TreatCross"></a>
+Treatment of Cross Sections
+</h4></div></div><div></div></div><h4><a name="id537151"></a>
+Cross section data sets
+</h4><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 <tt class="literal">True</tt> if the data set is able to
+calculate a total cross section for the given particle and
+material, and <tt class="literal">False</tt> 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 <tt class="literal">True</tt> was
+returned by <tt class="literal">IsApplicable</tt>, 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><h4><a name="id537268"></a>
+Cross section data store
+</h4><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 <tt class="literal">G4Exception</tt> is thrown and <tt class="literal">DBL_MIN</tt> is
+returned. Otherwise, each data set in the list is queried, in
+reverse list order, by invoking its <tt class="literal">IsApplicable</tt> 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 <tt class="literal">GetCrossSection</tt> method. If no data set
+responds positively, a <tt class="literal">G4Exception</tt> is thrown and
+<tt class="literal">DBL_MIN</tt> 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 <tt class="literal">GetCrossSection</tt> request,
+does the <tt class="literal">IsApplicable</tt> 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
+<tt class="literal">BuildPhysicsTable</tt> 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
+<tt class="literal">DumpPhysicsTable</tt> method of each of its data sets.
+</p><h4><a name="id537438"></a>
+Default cross sections
+</h4><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 <tt class="literal">IsApplicable</tt> 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"><b>GHEISHA</b></span> to provide cross-sections 
+for calculation
+of the respective mean free paths of a given particle in a given
+material.
+</p><h4><a name="id537583"></a>
+Cross-sections for low energy neutron transport
+</h4><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, <tt class="literal">NeutronHPCrossSections</tt>,
+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>
+Hadrons at Rest
+</h4></div></div><div></div></div><h4><a name="id537653"></a>
+List of implemented "Hadron at Rest" processes
+</h4><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><h4><a name="id537756"></a>
+Implementation Interface to Geant4
+</h4><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>
+    <tt class="literal">AtRestGetPhysicalInteractionLength( const G4Track&amp;,
+    G4ForceCondition* )</tt>
+    </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>
+    <tt class="literal">AtRestDoIt( const G4Track&amp;, const G4Step&amp;)</tt>
+    </p><p>
+    </p><p>
+    This method generates the secondary particles produced by the
+    process.
+    </p><p>
+  </p></li><li><p>
+    </p><p>
+    <tt class="literal">IsApplicable( const G4ParticleDefinition&amp; )</tt>
+    </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><h4><a name="id537842"></a>
+Example of how to use a hadron at rest process
+</h4><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>
+Hadrons in Flight
+</h4></div></div><div></div></div><h4><a name="id537908"></a>
+What processes do you need?
+</h4><p>
+For hadrons in motion, there are four physics process classes.
+<a href="#table.PhysProc_1" title="Table 5.1. 
+Hadronic processes and relevant particles.
+">Table 5.1, &#8220;
+Hadronic processes and relevant particles.
+&#8221;</a> shows each process and the 
+particles for which it is relevant.
+
+</p><div class="table"><a name="table.PhysProc_1"></a><p class="title"><b>Table 5.1. 
+Hadronic processes and relevant particles.
+</b></p><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>
+</p><h4><a name="id538098"></a>
+How to register Models
+</h4><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 <tt class="literal">PostStepDoIt</tt> function, which returns the
+particle change object from the <span class="emphasis"><em>G4HadronicProcess</em></span> function
+<tt class="literal">GeneralPostStepDoIt</tt>. 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 <tt class="literal">RegisterMe</tt> access function.
+</p><p>
+A sample case for the proton's inelastic interaction model class
+is shown in <a href="#programlist_PhysProc_3" title="Example 5.3. 
+An example of a proton inelastic interaction model class.
+">Example 5.3, &#8220;
+An example of a proton inelastic interaction model class.
+&#8221;</a>, where
+<tt class="literal">G4LEProtonInelastic.hh</tt> 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><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><p>
+</p><p>
+The <tt class="literal">CascadeAndCalculateMomenta</tt> 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 <tt class="literal">ApplyYourself</tt> 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
+<tt class="literal">Set/GetMinEnergy</tt> and the <tt class="literal">Set/GetMaxEnergy</tt>
+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><h4><a name="id538373"></a>
+Which models are there, and what are the defaults
+</h4><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"><b>GHEISHA</b></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
+    <tt class="literal">hadronics/models/low_energy</tt> and
+    <tt class="literal">hadronics/models/high_energy</tt>. 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
+    <tt class="literal">hadronics/models/neutron_hp</tt>. The modeling is based 
+    on the data formats of <span class="bold"><b>ENDF/B-VI</b></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
+    <tt class="literal">hadronics/models/generator</tt>. 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>
+Particle Decay Process
+</h3></div></div><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"><b>Physics Reference Manual</b></span></a>.
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.PhysProc.Decay.Class"></a>
+Particle Decay Class
+</h4></div></div><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><tt class="literal">G4ParticleDefinition::thePDGMass &lt;= 0</tt></dd><dt><span class="term">
+      particles with ``negative'' life time, i.e.,
+    </span></dt><dd><tt class="literal">G4ParticleDefinition::thePDGLifeTime &lt; 0</tt></dd><dt><span class="term">
+      shortlived particles, i.e.,
+    </span></dt><dd><tt class="literal">G4ParticleDefinition::fShortLivedFlag = True</tt></dd></dl></div><p>
+</p><p>
+Decay for some particles may be switched on or off by using
+<tt class="literal">G4ParticleDefinition::SetPDGStable()</tt> as well as
+<tt class="literal">ActivateProcess()</tt> and <tt class="literal">InActivateProcess()</tt> 
+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
+<tt class="literal">AtRest</tt>) according to the lifetime of the particle unless
+<tt class="literal">PreAssignedDecayProperTime</tt> 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 <tt class="literal">thePreAssignedDecayProducts</tt> 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
+<tt class="literal">PhysicalInteractionLength</tt> 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
+<tt class="literal">ConstructPhysics</tt> method of <span class="emphasis"><em>PhysicsList</em></span> 
+(see <a href="#sect.HowToSpecPhysProc.SpecPhysProc" title="
+Specifying Physics Processes
+">the section called &#8220;
+Specifying Physics Processes
+&#8221;</a>) 
+is shown in <a href="#programlist_PhysProc_4" title="Example 5.4. 
+Registration of the decay process to particles in the
+ConstructPhysics method of PhysicsList.
+">Example 5.4, &#8220;
+Registration of the decay process to particles in the
+ConstructPhysics method of PhysicsList.
+&#8221;</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
+<tt class="literal">ConstructPhysics</tt> method of <span class="emphasis"><em>PhysicsList</em></span>.
+</b></p><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><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.PhysProc.Decay.Table"></a>
+Decay Table
+</h4></div></div><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="#sect.Parti.Def" title="
+Definition of a particle
+">the section called &#8220;
+Definition of a particle
+&#8221;</a>.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.PhysProc.Decay.PreAssgn"></a>
+Pre-assigned Decay Modes by Event Generators
+</h4></div></div><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:
+<tt class="literal">pre-assigned decay mode</tt> and <tt class="literal">external decayer</tt>.
+</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 <tt class="literal">pre-assigned</tt> 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>
+Photolepton-hadron Processes
+</h3></div></div><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>
+Optical Photon Processes
+</h3></div></div><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 <tt class="literal">G4MaterialPropertiesTable</tt> which is linked to the
+<tt class="literal">G4Material</tt> 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 <tt class="literal">G4Material</tt>
+class. The <tt class="literal">G4MaterialPropertiesTable</tt> 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 <tt class="literal">G4double</tt> or the class
+<tt class="literal">G4MaterialPropertyVector</tt>, and all keys are of type
+<tt class="literal">G4String</tt>.
+</p><p>
+A <tt class="literal">G4MaterialPropertyVector</tt> is composed of
+instantiations of the class <tt class="literal">G4MPVEntry</tt>. The
+<tt class="literal">G4MPVEntry</tt> is a pair of numbers, which in the case of an
+optical property, are the photon momentum and corresponding
+property value. The <tt class="literal">G4MaterialPropertyVector</tt> is
+implemented as a <tt class="literal">G4std::vector</tt>, 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 <tt class="literal">G4MaterialPropertyVector</tt>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
+<tt class="literal">G4MaterialPropertiesTable</tt> class. An example of this is
+shown in <a href="#programlist_PhysProc_5" title="Example 5.5. 
+Optical properties added to a G4MaterialPropertiesTable 
+and linked to a G4Material
+">Example 5.5, &#8220;
+Optical properties added to a G4MaterialPropertiesTable 
+and linked to a G4Material
+&#8221;</a>.
+
+</p><div class="example"><a name="programlist_PhysProc_5"></a><p class="title"><b>Example 5.5. 
+Optical properties added to a <tt class="literal">G4MaterialPropertiesTable</tt> 
+and linked to a <tt class="literal">G4Material</tt>
+</b></p><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><p>
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.PhysProc.Photo.Cerenkov"></a>
+Generation of Photons in 
+<tt class="literal">processes/electromagnetic/xrays</tt> - Cerenkov Effect
+</h4></div></div><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 <tt class="literal">AlongStepDoIt</tt> method of the class
+<tt class="literal">G4Cerenkov</tt> 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
+<tt class="literal">G4PhysicsTable</tt> 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 <tt class="literal">SetMaxNumPhotonsPerStep(const G4int
+NumPhotons)</tt> 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 <tt class="literal">SetTrackSecondariesFirst</tt>. An example of the
+registration of the Cerenkov process is given in 
+<a href="#programlist_PhysProc_6" title="Example 5.6. 
+Registration of the Cerenkov process in PhysicsList.
+">Example 5.6, &#8220;
+Registration of the Cerenkov process in PhysicsList.
+&#8221;</a>.
+
+</p><div class="example"><a name="programlist_PhysProc_6"></a><p class="title"><b>Example 5.6. 
+Registration of the Cerenkov process in <tt class="literal">PhysicsList</tt>.
+</b></p><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><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.PhysProc.Photo.Scinti"></a>
+Generation of Photons in 
+<tt class="literal">processes/electromagnetic/xrays</tt> - Scintillation
+</h4></div></div><div></div></div><p>
+Every scintillating material has a characteristic light yield,
+<tt class="literal">SCINTILLATIONYIELD</tt>, and an intrinsic resolution,
+<tt class="literal">RESOLUTIONSCALE</tt>, 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
+<tt class="literal">ResolutionScale*sqrt(MeanNumberOfPhotons)</tt>. The average
+light yield, <tt class="literal">MeanNumberOfPhotons</tt>, 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 <tt class="literal">YIELDRATIO</tt>.
+Scintillation may be simulated by specifying these empirical
+parameters for each material. It is sufficient to specify in the
+user's <tt class="literal">DetectorConstruction</tt> class a relative spectral
+distribution as a function of photon energy for the scintillating
+material. An example of this is shown in 
+<a href="#programlist_PhysProc_7" title="Example 5.7. 
+Specification of scintillation properties in
+DetectorConstruction.
+">Example 5.7, &#8220;
+Specification of scintillation properties in
+DetectorConstruction.
+&#8221;</a>
+
+</p><div class="example"><a name="programlist_PhysProc_7"></a><p class="title"><b>Example 5.7. 
+Specification of scintillation properties in
+<tt class="literal">DetectorConstruction</tt>.
+</b></p><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><p>
+</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
+<tt class="literal">ScintillationYieldFactor</tt> in the user's
+<tt class="literal">PhysicsList</tt> as shown in 
+<a href="#programlist_PhysProc_8" title="Example 5.8. 
+Implementation of the scintillation process in
+PhysicsList.
+">Example 5.8, &#8220;
+Implementation of the scintillation process in
+PhysicsList.
+&#8221;</a>. 
+In those cases where the fast to slow excitation ratio changes with particle
+type, the method <tt class="literal">SetScintillationExcitationRatio</tt> can be
+called for each scintillation process (see the advanced
+underground_physics example). This overwrites the
+<tt class="literal">YieldRatio</tt> obtained from the
+<tt class="literal">G4MaterialPropertiesTable</tt>.
+
+</p><div class="example"><a name="programlist_PhysProc_8"></a><p class="title"><b>Example 5.8. 
+Implementation of the scintillation process in
+<tt class="literal">PhysicsList</tt>.
+</b></p><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><p>
+</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 <tt class="literal">AddConstProperty("SCINTILLATIONYIELD")</tt>, 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>
+Generation of Photons in 
+<tt class="literal">processes/optical</tt> - Wavelength Shifting
+</h4></div></div><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 <tt class="literal">DetectorConstruction</tt> 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="#programlist_PhysProc_9" title="Example 5.9. 
+Specification of WLS properties in DetectorConstruction.
+">Example 5.9, &#8220;
+Specification of WLS properties in DetectorConstruction.
+&#8221;</a>.
+
+</p><div class="example"><a name="programlist_PhysProc_9"></a><p class="title"><b>Example 5.9. 
+Specification of WLS properties in <tt class="literal">DetectorConstruction</tt>.
+</b></p><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><p>
+</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>
+Tracking of Photons in <tt class="literal">processes/optical</tt>
+</h4></div></div><div></div></div><h4><a name="id539603"></a>
+Absorption
+</h4><p>
+The implementation of optical photon bulk absorption,
+<tt class="literal">G4OpAbsorption</tt>, is trivial in that the process merely
+kills the particle. The procedure requires the user to fill the
+relevant <tt class="literal">G4MaterialPropertiesTable</tt> with empirical data for
+the absorption length, using <tt class="literal">ABSLENGTH</tt> as the property key
+in the public method <tt class="literal">AddProperty</tt>. 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
+<tt class="literal">GetMeanFreePath</tt> method.
+</p><h4><a name="id539651"></a>
+Rayleigh Scattering
+</h4><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 <tt class="literal">G4OpRayleigh</tt>
+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 <tt class="literal">G4DynamicParticle</tt> class.
+</p><p>
+A photon which is not assigned a polarization at production,
+either via the <tt class="literal">SetPolarization</tt> method of the
+<tt class="literal">G4PrimaryParticle</tt> class, or indirectly with the
+<tt class="literal">SetParticlePolarization</tt> method of the
+<tt class="literal">G4ParticleGun</tt> class, may not be Rayleigh scattered.
+Optical photons produced by the <tt class="literal">G4Cerenkov</tt> 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 <tt class="literal">G4MaterialPropertiesTable</tt> 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 <tt class="literal">GetMeanFreePath</tt>
+method. The <tt class="literal">G4OpRayleigh</tt> class provides a
+<tt class="literal">RayleighAttenuationLengthGenerator</tt> 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
+<tt class="literal">RayleighAttenuationLengthGenerator</tt>
+which calculates it for 10 degrees Celsius liquid water.
+</p><h4><a name="id539782"></a>
+Boundary Process
+</h4><p>
+Reference: E. Hecht and A. Zajac, Optics
+[<span class="citation">
+<a href="#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
+<tt class="literal">G4MaterialPropertiesTable</tt>. 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
+<tt class="literal">G4PVPlacement</tt>. 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 <tt class="literal">G4Navigator</tt>. 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 <tt class="literal">G4OpBoundaryProcess</tt> 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 <tt class="literal">G4Navigator</tt>.
+</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><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><p>
+</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><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><p>
+</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 <tt class="literal">G4OpBoundaryProcess</tt> 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>
+Parameterization
+</h3></div></div><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"><b>examples/novice/N05 directory</b></span>.
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.PhysProc.Param.Gene"></a>
+Generalities:
+</h4></div></div><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"><b><tt class="literal">G4Region</tt></b></span>
+object, which, in the case of fast simulation is also called an
+<span class="bold"><b>envelope</b></span>. Prior to release 8.0, 
+parameterisations were bound
+to a <tt class="literal">G4LogicalVolume</tt>, the root of a volume hierarchy.
+These root volumes are now attributes of the <tt class="literal">G4Region</tt>.
+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="#sect.PhysProc.Param.Ghost" title="
+Parameterisation Using Ghost Geometries
+">the section called &#8220;
+Parameterisation Using Ghost Geometries
+&#8221;</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 <tt class="literal">G4Region</tt>.
+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"><b><span class="emphasis"><em>will not apply physics</em></span></b></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
+    <tt class="literal">G4Region</tt> to which it is bound;
+  </p></li><li><p>
+    parameterisation code is messaged anywhere in the
+    <tt class="literal">G4Region</tt>, 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 <tt class="literal">G4Region</tt> 
+    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>
+Overview of Parameterisation Components
+</h4></div></div><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">
+      <tt class="literal"><span class="bold"><b>G4VFastSimulationModel</b></span></tt> 
+    </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">
+      <tt class="literal"><span class="bold"><b>G4FastSimulationManager</b></span></tt>
+    </span></dt><dd><p>
+      The G4VFastSimulationModel objects are attached to the
+      <tt class="literal">G4Region</tt> through a G4FastSimulationManager. 
+      This object will manage the list of models and will message them at 
+      tracking time.
+    </p></dd><dt><span class="term">
+      <tt class="literal"><span class="bold"><b>G4Region/Envelope</b></span></tt>
+    </span></dt><dd><p>
+      As mentioned before, an envelope in GEANT4 is a 
+      <tt class="literal"><span class="bold"><b>G4Region</b></span></tt>. 
+      The parameterisation is bound to the <tt class="literal">G4Region</tt> by 
+      setting a <tt class="literal">G4FastSimulationManager</tt> pointer to it.
+      </p><p>
+      The figure below shows how the <tt class="literal">G4VFastSimulationModel</tt>
+      and <tt class="literal">G4FastSimulationManager</tt> objects are bound to the
+      <tt class="literal">G4Region</tt>. 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">
+      <tt class="literal"><span class="bold"><b>G4FastSimulationManagerProcess</b></span></tt>
+    </span></dt><dd><p>
+      This is a <tt class="literal">G4VProcess</tt>. 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">
+      <tt class="literal"><span class="bold"><b>G4GlobalFastSimulationManager</b></span></tt>
+    </span></dt><dd><p>
+      This a singleton class which provides the management of the
+      <tt class="literal">G4FastSimulationManager</tt> 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>
+The <tt class="literal">G4VFastSimulationModel</tt> Abstract Class
+</h4></div></div><div></div></div><h4><a name="id540461"></a>
+Constructors:
+</h4><p>
+The <tt class="literal">G4VFastSimulationModel</tt> 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"><b><tt class="literal">G4VFastSimulationModel(
+       const G4String&amp; aName)</tt></b></span>:
+    </span></dt><dd><p>
+      Here <tt class="literal">aName</tt> identifies the parameterisation model.
+    </p></dd><dt><span class="term">
+      <span class="bold"><b><tt class="literal">G4VFastSimulationModel(const G4String&amp; 
+       aName, G4Region*, G4bool IsUnique=false):</tt></b></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><h4><a name="id540549"></a>
+Virtual methods:
+</h4><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"><b><tt class="literal">G4VFastSimulationModel(
+      <span class="emphasis"><em>const G4String&amp; aName</em></span>):</tt></b></span>
+    </span></dt><dd><p>
+      Here aName identifies the parameterisation model.
+    </p></dd><dt><span class="term">
+      <span class="bold"><b><tt class="literal">G4bool ModelTrigger(
+      <span class="emphasis"><em>const G4FastTrack&amp;</em></span>):</tt></b></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"><b><tt class="literal">G4bool IsApplicable(
+      <span class="emphasis"><em>const G4ParticleDefinition&amp;</em></span>):</tt></b></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"><b><tt class="literal">G4bool ModelTrigger(
+      <span class="emphasis"><em>const G4FastTrack&amp;</em></span>):</tt></b></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"><b><tt class="literal">void DoIt(
+      <span class="emphasis"><em>const G4FastTrack&amp;, G4FastStep&amp;</em></span>):</tt></b></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>
+The <tt class="literal">G4FastSimulationManager</tt> Class:
+</h4></div></div><div></div></div><p>
+G4FastSimulationManager functionnalities regarding the use of ghost
+volumes are explained in <a href="#sect.PhysProc.Param.Ghost" title="
+Parameterisation Using Ghost Geometries
+">the section called &#8220;
+Parameterisation Using Ghost Geometries
+&#8221;</a>.
+</p><h4><a name="id540756"></a>
+Constructor:
+</h4><p>
+</p><div class="variablelist"><dl><dt><span class="term">
+      <tt class="literal"><span class="bold"><b>G4FastSimulationManager(
+      <span class="emphasis"><em>G4Region *anEnvelope, G4bool IsUnique=false</em></span>):
+      </b></span></tt> 
+    </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><h4><a name="id540798"></a>
+G4VFastSimulationModel object management:
+</h4><p>
+The following two methods provide the usual management
+functions.
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <tt class="literal"><span class="bold"><b>void AddFastSimulationModel(
+    G4VFastSimulationModel*)</b></span></tt>
+  </p></li><li><p>
+    <tt class="literal"><span class="bold"><b>RemoveFastSimulationModel(
+    G4VFastSimulationModel*)</b></span></tt>
+  </p></li></ul></div><p>
+</p><h4><a name="id540850"></a>
+Interface with the G4FastSimulationManagerProcess:
+</h4><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>
+The <tt class="literal">G4FastSimulationManagerProcess</tt> Class
+</h4></div></div><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>
+The <tt class="literal">G4GlobalFastSimulationManager</tt> Singleton Class
+</h4></div></div><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>
+Parameterisation Using Ghost Geometries
+</h4></div></div><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>
+Gflash Parameterization
+</h4></div></div><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"><b>examples/extended/parametrisation/gflash/</b></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>
+Using the Gflash Parameterisation
+</h4></div></div><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"><b>GVFlashHomoShowerTuning</b></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"><b>GFlashSamplingShowerTuning</b></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>
+Transportation Process
+</h3></div></div><div></div></div><p>
+To be delivered by J. Apostolakis (<tt class="email">&lt;<a href="mailto:John.Apostolakis@cern.ch">John.Apostolakis@cern.ch</a>&gt;</tt>).
+</p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.Parti"></a>
+Particles
+</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Parti.Basic"></a>
+Basic concepts
+</h3></div></div><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="#sect.Track" title="
+Tracking
+">the section called &#8220;
+Tracking
+&#8221;</a>.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Parti.Def"></a>
+Definition of a particle
+</h3></div></div><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"><b>User's Guide: For ToolKit
+Developers</b></span>).
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Parti.Def.PartiList"></a>
+Particle List in Geant4
+</h4></div></div><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><h4><a name="id549268"></a>
+Categories
+</h4><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>
+Classification of particles
+</h4></div></div><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 <tt class="literal">shortlived</tt> sub-directory 
+    under the <tt class="literal">particles</tt> 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>
+Implementation of particles
+</h4></div></div><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. 
+<tt class="literal">G4ParticleTable::GetIon()</tt> method invokes
+<tt class="literal">G4IonTable::GetIon()</tt> 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>
+Processes attached to heavy ions are same as those for
+<span class="emphasis"><em>G4GenericIon</em></span> class. In other words, you need to
+create <span class="emphasis"><em>G4GenericIon</em></span> and attach processes to it 
+if you want to use heavy ions. 
+</p><p>
+<span class="emphasis"><em>G4ParticleGun</em></span> can shoot any heavy ions 
+with /gun/ions command after ``ion'' is selected by /gun/particle command.
+</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>
+G4ParticleDefinition
+</h4></div></div><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="#table.Parti_1" title="Table 5.2. 
+Methods to get particle properties.
+">Table 5.2, &#8220;
+Methods to get particle properties.
+&#8221;</a>.
+
+</p><div class="table"><a name="table.Parti_1"></a><p class="title"><b>Table 5.2. 
+Methods to get particle properties.
+</b></p><table summary="
+Methods to get particle properties.
+" border="1"><colgroup><col><col></colgroup><tbody><tr><td><tt class="literal">G4String GetParticleName()</tt></td><td>
+      particle name
+    </td></tr><tr><td><tt class="literal">G4double GetPDGMass()</tt></td><td>
+      mass
+    </td></tr><tr><td><tt class="literal">G4double GetPDGWidth()</tt></td><td>
+      decay width
+    </td></tr><tr><td><tt class="literal">G4double GetPDGCharge()</tt></td><td>
+      electric charge
+    </td></tr><tr><td><tt class="literal">G4double GetPDGSpin()</tt></td><td>
+      spin
+    </td></tr><tr><td><tt class="literal">G4double GetPDGMagneticMoment()</tt></td><td>
+      magnetic moment (0: not defined or no magnetic moment)
+    </td></tr><tr><td><tt class="literal">G4int GetPDGiParity()</tt></td><td>
+      parity (0:not defined)
+    </td></tr><tr><td><tt class="literal">G4int GetPDGiConjugation()</tt></td><td>
+      charge conjugation (0:not defined)
+    </td></tr><tr><td><tt class="literal">G4double GetPDGIsospin()</tt></td><td>
+      iso-spin
+    </td></tr><tr><td><tt class="literal">G4double GetPDGIsospin3()</tt></td><td>
+      3<sup>rd</sup>-component of iso-spin
+    </td></tr><tr><td><tt class="literal">G4int GetPDGiGParity()</tt></td><td>
+      G-parity (0:not defined)
+    </td></tr><tr><td><tt class="literal">G4String GetParticleType()</tt></td><td>
+      particle type
+    </td></tr><tr><td><tt class="literal">G4String GetParticleSubType()</tt></td><td>
+      particle sub-type
+    </td></tr><tr><td><tt class="literal">G4int GetLeptonNumber()</tt></td><td>
+      lepton number
+    </td></tr><tr><td><tt class="literal">G4int GetBaryonNumber()</tt></td><td>
+      baryon number
+    </td></tr><tr><td><tt class="literal">G4int GetPDGEncoding()</tt></td><td>
+      particle encoding number by PDG
+    </td></tr><tr><td><tt class="literal">G4int GetAntiPDGEncoding()</tt></td><td>
+      encoding for anti-particle of this particle
+    </td></tr></tbody></table></div><p>
+</p><p>
+<a href="#table.Parti_2" title="Table 5.3. 
+Methods to get particle decay modes and life time.
+">Table 5.3, &#8220;
+Methods to get particle decay modes and life time.
+&#8221;</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><p class="title"><b>Table 5.3. 
+Methods to get particle decay modes and life time.
+</b></p><table summary="
+Methods to get particle decay modes and life time.
+" border="1"><colgroup><col><col></colgroup><tbody><tr><td><tt class="literal">G4bool GetPDGStable()</tt></td><td>
+      stable flag
+    </td></tr><tr><td><tt class="literal">G4double GetPDGLifeTime()</tt></td><td>
+      life time
+    </td></tr><tr><td><tt class="literal">G4DecayTable* GetDecayTable()</tt></td><td>
+      decay table
+    </td></tr></tbody></table></div><p>
+</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="#sect.HowToSpecPhysProc.ManagingProc" title="
+Managing Processes
+">the section called &#8220;
+Managing Processes
+&#8221;</a> )
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Parti.Dynam"></a>
+Dynamic particle
+</h3></div></div><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="#table.Parti_4" title="Table 5.4. 
+Methods to set/get cut off values.
+">Table 5.4, &#8220;
+Methods to set/get cut off values.
+&#8221;</a>.
+
+</p><div class="table"><a name="table.Parti_4"></a><p class="title"><b>Table 5.4. 
+Methods to set/get cut off values.
+</b></p><table summary="
+Methods to set/get cut off values.
+" border="1"><colgroup><col><col></colgroup><tbody><tr><td><tt class="literal">G4double theDynamicalMass</tt></td><td>
+      dynamical mass
+    </td></tr><tr><td><tt class="literal">G4ThreeVector theMomentumDirection</tt></td><td>
+      normalized momentum vector
+    </td></tr><tr><td><tt class="literal">G4ParticleDefinition* theParticleDefinition</tt></td><td>
+      definition of particle
+    </td></tr><tr><td><tt class="literal">G4double theDynamicalSpin</tt></td><td>
+      dynamical spin 
+      (i.e. total angular momentum as a ion/atom )
+    </td></tr><tr><td><tt class="literal">G4ThreeVector thePolarization</tt></td><td>
+      polarization vector
+    </td></tr><tr><td><tt class="literal">G4double theMagneticMoment</tt></td><td>
+      dynamical magnetic moment
+      (i.e. total magnetic moment as a ion/atom )
+    </td></tr><tr><td><tt class="literal">G4double theKineticEnergy</tt></td><td>
+      kinetic energy
+    </td></tr><tr><td><tt class="literal">G4double theProperTime</tt></td><td>
+      proper time
+    </td></tr><tr><td><tt class="literal">G4double theDynamicalCharge</tt></td><td>
+      dynamical electric charge 
+      (i.e. total electric charge as a ion/atom )
+    </td></tr><tr><td><tt class="literal">G4ElectronOccupancy* theElectronOccupancy</tt></td><td>
+      electron orbits for ions
+    </td></tr></tbody></table></div><p>
+</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
+<tt class="literal">GetPDGMass()</tt> 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 <tt class="literal">*thePreAssignedDecayProducts</tt>. In addition,
+decay time of the particle can be set arbitrarily time by using
+<tt class="literal">PreAssignedDecayProperTime</tt>.
+</p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.ProThres"></a>
+Production Threshold versus Tracking Cut
+</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.ProThres.Gen"></a>
+General considerations
+</h3></div></div><div></div></div><p>
+We have to fulfill two contradictory requirements. It is the
+responsibility of each individual <span class="bold"><b>process</b></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"><b>process</b></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"><b>zero range</b></span>.
+  </p></li><li><p>
+    Each <span class="bold"><b>particle</b></span> has a suggested cut in range 
+    (which is converted to energy for all materials), and defined via a
+    <tt class="literal">SetCut()</tt> method (see 
+    <a href="#sect.HowToSpecParti.RangeCuts" title="
+Range Cuts
+">the section called &#8220;
+Range Cuts
+&#8221;</a>).
+  </p></li></ol></div><p>
+</p><p>
+Points 1 and 2 imply that the cut associated with the
+<span class="bold"><b>particle</b></span> is a (recommended) 
+<span class="bold"><b>production</b></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>
+Set production threshold (<tt class="literal">SetCut</tt> methods)
+</h3></div></div><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="#sect.HowToSpecParti.RangeCuts" title="
+Range Cuts
+">the section called &#8220;
+Range Cuts
+&#8221;</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>
+Apply cut
+</h3></div></div><div></div></div><p>
+The <tt class="literal">DoIt</tt> 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: 
+    <tt class="literal">ApplyCut</tt>.</p></li><li><p><tt class="literal">ApplyCut</tt> 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>
+    <tt class="literal">ApplyCut</tt> 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 <tt class="literal">range &gt;
+    min(cut,safety).</tt>
+    </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="#sect.ProThres.WhyProd" title="
+Why produce secondaries below threshold?
+">the section called &#8220;
+Why produce secondaries below threshold?
+&#8221;</a>
+        below for the explanation of the <tt class="literal">GoodForTracking</tt> flag).
+      </p></li><li><p>
+        If not, recuperate its kinetic energy in the
+        <tt class="literal">localEnergyDeposit</tt>, and set 
+        <tt class="literal">tkin=0</tt>.
+      </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>
+Why produce secondaries below threshold?
+</h3></div></div><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 <tt class="literal">GoodForTracking</tt> to pass the filter explained
+in the previous section (even when <tt class="literal">ApplyCut</tt> is ON).
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.ProThres.RangOrEner"></a>
+Cuts in stopping range or in energy?
+</h3></div></div><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>
+Summary
+</h3></div></div><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>
+Special tracking cuts
+</h3></div></div><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"><b>Example</b></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
+    <tt class="literal">DetectorConstruction::Construct()</tt>:
+    </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
+    <tt class="literal">source/global/management</tt>.
+    </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 <tt class="literal">DoIt</tt> 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"><b>Example: neutrons.</b></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
+    <tt class="literal">DetectorConstruction::Construct()</tt>:
+
+    </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 <tt class="literal">N02PhysicsList</tt>:
+
+    </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
+     <tt class="literal">source/processes/transportation</tt>.)
+    </p><p>
+  </p></li></ul></div><p>
+</p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.CutReg"></a>
+Cuts per Region
+</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.CutReg.Gene"></a>
+General Concepts
+</h3></div></div><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="#sect.Geom.LogVol.SubReg" title="
+Sub-detector Regions
+">the section called &#8220;
+Sub-detector Regions
+&#8221;</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="#sect.ProThres" title="
+Production Threshold versus Tracking Cut
+">the section called &#8220;
+Production Threshold versus Tracking Cut
+&#8221;</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>
+Default Region
+</h3></div></div><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"><b>not</b></span> allowed to set a region to 
+the world volume, <span class="bold"><b>nor</b></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>
+Assigning Production Cuts to a Region
+</h3></div></div><div></div></div><p>
+In the <tt class="literal">SetCuts()</tt> 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 <tt class="literal">SetCuts()</tt> 
+code follows.
+
+</p><div class="example"><a name="programlist_CutReg_1"></a><p class="title"><b>Example 5.12. 
+<tt class="literal">Setting production cuts to a region</tt>
+</b></p><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><p>
+</p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.PhysTab"></a>
+Physics Table
+</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.PhysTab.Gene"></a>
+General Concepts
+</h3></div></div><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 <tt class="literal">BuildPhysicsTable()</tt> 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>
+Material-Cuts Couple
+</h3></div></div><div></div></div><p>
+Users can assign different production cuts to different regions
+(see <a href="#sect.CutReg" title="
+Cuts per Region
+">the section called &#8220;
+Cuts per Region
+&#8221;</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>
+File I/O for the Physics Table
+</h3></div></div><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"><b>storePhysicsTable</b></span>"  
+(see <a href="#sect.BuiltinCom" title="
+Built-in Commands
+">the section called &#8220;
+Built-in Commands
+&#8221;</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"><b>storePhysicsTable</b></span>" command.
+</p><p>
+Calculated physics tables can be retrieved from files by using
+the "<span class="bold"><b>retrievePhysicsTable</b></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"><b>retrievePhysicsTable</b></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>
+Building the Physics Table
+</h3></div></div><div></div></div><p>
+In the <tt class="literal">G4RunManagerKernel::RunInitialization()</tt> method,
+after the list of <span class="emphasis"><em>MaterialCutsCouple</em></span>s is updated, the
+<tt class="literal">G4VUserPhysicsList::BuildPhysicsTable()</tt> method is invoked
+to build physics tables for all processes.
+</p><p>
+Initially, the <tt class="literal">G4VProcess::PreparePhysicsTable()</tt> 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 <tt class="literal">G4VProcess::RetrievePhysicsTable()</tt> method is
+invoked if the <tt class="literal">G4VUserPhysicsList::fRetrievePhysicsTable</tt>
+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 <tt class="literal">G4VProcess::BuildPhysicsTable()</tt> method is
+invoked and only physics vectors which need to be re-calculated are
+built.
+</p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.Ulim"></a>
+User Limits
+</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Ulim.Gene"></a>
+General Concepts
+</h3></div></div><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><tt class="literal">uStepMax</tt></td><td>
+      Maximum step length
+    </td></tr><tr><td><tt class="literal">uTrakMax</tt></td><td>
+      Maximum total track length
+    </td></tr><tr><td><tt class="literal">uTimeMax</tt></td><td>
+      Maximum global time for a track
+    </td></tr><tr><td><tt class="literal">uEkinMin</tt></td><td>
+      Minimum remaining kinetic energy for a track
+    </td></tr><tr><td><tt class="literal">uRangMin</tt></td><td>
+      Minimum remaining range for a track
+    </td></tr></tbody></table></div><p>
+
+Note that <tt class="literal">uStepMax</tt> is affecting to each step, while all
+other limits are affecting to a track.
+</p><p>
+The user can set <tt class="literal">G4UserLimits</tt> 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>
+Processes co-working with G4UserLimits
+</h3></div></div><div></div></div><p>
+In addition to instantiating <tt class="literal">G4UserLimits</tt> 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 <tt class="literal">G4UserLimits</tt>.
+
+</p><div class="variablelist"><dl><dt><span class="term">
+      Limitation to step (<tt class="literal">uStepMax</tt>)
+    </span></dt><dd><p>
+      <tt class="literal">G4StepLimiter</tt> 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 (<tt class="literal">uTrakMax, uTimeMax, uEkinMin,
+      uRangMin</tt>)
+    </span></dt><dd><p>
+      <tt class="literal">G4UserSpecialCuts</tt> 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 <tt class="literal">G4UserLimits</tt> can be found in
+examples/novice/N02 : see <tt class="literal">DetectorConstruction</tt> and
+<tt class="literal">PhysicsList</tt>.
+</p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.G4Error"></a>
+Track Error Propagation
+</h2></div></div><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>
+Physics
+</h3></div></div><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 <tt class="literal">G4ErrorPhysicsList</tt> class, that is automatically set by <tt class="literal">G4ErrorPropagatorManager</tt> as the GEANT4 physics list. 
+It sets <tt class="literal">G4ErrorEnergyLoss</tt> as unique electromagnetic process. This process uses the GEANT4 class <tt class="literal">G4EnergyLossForExtrapolator</tt> 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) <tt class="literal">G4ErrorEnergyLoss</tt> 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 <tt class="literal">G4ErrorPhysicsList</tt>. 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 <tt class="literal">G4ErrorPhysicsList</tt>. If a new physics list is used, it should also initialize the <tt class="literal">G4ErrorMessenger</tt> 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 <tt class="literal">G4ErrorPhysicsList</tt> 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>
+Trajectory state
+</h3></div></div><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 <tt class="literal">G4ErrorTrajState</tt>, 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 <tt class="literal">G4ErrorTrajStateFree</tt>, or as a trajectory state on a surface, class <tt class="literal">G4ErrorTrajStateonSurface</tt>. 
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.G4Error.TrajState.FreTrajState"></a>
+Free trajectory state
+</h4></div></div><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 <tt class="literal">fInvP</tt> is the inverse of the momentum.
+<tt class="literal">fLambda</tt> and <tt class="literal">fPhi</tt> are the dip and azimuthal angles related to the momentum components in the following way:
+</p><tt class="literal">
+            p_x = p cos(lambda) cos(phi)
+            p_y = p cos(lambda) sin(phi)   
+            p_z = p sin(lambda) 
+</tt><p>
+that is, <tt class="literal">lambda = 90 - theta</tt>, where <tt class="literal">theta</tt> is the usual angle with respect to the Z axis.
+</p><p>
+<tt class="literal">fYperp</tt> and <tt class="literal">fZperp</tt> 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>
+Trajectory state on a surface
+</h4></div></div><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 <tt class="literal">fInvP</tt> is the inverse of the momentum;
+<tt class="literal">fPV</tt> and <tt class="literal">fPW</tt> are the momentum components in an orthonormal coordinate system with axis U, V and W; 
+<tt class="literal">fV</tt> and <tt class="literal">fW</tt> 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>
+Trajectory state error
+</h3></div></div><div></div></div><p>
+The 5X5 error matrix should also be provided at the creation of the trajectory state as a <tt class="literal">G4ErrorTrajErr</tt> object. 
+If it is not provided a default object will be created filled with null values.
+</p><p>
+Currently the <tt class="literal">G4ErrorTrajErr</tt> is a <tt class="literal">G4ErrorSymMatrix</tt>, a simplified version of <tt class="literal">CLHEP HepSymMatrix</tt>. 
+</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>
+Targets 
+</h3></div></div><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 <tt class="literal">G4ErrorSurfaceTarget</tt>, which is not part of the GEANT4 geometry. 
+It can also be the surface of a GEANT4 volume  <tt class="literal">G4ErrorGeomVolumeTarget</tt>, 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 <tt class="literal">G4ErrorTrackLengthTarget</tt>.
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.G4Error.Target.SurfaceTarget"></a>
+Surface target
+</h4></div></div><div></div></div>
+
+When the user chooses a <tt class="literal">G4ErrorSurfaceTarget</tt> 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 <tt class="literal">G4ErrorNavigator</tt> 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, <tt class="literal">G4ErrorNavigator</tt> inherits from <tt class="literal">G4Navigator</tt> and overwrites the methods <tt class="literal">ComputeStep()</tt> and <tt class="literal">ComputeSafety()</tt>.
+
+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>
+Plane surface target
+</h5></div></div><div></div></div><tt class="literal">G4ErrorPlaneSurfaceTarget</tt> implements an infinite plane surface.
+The surface can be given as the four coefficients of the plane equation <tt class="literal">ax+by+cz+d = 0</tt>:
+
+<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>
+Cylindrical surface target
+</h5></div></div><div></div></div><tt class="literal">G4ErrorCylSurfaceTarget</tt> 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>
+Geometry volume target
+</h4></div></div><div></div></div><p>
+When the user chooses a <tt class="literal">G4ErrorGeomVolumeTarget</tt> 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>
+Track Length target
+</h4></div></div><div></div></div><p>
+When the user chooses a <tt class="literal">G4ErrorTrackLengthTarget</tt> 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 <tt class="literal">G4VDiscreteProcess</tt> and it limits the step in <tt class="literal">PostStepGetPhysicalInteractionLength</tt>. 
+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>
+Managing the track propagation
+</h3></div></div><div></div></div><p>
+The user needs to propagate just one track, so there is no need of run and events. neither of <tt class="literal">G4VPrimaryGeneratorAction</tt>.
+
+<tt class="literal">G4ErrorPropagator</tt> creates a track from the information given in the <tt class="literal">G4ErrorTrajState</tt> and manages the step propagation. 
+The propagation is done by the standard GEANT4 methods, invoking <tt class="literal">G4SteppingManager::Stepping() </tt> to propagate each step. 
+</p><p>
+After one step is propagated, <tt class="literal">G4ErrorPropagator</tt> takes cares of propagating the track errors for this step, what is done by <tt class="literal">G4ErrorTrajStateFree::PropagateError()</tt>.
+The equations of error propagation are only implemented in the representation of  <tt class="literal">G4ErrorTrajStateFree</tt>. 
+Therefore if the user has provided instead a <tt class="literal">G4ErrorTrajStateOnSurface</tt> object, it will be transformed into a <tt class="literal">G4ErrorTrajStateFree</tt> at the beginning of tracking, and at the end it is converted back into <tt class="literal">G4ErrorTrajStateOnSurface</tt> on the target surface (on the normal plane to the surface at the final point).
+</p><p>
+The user <tt class="literal">G4VUserTrackingAction::PreUserTrackingAction( const G4Track* )</tt> and  <tt class="literal">G4VUserTrackingAction::PreUserTrackingAction( const G4Track* )</tt> are also invoked at the beginning and at the end of the track propagation. 
+</p><p>
+<tt class="literal">G4ErrorPropagator</tt> 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, <tt class="literal">G4ErrorPropagator::Propagate()</tt> 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 <tt class="literal">G4ErrorPropagatorManager</tt>
+</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 <tt class="literal">G4ErrorPropagatorManager</tt> 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>
+Error propagation
+</h4></div></div><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>
+Limiting the step
+</h3></div></div><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 <tt class="literal">G4ErrorPropagatorManager::InitGeant4e()</tt>.
+
+</div></div></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></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#sect.ManUAct">
+Mandatory User Actions and Initializations
+</a></span></dt><dt><span class="sect1"><a href="#sect.OptUAct">
+Optional User Actions
+</a></span></dt><dt><span class="sect1"><a href="#sect.UInfoCls">
+User Information Classes
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.UInfoCls.UEvtInfo">
+G4VUserEventInformation
+</a></span></dt><dt><span class="sect2"><a href="#sect.UInfoCls.UTkInfo">
+G4VUserTrackInformation
+</a></span></dt><dt><span class="sect2"><a href="#sect.UInfoCls.UPrimVxTk">
+G4VUserPrimaryVertexInformation and G4VUserPrimaryTrackInformation
+</a></span></dt><dt><span class="sect2"><a href="#sect.UInfoCls.URegInfo">
+G4VUserRegionInformation
+</a></span></dt></dl></dd></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.ManUAct"></a>
+Mandatory User Actions and Initializations
+</h2></div></div><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><h4><a name="id571045"></a>
+<tt class="literal">G4VUserDetectorConstruction</tt>
+</h4><p>
+</p><div class="example"><a name="programlist_ManUAct_1"></a><p class="title"><b>Example 6.1. 
+<tt class="literal">G4VUserDetectorConstruction</tt>
+</b></p><pre class="programlisting">
+     class G4VUserDetectorConstruction
+     {
+       public:
+         G4VUserDetectorConstruction();
+         virtual ~G4VUserDetectorConstruction();
+
+       public:
+         virtual G4VPhysicalVolume* Construct() = 0;
+     };
+</pre></div><p>
+</p><h4><a name="id571088"></a>
+<tt class="literal">G4VUserPhysicsList</tt>
+</h4><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>
+    <tt class="literal">ConstructParticle()</tt> to instantiate each requested
+    particle type,
+  </p></li><li><p>
+    <tt class="literal">ConstructPhysics()</tt> to instantiate the desired physics
+    processes and register each of them with the process managers of
+    the appropriate particles, and
+  </p></li><li><p>
+    <tt class="literal">SetCuts(G4double aValue)</tt> 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 <tt class="literal">Construct()</tt> method of
+<span class="emphasis"><em>G4VUserPhysicsList</em></span> first invokes
+<tt class="literal">ConstructParticle()</tt> and then <tt class="literal">ConstructProcess()</tt>.
+The <tt class="literal">ConstructProcess()</tt> method must always invoke the
+<tt class="literal">AddTransportation()</tt> method in order to insure particle
+transportation. <tt class="literal">AddTransportation()</tt> 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="#programlist_ManUAct_2" title="Example 6.2. 
+G4VUserPhysicsList
+">Example 6.2, &#8220;
+G4VUserPhysicsList
+&#8221;</a>.
+
+</p><div class="example"><a name="programlist_ManUAct_2"></a><p class="title"><b>Example 6.2. 
+<tt class="literal">G4VUserPhysicsList</tt>
+</b></p><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><p>
+</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><h4><a name="id571252"></a>
+<tt class="literal">G4VUserPrimaryGeneratorAction</tt>
+</h4><p>
+</p><div class="example"><a name="programlist_ManUAct_3"></a><p class="title"><b>Example 6.3. 
+<tt class="literal">G4VUserPrimaryGeneratorAction</tt>
+</b></p><pre class="programlisting">
+     class G4VUserPrimaryGeneratorAction
+     {
+       public:
+         G4VUserPrimaryGeneratorAction();
+         virtual ~G4VUserPrimaryGeneratorAction();
+     
+       public:
+         virtual void GeneratePrimaries(G4Event* anEvent) = 0;
+     };
+</pre></div><p>
+</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.OptUAct"></a>
+Optional User Actions
+</h2></div></div><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
+<tt class="literal">G4RunManager</tt>.
+</p><h4><a name="id571684"></a>
+<tt class="literal">G4UserRunAction</tt>
+</h4><p>
+This class has three virtual methods which are invoked by
+<tt class="literal">G4RunManager</tt> for each run:
+
+</p><div class="variablelist"><p class="title"><b></b></p><dl><dt><span class="term">
+      <tt class="literal">GenerateRun()</tt>
+    </span></dt><dd><p>
+      This method is invoked at the beginning of <tt class="literal">BeamOn</tt>.
+      Because the user can inherit the class <tt class="literal">G4Run</tt> and create
+      his/her own concrete class to store some information about the run,
+      the <tt class="literal">GenerateRun()</tt> 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 <tt class="literal">GenerateRun()</tt> is invoked before the
+      calculation of the physics table.
+    </p></dd><dt><span class="term">
+      <tt class="literal">BeginOfRunAction()</tt>
+    </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">
+      <tt class="literal">EndOfRunAction()</tt>
+    </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. 
+<tt class="literal">G4UserRunAction</tt>
+</b></p><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><p>
+</p><h4><a name="id571829"></a>
+<tt class="literal">G4UserEventAction</tt>
+</h4><p>
+This class has two virtual methods which are invoked by
+<tt class="literal">G4EventManager</tt> for each event:
+
+</p><div class="variablelist"><p class="title"><b></b></p><dl><dt><span class="term">
+      <tt class="literal">beginOfEventAction()</tt>
+    </span></dt><dd><p>
+      This method is invoked before converting the primary particles
+      to <tt class="literal">G4Track</tt> 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">
+      <tt class="literal">endOfEventAction()</tt>
+    </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
+      <tt class="literal">fpEventManager-&gt;KeepTheCurrentEvent();</tt>
+      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. 
+<tt class="literal">G4UserEventAction</tt>
+</b></p><pre class="programlisting">
+     class G4UserEventAction 
+     {
+       public:
+           G4UserEventAction() {;}
+           virtual ~G4UserEventAction() {;}
+           virtual void BeginOfEventAction(const G4Event*);
+           virtual void EndOfEventAction(const G4Event*);
+       protected:
+           G4EventManager* fpEventManager;
+     };
+</pre></div><p>
+</p><h4><a name="id571950"></a>
+<tt class="literal">G4UserStackingAction</tt>
+</h4><p>
+This class has three virtual methods, <tt class="literal">ClassifyNewTrack</tt>,
+<tt class="literal">NewStage</tt> and <tt class="literal">PrepareNewEvent</tt> 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>
+<tt class="literal">ClassifyNewTrack()</tt> is invoked by 
+<tt class="literal">G4StackManager</tt> whenever a new <tt class="literal">G4Track</tt> 
+object is "pushed" onto a stack by <tt class="literal">G4EventManager</tt>.
+<tt class="literal">ClassifyNewTrack()</tt> returns an enumerator,
+<tt class="literal">G4ClassificationOfNewTrack</tt>, whose value indicates to which
+stack, if any, the track will be sent. This value should be
+determined by the user. <tt class="literal">G4ClassificationOfNewTrack</tt> has
+four possible values:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <tt class="literal">fUrgent</tt> - track is placed in the 
+    <span class="emphasis"><em>urgent</em></span> stack
+  </p></li><li><p>
+    <tt class="literal">fWaiting</tt> - 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>
+    <tt class="literal">fPostpone</tt> - track is postponed to the next event
+  </p></li><li><p>
+    <tt class="literal">fKill</tt> - 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>
+    <tt class="literal">parent_ID = 0</tt> indicates a primary particle
+  </p></li><li><p>
+    <tt class="literal">parent_ID &gt; 0</tt> indicates a secondary particle
+  </p></li><li><p>
+    <tt class="literal">parent_ID &lt; 0</tt> indicates postponed particle from
+    previous event.
+  </p></li></ul></div><p>      
+</p><p>
+<tt class="literal">NewStage()</tt> 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
+<tt class="literal">G4Track</tt> 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 <tt class="literal">stackManager-&gt;ReClassify()</tt> method which, in
+turn, calls the <tt class="literal">ClassifyNewTrack()</tt> 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 <tt class="literal">stackManager-&gt;clear()</tt>.
+This method is valid and safe only if it is called from the
+<tt class="literal">G4UserStackingAction</tt> 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>
+<tt class="literal">PrepareNewEvent()</tt> 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 <tt class="literal">ClassifyNewTrack()</tt> 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. 
+<tt class="literal">G4UserStackingAction</tt>
+</b></p><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><p>
+</p><h4><a name="id572283"></a>
+<tt class="literal">G4UserTrackingAction</tt>
+</h4><p>
+</p><div class="example"><a name="programlist_OptUAct_4"></a><p class="title"><b>Example 6.7. 
+<tt class="literal">G4UserTrackingAction</tt>
+</b></p><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><p>
+</p><h4><a name="id572322"></a>
+<tt class="literal">G4UserSteppingAction</tt>
+</h4><p>
+</p><div class="example"><a name="programlist_OptUAct_5"></a><p class="title"><b>Example 6.8. 
+<tt class="literal">G4UserSteppingAction</tt>
+</b></p><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><p>
+</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.UInfoCls"></a>
+User Information Classes
+</h2></div></div><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="#sect.OptUAct" title="
+Optional User Actions
+">the section called &#8220;
+Optional User Actions
+&#8221;</a> for G4Run, 
+    <a href="#sect.Hits" title="
+Hits
+">the section called &#8220;
+Hits
+&#8221;</a> for G4VHit,
+    <a href="#sect.Digi" title="
+Digitization
+">the section called &#8220;
+Digitization
+&#8221;</a> for G4VDigit, and
+    <a href="#sect.Track.Traj" title="
+Trajectory and Trajectory Point
+">the section called &#8220;
+Trajectory and Trajectory Point
+&#8221;</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>
+G4VUserEventInformation
+</h3></div></div><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>
+G4VUserTrackInformation
+</h3></div></div><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 <tt class="literal">G4VUserTrackInformation</tt> from mother to daughter tracks
+</b></p><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><p>
+</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>
+G4VUserPrimaryVertexInformation and G4VUserPrimaryTrackInformation
+</h3></div></div><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>
+G4VUserRegionInformation
+</h3></div></div><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><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><p>
+</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><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><p>
+</p></div></div></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></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#sect.BuiltinCom">
+Built-in Commands
+</a></span></dt><dt><span class="sect1"><a href="#sect.UIDefNew">
+User Interface - Defining New Commands
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.UIDefNew.UIMess">
+G4UImessenger
+</a></span></dt><dt><span class="sect2"><a href="#sect.UIDefNew.DervCls">
+G4UIcommand and its derived classes
+</a></span></dt><dt><span class="sect2"><a href="#sect.UIDefNew.ExpMess">
+An example messenger
+</a></span></dt><dt><span class="sect2"><a href="#sect.UIDefNew.HowCont">
+How to control the output of G4cout/G4cerr
+</a></span></dt></dl></dd></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.BuiltinCom"></a>
+Built-in Commands
+</h2></div></div><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"><b>vary</b></span> according to the implementation of 
+your application and may even <span class="bold"><b>vary</b></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 class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.UIDefNew"></a>
+User Interface - Defining New Commands
+</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.UIDefNew.UIMess"></a>
+G4UImessenger
+</h3></div></div><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 <tt class="literal">SetNewValue()</tt> and
+<tt class="literal">GetCurrentValue()</tt> 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 <tt class="literal">SetNewValue()</tt> and <tt class="literal">GetCurrentValue()</tt>
+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
+(<tt class="literal">int</tt> or <tt class="literal">double</tt>), the range can be given by a
+<span class="emphasis"><em>G4String</em></span> using C++ notation, e.g., <tt class="literal">"X &gt; 0 &amp;&amp;
+X &lt; 10"</tt>. For the case of a string type parameter, you can
+set a candidate list. Please refer to the detailed descriptions below.
+</p><p>
+<tt class="literal">GetCurrentValue()</tt> will be invoked after the user's
+application of the corresponding command, and before the
+<tt class="literal">SetNewValue()</tt> invocation. This <tt class="literal">GetCurrentValue()</tt>
+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
+    <tt class="literal">currentValueAsDefault</tt>
+  </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 <tt class="literal">/run/beamOn</tt> 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
+<tt class="literal">AvailableForStates()</tt> method.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.UIDefNew.DervCls"></a>
+G4UIcommand and its derived classes
+</h3></div></div><div></div></div><h4><a name="id575729"></a>
+Methods available for all derived classes
+</h4><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>
+    <tt class="literal">void SetGuidance(char*)</tt>
+    </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>
+    <tt class="literal">void availableForStates(G4ApplicationState s1,...)</tt>
+    </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 <tt class="literal">G4State_PreInit, G4State_Init, G4State_Idle,
+    G4State_GeomClosed,</tt> and <tt class="literal">G4State_EventProc</tt>. 
+    Refer to the section 3.4.2 for meaning of each state. Please note that 
+    the <tt class="literal">Pause</tt> state had been removed from
+    <span class="emphasis"><em>G4ApplicationState</em></span>.
+    </p><p>
+  </p></li><li><p>
+    <tt class="literal">void SetRange(char* range)</tt>
+    </p><p>
+    Define a range of the parameter(s). Use C++ notation, e.g.,
+    <tt class="literal">"x &gt; 0 &amp;&amp; x &lt; 10"</tt>, with variable name(s)
+    defined by the <tt class="literal">SetParameterName()</tt> method. For the case of
+    a <span class="emphasis"><em>G4ThreeVector</em></span>, you can set the relation between
+    parameters, e.g., <tt class="literal">"x &gt; y"</tt>.
+    </p><p>
+  </p></li></ul></div><p>
+</p><h4><a name="id575848"></a>
+G4UIdirectory
+</h4><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>
+    <tt class="literal">G4UIdirectory(char* directoryPath)</tt>
+    </p><p>
+    Constructor. Argument is the (full-path) directory, which must
+    begin and terminate with `<tt class="literal">/</tt>'.
+    </p><p>
+  </p></li></ul></div><p>
+</p><h4><a name="id575891"></a>
+G4UIcmdWithoutParameter
+</h4><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>
+    <tt class="literal">G4UIcmdWithoutParameter(char* commandPath,
+    G4UImessenger* theMessenger)</tt>
+    </p><p>
+    Constructor. Arguments are the (full-path) command name and the
+    pointer to your messenger.
+    </p><p>
+  </p></li></ul></div><p>
+</p><h4><a name="id575929"></a>
+G4UIcmdWithABool
+</h4><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>
+    <tt class="literal">G4UIcmdWithABool(char* commandpath,G4UImanager*
+    theMessenger)</tt>
+    </p><p>
+    Constructor. Arguments are the (full-path) command name and the
+    pointer to your messenger.
+    </p><p>
+  </p></li><li><p>
+    <tt class="literal">void SetParameterName(char* paramName,
+    G4bool omittable)</tt>
+    </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>
+    <tt class="literal">void SetDefaultValue(G4bool defVal)</tt>
+    </p><p>
+    Define the default value of the boolean parameter.
+    </p><p>
+  </p></li><li><p>
+    <tt class="literal">G4bool GetNewBoolValue(G4String paramString)</tt>
+    </p><p>
+    Convert <span class="emphasis"><em>G4String</em></span> parameter value given by the
+    <tt class="literal">SetNewValue()</tt> method of your messenger into boolean.
+    </p><p>
+  </p></li><li><p>
+    <tt class="literal">G4String convertToString(G4bool currVal)</tt>
+    </p><p>
+    Convert the current boolean value to <span class="emphasis"><em>G4String</em></span> 
+    whichshould be returned by the <tt class="literal">GetCurrentValue()</tt> method 
+    of your messenger.
+    </p><p>
+  </p></li></ul></div><p>
+</p><h4><a name="id576049"></a>
+G4UIcmdWithAnInteger
+</h4><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>
+    <tt class="literal">G4UIcmdWithAnInteger(char* commandpath,
+    G4UImanager* theMessenger)</tt>
+    </p><p>
+    Constructor. Arguments are the (full-path) command name and the
+    pointer to your messenger.
+    </p><p>
+  </p></li><li><p>
+    <tt class="literal">void SetParameterName(char* paramName,
+    G4bool omittable)</tt>
+    </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>
+    <tt class="literal">void SetDefaultValue(G4int defVal)</tt>
+    </p><p>
+    Define the default value of the integer parameter.
+    </p><p>
+  </p></li><li><p>
+    <tt class="literal">G4int GetNewIntValue(G4String paramString)</tt>
+    </p><p>
+    Convert <span class="emphasis"><em>G4String</em></span> parameter value given by the
+    <tt class="literal">SetNewValue()</tt> method of your messenger into integer.
+    </p><p>
+  </p></li><li><p>
+    <tt class="literal">G4String convertToString(G4int currVal)</tt>
+    </p><p>
+    Convert the current integer value to <span class="emphasis"><em>G4String</em></span>, which
+    should be returned by the <tt class="literal">GetCurrentValue()</tt> method of your
+    messenger.
+    </p><p>
+</p></li></ul></div><p>
+</p><h4><a name="id576168"></a>
+G4UIcmdWithADouble
+</h4><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>
+    <tt class="literal">G4UIcmdWithADouble(char* commandpath,
+    G4UImanager* theMessenger)</tt>
+    </p><p>
+    Constructor. Arguments are the (full-path) command name and the
+    pointer to your messenger.
+    </p><p>
+  </p></li><li><p>
+    <tt class="literal">void SetParameterName(char* paramName,
+    G4bool omittable)</tt>
+    </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><tt class="literal">void SetDefaultValue(G4double defVal)</tt>
+  </p><p>
+  Define the default value of the double parameter.
+  </p><p>
+  </p></li><li><p>
+    <tt class="literal">G4double GetNewDoubleValue(G4String paramString)</tt>
+    </p><p>
+    Convert <span class="emphasis"><em>G4String</em></span> parameter value given by the
+    <tt class="literal">SetNewValue()</tt> method of your messenger into double.
+    </p><p>
+  </p></li><li><p>
+    <tt class="literal">G4String convertToString(G4double currVal)</tt>
+    </p><p>
+    Convert the current double value to <span class="emphasis"><em>G4String</em></span> which
+    should be returned by the <tt class="literal">GetCurrentValue()</tt> method of 
+    your messenger.
+    </p><p>
+  </p></li></ul></div><p>
+</p><h4><a name="id576287"></a>
+G4UIcmdWithAString
+</h4><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>
+    <tt class="literal">G4UIcmdWithAString(char* commandpath,
+    G4UImanager* theMessenger)</tt>
+    </p><p>
+    Constructor. Arguments are the (full-path) command name and the
+    pointer to your messenger.
+    </p><p>
+  </p></li><li><p>
+    <tt class="literal">void SetParameterName(char* paramName,
+    G4bool omittable)</tt>
+    </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>
+    <tt class="literal">void SetDefaultValue(char* defVal)</tt>
+    </p><p>
+    Define the default value of the string parameter.
+    </p><p>
+  </p></li><li><p>
+    <tt class="literal">void SetCandidates(char* candidateList)</tt>
+    </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><h4><a name="id576374"></a>
+G4UIcmdWith3Vector
+</h4><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>
+    <tt class="literal">G4UIcmdWith3Vector(char* commandpath,
+    G4UImanager* theMessenger)</tt>
+    </p><p>
+    Constructor. Arguments are the (full-path) command name and the
+    pointer to your messenger.
+    </p><p>
+  </p></li><li><p>
+    <tt class="literal">void SetParameterName(char* paramNamX, char* paramNamY,
+    char* paramNamZ, G4bool omittable)</tt>
+    </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>
+    <tt class="literal">void SetDefaultValue(G4ThreeVector defVal)</tt>
+    </p><p>
+    Define the default value of the three vector.
+    </p><p>
+  </p></li><li><p>
+    <tt class="literal">G4ThreeVector GetNew3VectorValue(G4String paramString)</tt>
+    </p><p>
+    Convert the <span class="emphasis"><em>G4String</em></span> parameter value given by the
+    <tt class="literal">SetNewValue()</tt> method of your messenger into a
+    <span class="emphasis"><em>G4ThreeVector</em></span>.
+    </p><p>
+  </p></li><li><p>
+    <tt class="literal">G4String convertToString(G4ThreeVector currVal)</tt>
+    </p><p>
+    Convert the current three vector to <span class="emphasis"><em>G4String</em></span>, which
+    should be returned by the <tt class="literal">GetCurrentValue()</tt> method of 
+    your messenger.
+    </p><p>
+  </p></li></ul></div><p>
+</p><h4><a name="id576770"></a>
+G4UIcmdWithADoubleAndUnit
+</h4><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>
+    <tt class="literal">G4UIcmdWithADoubleAndUnit(char* commandpath,
+    G4UImanager* theMessenger)</tt>
+    </p><p>
+    Constructor. Arguments are the (full-path) command name and the
+    pointer to your messenger.
+    </p><p>
+  </p></li><li><p>
+    <tt class="literal">void SetParameterName(char* paramName,
+    G4bool omittable)</tt>
+    </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>
+    <tt class="literal">void SetDefaultValue(G4double defVal)</tt>
+    </p><p>
+    Define the default value of the double parameter.
+    </p><p>
+</p><p>
+</p></li><li><p>
+  <tt class="literal">void SetUnitCategory(char* unitCategory)</tt>
+  </p><p>
+  Define acceptable unit category.
+  </p><p>
+  </p></li><li><p>
+    <tt class="literal">void SetDefaultUnit(char* defUnit)</tt>
+    </p><p>
+    Define the default unit. Please use this method and the
+    <tt class="literal">SetUnitCategory()</tt> method alternatively.
+    </p><p>
+  </p></li><li><p>
+    <tt class="literal">G4double GetNewDoubleValue(G4String paramString)</tt>
+    </p><p>
+    Convert <span class="emphasis"><em>G4String</em></span> parameter value given by the
+    <tt class="literal">SetNewValue()</tt> 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><tt class="literal">G4double GetNewDoubleRawValue(G4String paramString)</tt>
+  </p><p>
+  Convert <span class="emphasis"><em>G4String</em></span> parameter value given by the
+  <tt class="literal">SetNewValue()</tt> method of your messenger into double but
+  without multiplying the value of the given unit.
+  </p><p>
+  </p></li><li><p><tt class="literal">G4double GetNewUnitValue(G4String paramString)</tt>
+  </p><p>
+  Convert <span class="emphasis"><em>G4String</em></span> unit value given by the
+  <tt class="literal">SetNewValue()</tt> method of your messenger into double.
+  </p><p>
+  </p></li><li><p>
+    <tt class="literal">G4String convertToString(G4bool currVal,
+    char* unitName)</tt>
+    </p><p>
+    Convert the current double value to a <span class="emphasis"><em>G4String</em></span>, which
+    should be returned by the <tt class="literal">GetCurrentValue()</tt> 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><h4><a name="id576980"></a>
+G4UIcmdWith3VectorAndUnit
+</h4><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>
+    <tt class="literal">G4UIcmdWith3VectorAndUnit(char* commandpath,
+    G4UImanager* theMessenger)</tt>
+    </p><p>
+    Constructor. Arguments are the (full-path) command name and the
+    pointer to your messenger.</p><p>
+  </p></li><li><p>
+    <tt class="literal">void SetParameterName(char* paramNamX, char* paramNamY,
+    char* paramNamZ,G4bool omittable)</tt>
+    </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>
+    <tt class="literal">void SetDefaultValue(G4ThreeVector defVal)</tt>
+    </p><p>
+    Define the default value of the three vector.
+    </p><p>
+  </p></li><li><p>
+    <tt class="literal">void SetUnitCategory(char* unitCategory)</tt>
+    </p><p>
+    Define acceptable unit category.
+    </p><p>
+  </p></li><li><p>
+    <tt class="literal">void SetDefaultUnit(char* defUnit)</tt>
+    </p><p>
+    Define the default unit. Please use this method and the
+    <tt class="literal">SetUnitCategory()</tt> method alternatively.
+    </p><p>
+  </p></li><li><p>
+    <tt class="literal">G4ThreeVector GetNew3VectorValue(G4String paramString)</tt>
+    </p><p>
+    Convert a <span class="emphasis"><em>G4String</em></span> parameter value given by the
+    <tt class="literal">SetNewValue()</tt> 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>
+    <tt class="literal">G4ThreeVector GetNew3VectorRawValue(G4String paramString)</tt>
+    </p><p>
+    Convert a <span class="emphasis"><em>G4String</em></span> parameter value given by the
+    <tt class="literal">SetNewValue()</tt> method of your messenger into three vector,
+    but without multiplying the value of the given unit.
+    </p><p>
+  </p></li><li><p>
+    <tt class="literal">G4double GetNewUnitValue(G4String paramString)</tt>
+    </p><p>
+    Convert a <span class="emphasis"><em>G4String</em></span> unit value given by the
+    <tt class="literal">SetNewValue()</tt> method of your messenger into a double.
+    </p><p>
+  </p></li><li><p>
+    <tt class="literal">G4String convertToString(G4ThreeVector currVal,
+    char* unitName)</tt>
+    </p><p>
+    Convert the current three vector to a <span class="emphasis"><em>G4String</em></span> which
+    should be returned by the <tt class="literal">GetCurrentValue()</tt> 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><h4><a name="id577195"></a>
+Additional comments on the <tt class="literal">SetParameterName()</tt> method
+</h4><p>
+You can add one additional argument of <tt class="literal">G4bool</tt> type for
+every <tt class="literal">SetParameterName()</tt> method mentioned above. This
+additional argument is named <tt class="literal">currentAsDefaultFlag</tt> and the
+default value of this argument is <tt class="literal">false</tt>. If you assign
+this extra argument as <tt class="literal">true</tt>, 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>
+An example messenger
+</h3></div></div><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 <tt class="literal">G4ParticleGunMessenger.hh</tt>.
+</b></p><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><p>
+</p><p>
+</p><div class="example"><a name="programlist_UIDefNew_2"></a><p class="title"><b>Example 7.2. 
+An example of <tt class="literal">G4ParticleGunMessenger.cc</tt>.
+</b></p><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><p>
+</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>
+How to control the output of G4cout/G4cerr
+</h3></div></div><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
+    <tt class="literal">G4UImanager::SetCoutDestination(session)</tt>.
+    </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 <tt class="literal">SetCoutDestination(this)</tt> 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, <tt class="literal">UI-&gt;SetCoutDestination(NULL)</tt> must be added
+    to the destructor of the class.
+    </p><p>
+  </p></li><li><p>
+    Write or modify the main program. To modify <tt class="literal">exampleN01</tt>
+    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
+<tt class="literal">static</tt>. 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="#biblio.ellis1990">
+    Ellis1990
+  </a>
+     </span>]     
+   </p></li><li><p>
+     P.J.Plauger, ``The Draft Standard C++ Library''
+     [<span class="citation">
+     <a href="#biblio.plauger1995">
+    Plauger1995
+  </a>
+     </span>]     
+   </p></li></ul></div><p>
+</p></div></div></div></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></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#sect.VisIntro">
+Introduction to Visualization
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.VisIntro.What">
+What Can be Visualized
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisIntro.Choice">
+You have a Choice of Visualization Drivers
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisIntro.ChoDrv">
+Choose the Driver that Meets Your Needs
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisIntro.CntVis">
+Controlling Visualization
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisIntro.Details">
+Visualization Details
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.VisAddExe">
+Adding Visualization to Your Executable
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.VisAddExe.InstDrv">
+Installing Visualization Drivers
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisAddExe.RealVisDrv">
+How to Realize Visualization Drivers in an Executable
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisAddExe.SampSetup">
+A Sample Set-up File
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisAddExe.VisMan">
+Visualization Manager
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisAddExe.WrtMain">
+How to Write the main() Function
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.VisDrv">
+The Visualization Drivers
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.VisDrv.Avail">
+Availability of drivers on the supported systems
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisDrv.OpenGL">
+OpenGL
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisDrv.OpenInv">
+OpenInventor
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisDrv.HepRep">
+HepRepFile
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisDrv.HepRepXML">
+HepRepXML
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisDrv.DAWN">
+DAWN
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisDrv.RemDAWN">
+Remote Visualization with the DAWN-Network Driver
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisDrv.VRML">
+VRML
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisDrv.RayTrc">
+RayTracer
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisDrv.DetTree">
+Visualization of detector geometry tree
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisDrv.GAGTree">
+GAG Tree
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisDrv.XMLTree">
+XML Tree
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.VisCntCmmd">
+Controlling Visualization from Commands
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.VisCntCmmd.ScnHndVw">
+Scene, scene handler, and viewer
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmmd.CrtScnVw">
+Create a scene handler and a viewer: /vis/open command
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmmd.CrtEmp">
+Create an empty scene: /vis/scene/create command
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmmd.PhyVol">
+Visualization of a physical volume: /vis/drawVolume command
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmmd.LogVol">
+Visualization of a logical volume: /vis/specify command
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmmd.Traj">
+Visualization of trajectories: /vis/scene/add/trajectories command
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmmd.Hits">
+Visualization of hits: /vis/scene/add/hits command
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmmd.HrAtHits">
+HepRep Attributes for Hits
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmmd.BscCmrWrk">
+Basic camera workings: /vis/viewer/ commands
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmmd.DclEndFlsh">
+Declare the end of visualization for flushing: /vis/viewer/flush command
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmmd.EndEvtRun">
+End of Event Action and End of Run Action:
+/vis/viewer/endOfEventAction and
+/vis/viewer/endOfEventAction commands
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmmd.HpRpTraj">
+HepRep Attributes for Trajectories
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmmd.SvVwPs">
+How to save a visualized views to PostScript files
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmmd.Cull">
+Culling
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmmd.CutVw">
+Cut view
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmmd.TutMac">
+Tutorial macros
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.VisCntCmpl">
+Controlling Visualization from Compiled Code
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.VisCntCmpl.VsMng">
+G4VVisManager
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmpl.DtcCmp">
+Visualization of detector components
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmpl.Trjct">
+Visualization of trajectories
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmpl.EnhTrjct">
+Enhanced trajectory drawing
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmpl.AttTrjct">
+HepRep Attributes for Trajectories
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmpl.Hits">
+Visualization of hits
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmpl.AttHits">
+HepRep Attributes for Hits
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmpl.txt">
+Visualization of text
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmpl.PlyTrkStp">
+Visualization of polylines and tracking steps
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmpl.UsrAct">
+Visualization User Action
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisCntCmpl.StdAln">
+Standalone Visualization
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.VisAtt">
+Visualization Attributes
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.VisAtt.Vsblty">
+Visibility
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisAtt.Colr">
+Colour
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisAtt.FrcAtt">
+Forcing attributes
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisAtt.CnstAtt">
+Constructors of G4VisAttributes
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisAtt.AssgLgVol">
+How to assign G4VisAttributes to a logical volume
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisAtt.AddUdefAtt">
+Additional User-Defined Attributes
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.VisEnhTrj">
+Enhanced Trajectory Drawing
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.VisEnhTrj.DflCnfg">
+Default Configuration
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisEnhTrj.DrdMdl">
+Trajectory Drawing Models
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisEnhTrj.CntlComm">
+Controlling from Commands
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisEnhTrj.CntlCmpl">
+Controlling from Compiled Code
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisEnhTrj.DrwByTime">
+Drawing by time
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.VisFltr">
+Trajectory Filtering
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.VisFltr.CntlComm">
+Controlling from Commands
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisFltr.ExpComm">
+Example commands
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisFltr.HitFilt">
+Hit Filtering
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.VisPlylMrkTxt">
+Polylines, Markers and Text
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.VisPlylMrkTxt.Plyl">
+Polylines
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisPlylMrkTxt.Mrk">
+Markers
+</a></span></dt><dt><span class="sect2"><a href="#sect.VisPlylMrkTxt.Txt">
+Text
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.MkMovie">
+Making a Movie
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.MkMovie.OGLX">
+OGLX
+</a></span></dt><dt><span class="sect2"><a href="#sect.MkMovie.DAWNFILE">
+DAWNFILE
+</a></span></dt><dt><span class="sect2"><a href="#sect.MkMovie.RyTrcX">
+RayTracerX
+</a></span></dt></dl></dd></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.VisIntro"></a>
+Introduction to Visualization
+</h2></div></div><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>
+What Can be Visualized
+</h3></div></div><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>
+You have a Choice of Visualization Drivers
+</h3></div></div><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>
+Choose the Driver that Meets Your Needs
+</h3></div></div><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>
+Controlling Visualization
+</h3></div></div><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>
+Visualization Details
+</h3></div></div><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="#sect.VisAddExe" title="
+Adding Visualization to Your Executable
+">the section called &#8220;
+Adding Visualization to Your Executable
+&#8221;</a>
+    Adding Visualization to Your Executable
+  </p></li><li><p>
+    <a href="#sect.VisDrv" title="
+The Visualization Drivers
+">the section called &#8220;
+The Visualization Drivers
+&#8221;</a>
+    The Visualization Drivers
+  </p></li><li><p>
+    <a href="#sect.VisCntCmmd" title="
+Controlling Visualization from Commands
+">the section called &#8220;
+Controlling Visualization from Commands
+&#8221;</a>
+      Controlling Visualization from Commands
+  </p></li><li><p>
+    <a href="#sect.VisCntCmpl" title="
+Controlling Visualization from Compiled Code
+">the section called &#8220;
+Controlling Visualization from Compiled Code
+&#8221;</a>
+      Controlling Visualization from Compiled Code
+  </p></li><li><p>
+    <a href="#sect.VisAtt" title="
+Visualization Attributes
+">the section called &#8220;
+Visualization Attributes
+&#8221;</a>
+    Visualization Attributes
+  </p></li><li><p>
+    <a href="#sect.VisEnhTrj" title="
+Enhanced Trajectory Drawing
+">the section called &#8220;
+Enhanced Trajectory Drawing
+&#8221;</a>
+    Enhanced Trajectory Drawing
+  </p></li><li><p>
+    <a href="#sect.VisPlylMrkTxt" title="
+Polylines, Markers and Text
+">the section called &#8220;
+Polylines, Markers and Text
+&#8221;</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
+    <tt class="literal">examples/novice/N03/visTutor/</tt>.
+  </p></li></ul></div><p>
+</p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.VisAddExe"></a>
+Adding Visualization to Your Executable
+</h2></div></div><div></div></div><p>
+This section explains how to incorporate your selected
+visualization drivers into the <tt class="literal">main()</tt> 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>
+Installing Visualization Drivers
+</h3></div></div><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="#sect.VisDrv" title="
+The Visualization Drivers
+">the section called &#8220;
+The Visualization Drivers
+&#8221;</a>
+"<span class="bold"><b>Visualization Drivers</b></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="#table.VisDrv_1" title="Table 8.1. 
+Required graphics systems and supported platforms for the various 
+visualization drivers.
+">Table 8.1, &#8220;
+Required graphics systems and supported platforms for the various 
+visualization drivers.
+&#8221;</a> in 
+<a href="#sect.VisDrv" title="
+The Visualization Drivers
+">the section called &#8220;
+The Visualization Drivers
+&#8221;</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 <tt class="literal">G4VIS_NONE</tt> 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
+"<tt class="literal">G4VIS_BUILD_DRIVERNAME_DRIVER</tt>" should be set to
+"<tt class="literal">1</tt>" 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 <tt class="literal">G4VIS_NONE</tt> 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 <tt class="literal">G4VIS_BUILD</tt>
+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>
+How to Realize Visualization Drivers in an Executable
+</h3></div></div><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 <tt class="literal">G4VisManager</tt> that implements
+the pure virtual function <tt class="literal">RegisterGraphicsSystems()</tt>. 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 <tt class="literal">G4VisExecutive</tt>, a provided class with
+included implementation. <tt class="literal">G4VisExecutive</tt> is sensitive to
+the <tt class="literal">G4VIS_USE...</tt> 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 <tt class="literal">G4VisExecutive.icc</tt>.
+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 <tt class="literal">G4VisExecutive</tt> but register an
+additional graphics system, <tt class="literal">XXX</tt> 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 <tt class="literal">G4VIS_NONE</tt> is set, these set
+C-pre-processor flags of the same name.
+</p><p>
+Also, unless the environment variable <tt class="literal">G4VIS_NONE</tt> is
+set, the C-pre-processor flag <tt class="literal">G4VIS_USE</tt> is always set by
+default. This flag is available in describing the <tt class="literal">main()</tt>
+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 <tt class="literal">OGLHOME</tt> which
+points to the location of the OpenGL libraries. For more details,
+see <a href="#sect.VisDrv" title="
+The Visualization Drivers
+">the section called &#8220;
+The Visualization Drivers
+&#8221;</a> 
+"<span class="bold"><b>Visualization Drivers</b></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>
+A Sample Set-up File
+</h3></div></div><div></div></div><p>
+The following can be part of the user's <tt class="literal">.cshrc</tt> or
+<tt class="literal">.tcshrc</tt> 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 <tt class="literal">.cshrc</tt> setup file for the Linux platform.
+</b></p><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><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisAddExe.VisMan"></a>
+Visualization Manager
+</h3></div></div><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>
+How to Write the <tt class="literal">main()</tt> Function
+</h3></div></div><div></div></div><p>
+In order for your Geant4 executable to perform visualization, you
+must instantiate and initialize "your" Visualization Manager in the
+<tt class="literal">main()</tt> function. The core of the Visualization Manager is
+the class <tt class="literal">G4VisManager</tt>, defined in the visualization
+category. This class requires that one pure virtual function be
+implemented, namely, <tt class="literal">void RegisterGraphicsSystems()</tt>. The
+easiest way to do this is to use <tt class="literal">G4VisExecutive</tt>, as
+described above (but you may write your own class - see above).
+</p><p>
+<a href="#programlist_VisAddExe_2" title="Example 8.2. 
+The form of the main() function.
+">Example 8.2, &#8220;
+The form of the main() function.
+&#8221;</a> shows the form of the 
+<tt class="literal">main()</tt> function.
+
+</p><div class="example"><a name="programlist_VisAddExe_2"></a><p class="title"><b>Example 8.2. 
+The form of the <tt class="literal">main()</tt> function.
+</b></p><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><p>
+</p><p>
+Alternatively, you can implement an empty
+<tt class="literal">RegisterGraphicsSystems()</tt> function, and register
+visualization drivers you want directly in your <tt class="literal">main()</tt>
+function. See <a href="#programlist_VisAddExe_3" title="Example 8.3. 
+An alternative style for the main() function.
+">Example 8.3, &#8220;
+An alternative style for the main() function.
+&#8221;</a>.
+
+</p><div class="example"><a name="programlist_VisAddExe_3"></a><p class="title"><b>Example 8.3. 
+An alternative style for the <tt class="literal">main()</tt> function.
+</b></p><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><p>
+</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
+<tt class="literal">G4VisManager</tt> 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 <tt class="literal">G4VIS_USE</tt> is automatically defined
+unless the environment variable <tt class="literal">G4VIS_NONE</tt> is set. This
+assumes that you are compiling your Geant4 executable with the
+standard version of GNUmakefile found in the <tt class="literal">config</tt>
+directory.
+</p><p>
+<a href="#programlist_VisAddExe_4" title="Example 8.4. 
+An example of the main() function available for 
+Geant4 Visualization.
+">Example 8.4, &#8220;
+An example of the main() function available for 
+Geant4 Visualization.
+&#8221;</a> shows an example of the 
+<tt class="literal">main()</tt> 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 <tt class="literal">main()</tt> function available for 
+Geant4 Visualization.
+</b></p><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><p>
+</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 <tt class="literal">main()</tt> 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 <tt class="literal">/vis/verbose</tt> command.)
+</p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.VisDrv"></a>
+The Visualization Drivers
+</h2></div></div><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="#sect.VisDrv.OpenGL" title="
+OpenGL
+">the section called &#8220;
+OpenGL
+&#8221;</a>
+    OpenGL
+  </p></li><li><p>
+    <a href="#sect.VisDrv.OpenInv" title="
+OpenInventor
+">the section called &#8220;
+OpenInventor
+&#8221;</a>
+    OpenInventor
+  </p></li><li><p>
+    <a href="#sect.VisDrv.HepRep" title="
+HepRepFile
+">the section called &#8220;
+HepRepFile
+&#8221;</a>
+    HepRepFile
+  </p></li><li><p>
+    <a href="#sect.VisDrv.HepRepXML" title="
+HepRepXML
+">the section called &#8220;
+HepRepXML
+&#8221;</a>
+    HepRepXML
+  </p></li><li><p>
+    <a href="#sect.VisDrv.DAWN" title="
+DAWN
+">the section called &#8220;
+DAWN
+&#8221;</a>
+    DAWN
+  </p></li><li><p>
+    <a href="#sect.VisDrv.VRML" title="
+VRML
+">the section called &#8220;
+VRML
+&#8221;</a>
+    VRML
+  </p></li><li><p>
+    <a href="#sect.VisDrv.RayTrc" title="
+RayTracer
+">the section called &#8220;
+RayTracer
+&#8221;</a>
+    RayTracer
+  </p></li><li><p>
+    <a href="#sect.VisDrv.DetTree" title="
+Visualization of detector geometry tree
+">the section called &#8220;
+Visualization of detector geometry tree
+&#8221;</a>
+    ASCIITree
+  </p></li><li><p>
+    <a href="#sect.VisDrv.GAGTree" title="
+GAG Tree
+">the section called &#8220;
+GAG Tree
+&#8221;</a>
+    GAGTree
+  </p></li><li><p>
+    <a href="#sect.VisDrv.XMLTree" title="
+XML Tree
+">the section called &#8220;
+XML Tree
+&#8221;</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>
+Availability of drivers on the supported systems
+</h3></div></div><div></div></div><p>
+<a href="#table.VisDrv_1" title="Table 8.1. 
+Required graphics systems and supported platforms for the various 
+visualization drivers.
+">Table 8.1, &#8220;
+Required graphics systems and supported platforms for the various 
+visualization drivers.
+&#8221;</a> lists required graphics systems 
+and supported platforms for the various visualization drivers
+
+</p><div class="table"><a name="table.VisDrv_1"></a><p class="title"><b>Table 8.1. 
+Required graphics systems and supported platforms for the various 
+visualization drivers.
+</b></p><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"><b>Driver</b></span></td><td><span class="bold"><b>Required Graphics System</b></span></td><td><span class="bold"><b>Platform</b></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>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisDrv.OpenGL"></a>
+OpenGL
+</h3></div></div><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"><b>Further information (OpenGL and Mesa):</b></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>
+OpenInventor
+</h3></div></div><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"><b>Further information (HEPVis and OpenScientist):</b></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"><b>Further information (OpenInventor):</b></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>
+HepRepFile
+</h3></div></div><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"><b>Further information:</b></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>
+HepRepXML
+</h3></div></div><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"><b>Further information:</b></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>
+DAWN
+</h3></div></div><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
+<tt class="literal">g4.eps</tt> 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 <tt class="literal">g4.prim</tt> in the current directory. The file
+<tt class="literal">g4.prim</tt> 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="#sect.Geom.Overlap" title="
+Detecting Overlapping Volumes
+">the section called &#8220;
+Detecting Overlapping Volumes
+&#8221;</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 <tt class="literal">G4DAWN_NAMED_PIPE</tt> to "1",
+e.g., <tt class="literal">% setenv G4DAWN_NAMED_PIPE 1</tt>. 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 <tt class="literal">g4.prim</tt> 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>
+Remote Visualization with the DAWN-Network Driver
+</h3></div></div><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 <tt class="literal">telnet</tt> 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 <tt class="literal">g4.prim</tt> in the
+current directory of the local host.
+</p><p>
+<span class="bold"><b>Further information:</b></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"><b>Further information:</b></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>
+VRML
+</h3></div></div><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 <tt class="literal">g4.wrl</tt> 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 <tt class="literal">G4VRML_VIEWER</tt> beforehand. For example,
+
+</p><div class="informalexample"><pre class="programlisting">
+     % setenv G4VRML_VIEWER  "netscape"
+</pre></div><p>
+</p><p>
+Its default value is <tt class="literal">NONE</tt>, which means that no viewer
+is invoked and only the file <tt class="literal">g4.wrl</tt> is generated.
+</p><h4><a name="id586905"></a>
+Remote Visualization with the VRML-Network Driver
+</h4><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 <tt class="literal">telnet</tt> 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 <tt class="literal">g4vrmlview</tt>.
+  </p></li></ol></div><p>
+</p><p>
+The Java application <tt class="literal">g4vrmlview</tt> 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 <tt class="literal">g4vrmlview</tt> can be found in
+the <tt class="literal">README</tt> 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 <tt class="literal">g4vrmlview</tt> 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 <tt class="literal">g4vrmlview</tt> 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 <tt class="literal">g4vrmlview</tt> process to visualize
+the VRML data. The transferred VRML data are saved as a file named
+<tt class="literal">g4.wrl</tt> in the current directory of the local host.
+</p><p>
+<span class="bold"><b>Further information:</b></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"><b>Further information (VRML drivers):</b></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"><b>Sample VRML files:</b></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"><b>Further information (VRML language and browsers):</b></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>
+RayTracer
+</h3></div></div><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 <tt class="literal">G4VIS_BUILD_RATRACERX_DRIVER</tt> at Geant4 library
+build time and <tt class="literal">G4VIS_USE_RAYTRACERX</tt> at application (user
+code) build time (assuming you use the standard visualization
+manager, <tt class="literal">G4VisExecutive</tt>, 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 -
+<tt class="literal">/vis/rayTracer/</tt>.... Alternatively, you can treat it as a
+normal vis system and use <tt class="literal">/vis/viewer/</tt>... 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 <tt class="literal">/vis/viewer/set/all</tt>:
+
+</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>
+Visualization of detector geometry tree
+</h3></div></div><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,
+<tt class="literal">/vis/ASCIITree/verbose</tt>. 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>
+GAG Tree
+</h3></div></div><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>
+XML Tree
+</h3></div></div><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="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.VisCntCmmd"></a>
+Controlling Visualization from Commands
+</h2></div></div><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="#sect.VisAddExe" title="
+Adding Visualization to Your Executable
+">the section called &#8220;
+Adding Visualization to Your Executable
+&#8221;</a>.
+</p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisCntCmmd.ScnHndVw"></a>
+Scene, scene handler, and viewer
+</h3></div></div><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>
+Create a scene handler and a viewer: <tt class="literal">/vis/open</tt> command
+</h3></div></div><div></div></div><p>
+Command "<tt class="literal">/vis/open</tt>" creates a scene handler and a viewer,
+which corresponds to Step 1.
+</p><p>
+<span class="bold"><b>Command: </b></span>
+<tt class="literal">/vis/open [driver_tag_name]</tt>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <span class="bold"><b>Argument</b></span>
+    </p><p>
+    A name of (a mode of) an available visualization driver.
+    </p><p>
+  </p></li><li><p>
+    <span class="bold"><b>Action</b></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"><b>Example: Create the OpenGL-Xlib driver with its 
+    immediate mode</b></span>
+    </p><p>
+    <tt class="literal">Idle&gt; /vis/open OGLIX</tt>
+    </p><p>
+  </p></li><li><p>
+    <span class="bold"><b>Additional notes</b></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>
+Create an empty scene: <tt class="literal">/vis/scene/create</tt> command
+</h3></div></div><div></div></div><p>
+Command "<tt class="literal">/vis/scene/create</tt>" creates an empty scene, 
+which corresponds to Step 2.
+</p><p>
+<span class="bold"><b>Command: </b></span>
+<tt class="literal">
+/vis/scene/create [scene_name]
+</tt>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p><span class="bold"><b>Argument</b></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>
+Visualization of a physical volume: <tt class="literal">/vis/drawVolume</tt> command
+</h3></div></div><div></div></div><p>
+Command "<tt class="literal">/vis/drawVolume</tt>" 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
+"<tt class="literal">/vis/viewer/flush</tt>" should follow in order to do the final
+Step 7.
+</p><p>
+<span class="bold"><b>Commands:</b></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"><b>Argument</b></span>
+    </p><p>
+    A physical-volume name. The default value is "world", which is
+    omittable.
+    </p><p>
+  </p></li><li><p>
+    <span class="bold"><b>Action</b></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
+    "<tt class="literal">/vis/viewer/flush</tt>" should follow this command in order to
+    declare end of visualization.
+    </p><p>
+  </p></li><li><p>
+    <span class="bold"><b>Example: Visualization of the whole world with 
+    coordinate axes</b></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>
+Visualization of a logical volume: <tt class="literal">/vis/specify</tt> command
+</h3></div></div><div></div></div><p>
+Command "<tt class="literal">/vis/specify</tt>" 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 "<tt class="literal">/vis/viewer/flush</tt>" should
+follow the command in order to do the final Step 7.
+</p><p>
+<span class="bold"><b>Command: </b></span>
+<tt class="literal">/vis/specify [logical-volume-name][depth-of-descent]
+[booleans-flag] [voxels-flag] [readout-flag]</tt>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <span class="bold"><b>Argument</b></span>
+    </p><p>
+    A logical-volume name.
+    </p><p>
+  </p></li><li><p>
+    <span class="bold"><b>Action</b></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"><b>Example (visualization of a selected logical 
+    volume with coordinate axes)</b></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>
+Visualization of trajectories: <tt class="literal">/vis/scene/add/trajectories</tt> command
+</h3></div></div><div></div></div><p>
+
+Command "<tt class="literal">/vis/scene/add/trajectories [smooth] [rich]</tt>"
+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
+"<tt class="literal">/tracking/storeTrajectory</tt>" command so that trajectories are
+stored (by default they are not). The visualization is performed
+with the command "<tt class="literal">/run/beamOn</tt>" unless you have non-default
+values for /vis/scene/endOfEventAction or /vis/scene/endOfRunAction
+(described below).
+</p><p>
+<span class="bold"><b>Command: </b></span>
+<tt class="literal">/vis/scene/add/trajectories [smooth] [rich]</tt>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <span class="bold"><b>Action</b></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"><b>Example: Visualization of trajectories</b></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"><b>Additional note 1</b></span>
+    </p><p>
+    See the section 
+    <a href="#sect.VisEnhTrj.CntlComm" title="
+Controlling from Commands
+">the section called &#8220;
+Controlling from Commands
+&#8221;</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>
+Visualization of hits: <tt class="literal">/vis/scene/add/hits</tt> command
+</h3></div></div><div></div></div><p>
+Command "<tt class="literal">/vis/scene/add/hits</tt>" 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 "<tt class="literal">/run/beamOn</tt>" 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>
+HepRep Attributes for Hits
+</h3></div></div><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>
+Basic camera workings: <tt class="literal">/vis/viewer/</tt> commands
+</h3></div></div><div></div></div><p>
+Commands in the command directory "<tt class="literal">/vis/viewer/</tt>" 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
+"<tt class="literal">/vis/viewer/reset</tt>". 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"><b>Command: </b></span>
+<tt class="literal">/vis/viewer/set/viewpointThetaPhi [theta] [phi]
+[deg|rad]</tt>
+</p><p>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <span class="bold"><b>Arguments</b></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"><b>Action</b></span>
+    </p><p>
+    Set a view point in direction of (theta, phi).
+    </p><p>
+  </p></li><li><p>
+    <span class="bold"><b>Example: Set the viewpoint in direction of (70 deg, 
+    20 deg)</b></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"><b>Additional notes</b></span>
+    </p><p>
+    Camera parameters should be set for each viewer. They are
+    initialized with command "<tt class="literal">/vis/viewer/reset</tt>".
+    </p><p>
+  </p></li></ul></div><p>
+
+</p><p>
+<span class="bold"><b>Command: </b></span>
+<tt class="literal">/vis/viewer/zoom [scale_factor]</tt>
+</p><p>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <span class="bold"><b>Argument</b></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"><b>Action</b></span>
+    </p><p>
+    Zoom up/down of view.
+    </p><p>
+  </p></li><li><p>
+    <span class="bold"><b>Example: Zoom up by factor 1.5</b></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"><b>Additional notes</b></span>
+    </p><p>
+    Camera parameters should be set for each viewer. They are
+    initialized with command "<tt class="literal">/vis/viewer/reset</tt>".
+    </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"><b>Command: </b></span>
+<tt class="literal">/vis/viewer/set/style [style_name]</tt>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <span class="bold"><b>Arguments</b></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"><b>Action</b></span>
+    </p><p>
+    Set a drawing style to wireframe or surface.
+    </p><p>
+  </p></li><li><p>
+    <span class="bold"><b>Example: Set the drawing style to "surface"</b></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"><b>Additional notes</b></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 "<tt class="literal">/vis/viewer/reset</tt>".
+    </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>
+Declare the end of visualization for flushing: <tt class="literal">/vis/viewer/flush</tt> command
+</h3></div></div><div></div></div><p>
+<span class="bold"><b>Command: </b></span>
+<tt class="literal">/vis/viewer/flush</tt>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <span class="bold"><b>Action</b></span>
+    </p><p>
+    Declare the end of visualization for flushing.
+    </p><p>
+  </p></li><li><p>
+    <span class="bold"><b>Additional notes</b></span>
+    </p><p>
+    Command "<tt class="literal">/vis/viewer/flush</tt>" should follow
+    "<tt class="literal">/vis/drawVolume</tt>", "<tt class="literal">/vis/specify</tt>", 
+    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>
+End of Event Action and End of Run Action:
+<tt class="literal">/vis/viewer/endOfEventAction</tt> and
+<tt class="literal">/vis/viewer/endOfEventAction</tt> commands
+</h3></div></div><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"><b>Command: </b></span>
+<tt class="literal">/vis/scene/endOfEventAction [refresh|accumulate]</tt>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <span class="bold"><b>Action</b></span>
+    </p><p>
+    Control how often the picture should be cleared.
+    <tt class="literal">refresh</tt> means each event will be written to a new
+    picture.
+    <tt class="literal">accumulate</tt> means events will be accumulated into a single
+    picture. Picture will be flushed at end of run, unless you have
+    also set <tt class="literal">/vis/scene/endOfRunAction accumulate</tt>
+    </p><p>
+  </p></li><li><p>
+    <span class="bold"><b>Additional note</b></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"><b>Command: </b></span>
+<tt class="literal">/vis/scene/endOfRunAction [refresh|accumulate]</tt>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <span class="bold"><b>Action</b></span>
+    </p><p>
+    Control how often the picture should be cleared.
+    <tt class="literal">refresh</tt> means each run will be written to a new
+    picture.
+    <tt class="literal">accumulate</tt> means runs will be accumulated into a single
+    picture. To start a new picture, you must explicitly issue
+    <tt class="literal">/vis/viewer/refresh</tt>, <tt class="literal">/vis/viewer/update</tt> 
+    or <tt class="literal">/vis/viewer/flush</tt>
+    </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>
+HepRep Attributes for Trajectories
+</h3></div></div><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 <tt class="literal">/vis/scene/add/trajectories</tt> 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 <tt class="literal">/vis/scene/add/trajectories rich</tt> 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>
+How to save a visualized views to PostScript files
+</h3></div></div><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 "<tt class="literal">g4_00.eps, g4_01.eps, g4_02.eps</tt>,..." are
+automatically generated in the current directory each time when
+visualization is performed, and then a PostScript viewer
+"<tt class="literal">gv</tt>"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
+<tt class="literal">g4_XX.eps</tt> 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 <tt class="literal">/vis/ogl/printEPS</tt>.
+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>
+Culling
+</h3></div></div><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="#table.VisCntCmmd_1" title="Table 8.2. 
+The default culling policies.
+">Table 8.2, &#8220;
+The default culling policies.
+&#8221;</a> summarizes the default culling policies.
+
+</p><div class="table"><a name="table.VisCntCmmd_1"></a><p class="title"><b>Table 8.2. 
+The default culling policies.
+</b></p><table summary="
+The default culling policies.
+" border="1"><colgroup><col><col></colgroup><tbody><tr><td><span class="bold"><b>Culling Type</b></span></td><td><span class="bold"><b>Default Value</b></span></td></tr><tr><td>
+      global
+    </td><td>
+      ON
+    </td></tr><tr><td>
+      invisible
+    </td><td>
+      ON
+    </td></tr><tr><td>
+      low density
+    </td><td>
+      OFF
+    </td></tr><tr><td>
+      covered daughter
+    </td><td>
+      OFF
+    </td></tr></tbody></table></div><p>
+</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 <tt class="literal">flag</tt> takes a
+value of <tt class="literal">true</tt> or <tt class="literal">false</tt>.)
+
+</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>
+Cut view
+</h3></div></div><div></div></div><h4><a name="id592187"></a>
+Sectioning
+</h4><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><h4><a name="id592229"></a>
+Cutting away
+</h4><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 <tt class="literal">g4.prim</tt>, 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>
+Tutorial macros
+</h3></div></div><div></div></div><p>
+The followings are tutorial macros in the directory
+<tt class="literal">examples/novice/N03/visTutor/</tt>:
+
+</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="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.VisCntCmpl"></a>
+Controlling Visualization from Compiled Code
+</h2></div></div><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
+<tt class="literal">graphics_reps</tt> 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>
+G4VVisManager
+</h3></div></div><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="#sect.VisAddExe" title="
+Adding Visualization to Your Executable
+">the section called &#8220;
+Adding Visualization to Your Executable
+&#8221;</a>
+"<span class="bold"><b>Making a Visualization Executable</b></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 <tt class="literal">main()</tt> function. Instead,
+you should use their abstract base class <span class="emphasis"><em>G4VVisManager</em></span>,
+defined in the <tt class="literal">intercoms</tt> 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 <tt class="literal">G4VVisManager::GetConcreteInstance()</tt> returns
+<tt class="literal">NULL</tt> 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>
+Visualization of detector components
+</h3></div></div><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 <tt class="literal">ApplyCommand()</tt> 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 <tt class="literal">/vis/open</tt> 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>
+Visualization of trajectories
+</h3></div></div><div></div></div><p>
+In order to visualize trajectories, you can use the method <tt class="literal">void
+G4Trajectory::DrawTrajectory()</tt> 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 <tt class="literal">MyEventAction::EndOfEventAction()</tt>
+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>
+Enhanced trajectory drawing
+</h3></div></div><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="#sect.VisEnhTrj.CntlCmpl" title="
+Controlling from Compiled Code
+">the section called &#8220;
+Controlling from Compiled Code
+&#8221;</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>
+HepRep Attributes for Trajectories
+</h3></div></div><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>
+Visualization of hits
+</h3></div></div><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, <tt class="literal">G4VHit::Draw()</tt> and
+<tt class="literal">G4VHitsCollection::DrawAllHits()</tt>, 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 <tt class="literal">digits+hits</tt>
+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 <tt class="literal">Draw()</tt> methods are
+described in class <span class="emphasis"><em>G4VisManager</em></span>.
+</p><p>
+The overloaded implementation of <tt class="literal">G4VHits::Draw()</tt> 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
+<tt class="literal">G4VHitsCollection::DrawAllHits()</tt> 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
+<tt class="literal">MyEventAction::EndOfEventAction()</tt> 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
+<tt class="literal">MyXXXHit::Draw()</tt>, 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>
+HepRep Attributes for Hits
+</h3></div></div><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>
+Visualization of text
+</h3></div></div><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>
+Visualization of polylines and tracking steps
+</h3></div></div><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,
+<tt class="literal">MySteppingAction::UserSteppingAction()</tt>. 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 <tt class="literal">main()</tt> 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 <tt class="literal">/vis/scene/add/axes</tt>
+command.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisCntCmpl.UsrAct"></a>
+Visualization User Action
+</h3></div></div><div></div></div><p>
+You can implement the <tt class="literal">Draw</tt> method of
+<tt class="literal">G4VUserVisAction</tt>, 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 <tt class="literal">Draw</tt>
+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 <tt class="literal">Draw</tt> 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>
+Standalone Visualization
+</h3></div></div><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="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.VisAtt"></a>
+Visualization Attributes
+</h2></div></div><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 
+<tt class="literal">graphics_reps</tt> 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>
+Visibility
+</h3></div></div><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 <tt class="literal">false</tt> 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 <tt class="literal">true</tt>.
+</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 <tt class="literal">false</tt>. 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
+<tt class="literal">G4VisAttributes::Invisible</tt> 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>
+Colour
+</h3></div></div><div></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.VisAtt.Colr.Cnstr"></a>
+Construction
+</h4></div></div><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 <tt class="literal">1</tt>,
+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>
+Colour Map
+</h4></div></div><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>
+Colour and G4VisAttributes
+</h4></div></div><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>
+Forcing attributes
+</h3></div></div><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 <tt class="literal">true</tt> 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
+<tt class="literal">false</tt>.
+</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 <tt class="literal">false</tt>, 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
+<tt class="literal">false</tt>.
+</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>
+Constructors of G4VisAttributes
+</h3></div></div><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>
+How to assign G4VisAttributes to a logical volume
+</h3></div></div><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>
+Additional User-Defined Attributes
+</h3></div></div><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="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.VisEnhTrj"></a>
+Enhanced Trajectory Drawing
+</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisEnhTrj.DflCnfg"></a>
+Default Configuration
+</h3></div></div><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"><b>Property</b></span></td><td><span class="bold"><b>Default Setting</b></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>
+Trajectory Drawing Models
+</h3></div></div><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><h4><a name="id599896"></a>
+G4TrajectoryGenericDrawer
+</h4><p>
+This model simply draws all trajectories in the same style, with
+the properties provided by the context.
+</p><h4><a name="id599910"></a>
+G4TrajectoryDrawByCharge
+</h4><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><h4><a name="id599938"></a>
+G4TrajectoryDrawByParticleID
+</h4><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><h4><a name="id599954"></a>
+G4TrajectoryDrawByOriginVolume
+</h4><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><h4><a name="id599970"></a>
+G4TrajectoryDrawByAttribute
+</h4><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>
+Controlling from Commands
+</h3></div></div><div></div></div><p>
+Multiple trajectory models can be created and configured using
+commands in the "<tt class="literal">/vis/modeling/trajectories/</tt>" 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>
+Example commands
+</h4></div></div><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>
+Controlling from Compiled Code
+</h3></div></div><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>
+Drawing by time
+</h3></div></div><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 <tt class="literal">fade</tt> gives a vapour-trail effect,
+<tt class="literal">displayHeadTime</tt> displays the time of the leading edge as
+2D text, and <tt class="literal">movie.loop</tt> 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="#sect.MkMovie" title="
+Making a Movie
+">the section called &#8220;
+Making a Movie
+&#8221;</a>
+make a movie.
+</p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.VisFltr"></a>
+Trajectory Filtering
+</h2></div></div><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"><b>Soft filtering</b></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"><b>Hard filtering</b></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><h4><a name="id601482"></a>
+G4TrajectoryChargeFilter
+</h4><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><h4><a name="id601497"></a>
+G4TrajectoryParticleFilter
+</h4><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><h4><a name="id601512"></a>
+G4TrajectoryOriginVolumeFilter
+</h4><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><h4><a name="id601528"></a>
+G4TrajectoryAttributeFilter
+</h4><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>
+Controlling from Commands
+</h3></div></div><div></div></div><p>
+Multiple trajectory filter models can be created and configured
+using commands in the "<tt class="literal">/vis/filtering/trajectories/</tt>"
+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>
+Example commands
+</h3></div></div><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>
+Hit Filtering
+</h3></div></div><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 
+<tt class="literal">/vis/filtering/hits</tt>.
+</p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.VisPlylMrkTxt"></a>
+Polylines, Markers and Text
+</h2></div></div><div></div></div><p>
+ Polylines, markers and text are defined in the
+<tt class="literal">graphics_reps</tt> 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>
+Polylines
+</h3></div></div><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 
+<tt class="literal">graphics_reps</tt> 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 <tt class="literal">push_back()</tt> method.
+</p><p>
+For example, an x-axis with length 5 cm and with red color is
+defined in <a href="#programlist_VisPlylMrkTxt_1" title="Example 8.5. 
+Defining an x-axis with length 5 cm and with colour red.
+">Example 8.5, &#8220;
+Defining an x-axis with length 5 cm and with colour red.
+&#8221;</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><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><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisPlylMrkTxt.Mrk"></a>
+Markers
+</h3></div></div><div></div></div><p>
+Here we explain how to use 3D markers in Geant4 Visualization.
+</p><h4><a name="id602320"></a>
+What are Markers?
+</h4><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"><b>Marker Type</b></span></td><td><span class="bold"><b>Class Name</b></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><h4><a name="id602446"></a>
+Access functions of markers
+</h4><p>
+<a href="#programlist_VisPlylMrkTxt_2" title="Example 8.6. 
+The access functions inherited from the base class
+G4VMarker.
+">Example 8.6, &#8220;
+The access functions inherited from the base class
+G4VMarker.
+&#8221;</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><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><p>
+</p><p>
+<a href="#programlist_VisPlylMrkTxt_3" title="Example 8.7. 
+Sample C++ source code to define a very small red circle.
+">Example 8.7, &#8220;
+Sample C++ source code to define a very small red circle.
+&#8221;</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><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><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisPlylMrkTxt.Txt"></a>
+Text
+</h3></div></div><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 <tt class="literal">text</tt> is the text (string) to be
+visualized, and <tt class="literal">pos</tt> 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 <tt class="literal">SetText()</tt> defines text to be visualized, and
+<tt class="literal">GetText()</tt> returns the defined text. Method
+<tt class="literal">SetOffset()</tt> 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 <tt class="literal">G4VMarker:SetPosition()</tt>.
+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="#programlist_VisPlylMrkTxt_4" title="Example 8.8. 
+An example of defining text.
+">Example 8.8, &#8220;
+An example of defining text.
+&#8221;</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><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><p>
+</p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.MkMovie"></a>
+Making a Movie
+</h2></div></div><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"><b>Driver</b></span></td><td><span class="bold"><b>File type</b></span></td></tr><tr><td>
+        DAWNFILE
+      </td><td>
+        prim then eps using <span class="bold"><b>dawn</b></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"><b>convert</b></span> program from 
+<a href="http://www.imagemagick.org" target="_top">
+ImageMagick
+</a>
+ can convert to ppm files suitable for 
+<span class="bold"><b>mpeg2encode</b></span>.
+</p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.MkMovie.OGLX"></a>
+OGLX
+</h3></div></div><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>
+DAWNFILE
+</h3></div></div><div></div></div><p>
+You need to invoke <span class="bold"><b>dawn</b></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>
+RayTracerX
+</h3></div></div><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><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></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#sect.ExmpNvc">
+Novice Examples
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.ExmpNvc.Smmry">
+Novice Example Summary
+</a></span></dt><dt><span class="sect2"><a href="#sect.ExmpNvc.Exmp01">
+Example N01
+</a></span></dt><dt><span class="sect2"><a href="#sect.ExmpNvc.Exmp02">
+Example N02
+</a></span></dt><dt><span class="sect2"><a href="#sect.ExmpNvc.Exmp03">
+Example N03
+</a></span></dt><dt><span class="sect2"><a href="#sect.ExmpNvc.Exmp04">
+Example N04
+</a></span></dt><dt><span class="sect2"><a href="#sect.ExmpNvc.Exmp05">
+Example N05
+</a></span></dt><dt><span class="sect2"><a href="#sect.ExmpNvc.Exmp06">
+Example N06
+</a></span></dt><dt><span class="sect2"><a href="#sect.ExmpNvc.Exmp07">
+Example N07
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.ExmpExt">
+Extended Examples
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.ExmpExt.Smmry">
+Extended Example Summary
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.ExmpAdv">
+Advanced Examples
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.ExmpAdv.AdvExmp">
+Advanced Examples
+</a></span></dt></dl></dd></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.ExmpNvc"></a>
+Novice Examples
+</h2></div></div><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 (<tt class="literal">*.in</tt>) and reference output files
+(<tt class="literal">*.out</tt>) 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>
+Novice Example Summary
+</h3></div></div><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">
+<tt class="literal">ExampleN01</tt>
+</a>
+ 
+<a href="#sect.ExmpNvc.Exmp01" title="
+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">
+<tt class="literal">ExampleN02</tt>
+</a>
+
+<a href="#sect.ExmpNvc.Exmp02" title="
+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">
+<tt class="literal">ExampleN03</tt>
+</a>
+
+<a href="#sect.ExmpNvc.Exmp03" title="
+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">
+<tt class="literal">ExampleN04</tt>
+</a>
+
+<a href="#sect.ExmpNvc.Exmp04" title="
+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">
+<tt class="literal">ExampleN05</tt>
+</a>
+
+<a href="#sect.ExmpNvc.Exmp05" title="
+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">
+<tt class="literal">ExampleN06</tt>
+</a>
+
+<a href="#sect.ExmpNvc.Exmp06" title="
+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">
+<tt class="literal">ExampleN07</tt>
+</a>
+
+<a href="#sect.ExmpNvc.Exmp07" title="
+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="#table.ExmpNvc_1" title="Table 9.1. 
+The ``item chart'' for novice level examples N01,
+N02 and N03.
+">Table 9.1, &#8220;
+The ``item chart'' for novice level examples N01,
+N02 and N03.
+&#8221;</a>, <a href="#table.ExmpNvc_2" title="Table 9.2. 
+The ``item chart'' for novice level examples N04,
+N05, and N06.
+">Table 9.2, &#8220;
+The ``item chart'' for novice level examples N04,
+N05, and N06.
+&#8221;</a> and 
+<a href="#table.ExmpNvc_3" title="Table 9.3. 
+The ``item chart'' for novice level example N07.
+">Table 9.3, &#8220;
+The ``item chart'' for novice level example N07.
+&#8221;</a> display the ``item charts'' for
+the examples currently prepared in the novice level.
+
+</p><div class="table"><a name="table.ExmpNvc_1"></a><p class="title"><b>Table 9.1. 
+The ``item chart'' for novice level examples <tt class="literal">N01</tt>,
+<tt class="literal">N02</tt> and <tt class="literal">N03</tt>.
+</b></p><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><tt class="literal">ExampleN01</tt></td><td><tt class="literal">ExampleN02</tt></td><td><tt class="literal">ExampleN03</tt></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><tt class="literal">main()</tt> for hard coded batch
+    </td><td><tt class="literal">main()</tt> for interactive mode
+    </td><td><div class="itemizedlist"><ul type="disc" compact><li><p>
+        <tt class="literal">main()</tt> 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>
+</p><p>
+</p><div class="table"><a name="table.ExmpNvc_2"></a><p class="title"><b>Table 9.2. 
+The ``item chart'' for novice level examples <tt class="literal">N04</tt>,
+<tt class="literal">N05</tt>, and <tt class="literal">N06</tt>.
+</b></p><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><tt class="literal">ExampleN04</tt></td><td><tt class="literal">ExampleN05</tt></td><td><tt class="literal">ExampleN06</tt></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><tt class="literal">main()</tt> for interactive mode
+    </td><td><tt class="literal">main()</tt> for interactive mode
+    </td><td><tt class="literal">main()</tt> 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>
+</p><p>
+</p><div class="table"><a name="table.ExmpNvc_3"></a><p class="title"><b>Table 9.3. 
+The ``item chart'' for novice level example <tt class="literal">N07</tt>.
+</b></p><table summary="
+The ``item chart'' for novice level example N07.
+" border="1"><colgroup><col><col></colgroup><tbody><tr><td> </td><td><tt class="literal">ExampleN07</tt></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>
+        <tt class="literal">main()</tt> 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>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.ExmpNvc.Exmp01"></a>
+Example N01
+</h3></div></div><div></div></div><h4><a name="id617332"></a>
+Basic concepts
+</h4><div class="itemizedlist"><ul type="disc" compact><li><p>
+   minimal set for geantino transportation    
+  </p></li></ul></div><h4><a name="id617351"></a>
+Classes
+</h4><p>
+<tt class="literal">main()</tt> 
+<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 <tt class="literal">beamOn()</tt>
+  </p></li><li><p>
+    Hard coded UI command application
+  </p></li></ul></div><p>
+</p><h4><a name="id617431"></a>
+ExN01DetectorConstruction
+</h4><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><h4><a name="id617487"></a>
+ExN01PhysicsList
+</h4><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><h4><a name="id617537"></a>
+ExN01PrimaryGeneratorAction
+</h4><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>
+Example N02
+</h3></div></div><div></div></div><h4><a name="id617606"></a>
+Basic concepts
+</h4><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><h4><a name="id617638"></a>
+Classes
+</h4><p>
+<tt class="literal">main()</tt> 
+<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>
+    <tt class="literal">main()</tt> 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><h4><a name="id617706"></a>
+ExN02DetectorConstruction
+</h4><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><h4><a name="id617795"></a>
+ExN02MagneticField
+</h4><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><h4><a name="id617843"></a>
+ExN02PhysicsList
+</h4><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><h4><a name="id617901"></a>
+ExN02PrimaryGeneratorAction
+</h4><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><h4><a name="id617955"></a>
+ExN02RunAction
+</h4><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><h4><a name="id618000"></a>
+ExN02EventAction
+</h4><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><h4><a name="id618045"></a>
+ExN02TrackerSD
+</h4><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><h4><a name="id618090"></a>
+ExN02TrackerHit
+</h4><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>
+Example N03
+</h3></div></div><div></div></div><h4><a name="id618149"></a>
+Basic concepts
+</h4><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><h4><a name="id618187"></a>
+Classes
+</h4><p>
+<tt class="literal">main()</tt> 
+<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>
+    <tt class="literal">main()</tt> 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><h4><a name="id618256"></a>
+ExN03DetectorConstruction
+</h4><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><h4><a name="id618327"></a>
+ExN03PhysicsList
+</h4><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><h4><a name="id618389"></a>
+ExN03PrimaryGeneratorAction
+</h4><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><h4><a name="id618450"></a>
+ExN03RunAction
+</h4><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><h4><a name="id618509"></a>
+ExN03EventAction
+</h4><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><h4><a name="id618560"></a>
+ExN03SteppingAction
+</h4><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>
+Example N04
+</h3></div></div><div></div></div><h4><a name="id618619"></a>
+Basic concepts
+</h4><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><h4><a name="id618647"></a>
+Classes
+</h4><p>
+<tt class="literal">main()</tt> 
+<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><h4><a name="id618699"></a>
+ExN04DetectorConstruction
+</h4><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><h4><a name="id618774"></a>
+ExN04TrackerParametrisation
+</h4><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><h4><a name="id618819"></a>
+ExN04CalorimeterParametrisation
+</h4><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><h4><a name="id618865"></a>
+ExN04MagneticField
+</h4><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><h4><a name="id618910"></a>
+ExN04TrackerSD
+</h4><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><h4><a name="id618956"></a>
+ExN04TrackerHit
+</h4><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><h4><a name="id619001"></a>
+ExN04CalorimeterSD
+</h4><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><h4><a name="id619046"></a>
+ExN04CalorimeterHit
+</h4><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><h4><a name="id619091"></a>
+ExN04MuonSD
+</h4><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><h4><a name="id619136"></a>
+ExN04MuonHit
+</h4><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><h4><a name="id619181"></a>
+ExN04PrimaryGeneratorAction
+</h4><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><h4><a name="id619236"></a>
+ExN04EventAction
+</h4><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><h4><a name="id619273"></a>
+ExN04StackingAction
+</h4><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><h4><a name="id619323"></a>
+ExN04StackingActionMessenger
+</h4><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><h4><a name="id619368"></a>
+ExN04TrackingAction
+</h4><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>
+Example N05
+</h3></div></div><div></div></div><h4><a name="id619432"></a>
+Basic concepts
+</h4><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><h4><a name="id619487"></a>
+Classes
+</h4><p>
+<tt class="literal">main()</tt> 
+<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>
+    <tt class="literal">main()</tt> 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><h4><a name="id619570"></a>
+ExN05EMShowerModel
+</h4><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><h4><a name="id619616"></a>
+ExN05PionShowerModel
+</h4><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><h4><a name="id619661"></a>
+ExN05DetectorConstruction
+</h4><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><h4><a name="id619720"></a>
+ExN05PhysicsList
+</h4><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><h4><a name="id619769"></a>
+ExN05PrimaryGeneratorAction
+</h4><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><h4><a name="id619823"></a>
+ExN05RunAction
+</h4><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><h4><a name="id619873"></a>
+ExN05EventAction
+</h4><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>
+Example N06
+</h3></div></div><div></div></div><h4><a name="id619933"></a>
+Basic concepts
+</h4><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><h4><a name="id619991"></a>
+Classes
+</h4><p>
+<tt class="literal">main()</tt> 
+<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>
+    <tt class="literal">main()</tt> 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 <tt class="literal">beamOn</tt>
+  </p></li></ul></div><p>
+</p><h4><a name="id620061"></a>
+ExN06DetectorConstruction
+</h4><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><h4><a name="id620140"></a>
+ExN06PhysicsList
+</h4><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><h4><a name="id620198"></a>
+ExN06PrimaryGeneratorAction
+</h4><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><h4><a name="id620252"></a>
+ExN06RunAction
+</h4><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>
+Example N07
+</h3></div></div><div></div></div><h4><a name="id620311"></a>
+Basic concepts
+</h4><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><h4><a name="id620354"></a>
+Classes
+</h4><p>
+<tt class="literal">main()</tt> 
+<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>
+    <tt class="literal">main()</tt> 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><h4><a name="id620429"></a>
+ExN07DetectorConstruction
+</h4><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><h4><a name="id620520"></a>
+ExN07DetectorMessenger
+</h4><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><h4><a name="id620566"></a>
+ExN07PhysicsList
+</h4><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><h4><a name="id620621"></a>
+ExN07PrimaryGeneratorAction
+</h4><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><h4><a name="id620676"></a>
+ExN07RunAction
+</h4><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><h4><a name="id620734"></a>
+ExN07Run
+</h4><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 class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.ExmpExt"></a>
+Extended Examples
+</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.ExmpExt.Smmry"></a>
+Extended Example Summary
+</h3></div></div><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>
+Analysis
+</h4></div></div><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>
+Electromagnetic
+</h4></div></div><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="id626437"></a><p class="title"><b>Table 9.4. 
+  TestEm by theme
+</b></p><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="center">
+      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>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.ExmpExt.Smmry.Err"></a>
+Error Propagation
+</h4></div></div><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.EvtBias"></a>
+Event Biasing
+</h4></div></div><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>
+Event Generator
+</h4></div></div><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
+      <tt class="literal">G4GeneralParticleSource</tt> utility
+  </p></li><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/eventgenerator/pythia/README" target="_top">
+    exgps
+    </a>
+    - illustrating the usage of
+      <a href="http://www.thep.lu.se/~torbjorn/Pythia.html" target="_top">Pythia</a>
+      as Monte Carlo event generator, interfaced with Geant4, and showing how
+      to implement an external decayer
+  </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.Exotic"></a>
+Exotic Physics
+</h4></div></div><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/exoticphysics/monopole/EADME" target="_top">
+    Monopole
+    </a>
+    - illustrating how to measure energy deposition in classical
+      magnetic monopole
+  </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>
+Fields
+</h4></div></div><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>
+Geant3 to Geant4
+</h4></div></div><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.Gmt"></a>
+Geometry
+</h4></div></div><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.Hadron"></a>
+Hadronic
+</h4></div></div><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/Hadr00/README" target="_top">
+    Hadr00
+    </a>
+    - example demonstrating the usage of G4PhysListFactory to build
+      physics lists and usage of G4HadronicProcessStore to access the cross
+      sections
+  </p></li><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>
+Medical Applications
+</h4></div></div><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>
+Optical Photons
+</h4></div></div><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>
+Parallel Computing
+</h4></div></div><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="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/parallel/info/README.html" target="_top">
+    ParGeant4
+    </a>
+     - set of examples (<tt class="literal">ParN02</tt> and <tt class="literal">ParN04</tt>)
+       derived from <tt class="literal">novice</tt> using parallelism at 
+       event level with the
+       <a href="http://www.ccs.neu.edu/home/gene/topc.html" target="_top">TopC</a>
+       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.Param"></a>
+Parameterisations
+</h4></div></div><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/parameterisations/gflash/README" target="_top">
+    Gflash
+    </a>
+    - Demonstrates the use of the GFLASH parameterisation library.
+      It uses the GFLASH equations(hep-ex/0001020, Grindhammer &amp; Peters)
+      to parametrise electromagnetic showers in matter
+  </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>
+Persistency
+</h4></div></div><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/gdml/README" target="_top">
+    GDML
+    </a>
+    - examples set illustrating import and export of a detector geometry with
+      GDML, and how to extend the GDML schema
+  </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><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/persistency/P03/README" target="_top">
+    P03
+    </a>
+    - illustrating import and export of a detector geometry using ASCII text
+      description and syntax
+  </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>
+Polarisation
+</h4></div></div><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>
+Radioactive Decay
+</h4></div></div><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">
+    Exrdm
+    </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>
+Run &amp; Event
+</h4></div></div><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>
+Visualization
+</h4></div></div><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="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.ExmpAdv"></a>
+Advanced Examples
+</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.ExmpAdv.AdvExmp"></a>
+Advanced Examples
+</h3></div></div><div></div></div><p>
+Geant4 advanced examples illustrate realistic applications of
+Geant4 in typical experimental environments. Most of them also show
+the usage of analysis tools (such as histograms, ntuples and plotting),
+various visualization features and advanced user interface facilities,
+together with the simulation core.
+</p><p>
+<span class="bold"><b>Note</b></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://geant4advancedexampleswg.wikispaces.com/ExamplesDocumentation/" target="_top">
+    <span class="bold"><b>air_shower</b></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://geant4advancedexampleswg.wikispaces.com/brachytherapyExample/" target="_top">
+    <span class="bold"><b>brachytherapy</b></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://geant4advancedexampleswg.wikispaces.com/hadrontherapyExample/" target="_top">
+    <span class="bold"><b>hadrontherapy</b></span>
+    </a>
+    , illustrating a application simulating an hadron therapy beam line
+    for medical physics.
+  </p></li><li><p>
+    <a href="http://geant4advancedexampleswg.wikispaces.com/ExamplesDocumentation/" target="_top">
+    <span class="bold"><b>human_phantom</b></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://geant4advancedexampleswg.wikispaces.com/MedicalLinac/" target="_top">
+    <span class="bold"><b>medical_linac</b></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://geant4advancedexampleswg.wikispaces.com/microbeamExample/" target="_top">
+    <span class="bold"><b>microbeam</b></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://geant4advancedexampleswg.wikispaces.com/microdosimetryExample/" target="_top">
+    <span class="bold"><b>microdosimetry</b></span>
+    </a>
+    , simulates the track of a 10 keV Helium+ (positive charge is +e) particle
+    in liquid water using very low energy electromagnetic Geant4 DNA processes.
+  </p></li><li><p>
+    <a href="http://geant4advancedexampleswg.wikispaces.com/nanobeamExample/" target="_top">
+    <span class="bold"><b>nanobeam</b></span>
+    </a>
+    , simulates the beam optics of the "nanobeam line" installed on the AIFIRA
+    electrostatic accelerator facility located at CENBG, Bordeaux-Gradignan,
+    France.
+  </p></li><li><p>
+    <a href="http://geant4advancedexampleswg.wikispaces.com/ExamplesDocumentation/" target="_top">
+    <span class="bold"><b>purging_magnet</b></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://geant4advancedexampleswg.wikispaces.com/RadiationMonitor/" target="_top">
+    <span class="bold"><b>radiation_monitor</b></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://geant4advancedexampleswg.wikispaces.com/Radioprotection/" target="_top">
+    <span class="bold"><b>radioprotection</b></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://geant4advancedexampleswg.wikispaces.com/Gamma-rayTelescope/" target="_top">
+    <span class="bold"><b>gammaray_telescope</b></span>
+    </a>
+    , illustrating an application to typical gamma ray telescopes with a
+    flexible configuration.
+  </p></li><li><p>
+    <a href="http://geant4advancedexampleswg.wikispaces.com/X-rayTelescope/" target="_top">
+    <span class="bold"><b>xray_telescope</b></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://geant4advancedexampleswg.wikispaces.com/X-rayFluorescence/" target="_top">
+    <span class="bold"><b>xray_fluorescence</b></span>
+    </a>
+    , illustrating the emission of X-ray fluorescence and PIXE.
+  </p></li><li><p>
+    <a href="http://geant4advancedexampleswg.wikispaces.com/ExamplesDocumentation/UndergroundPhysics/" target="_top">
+    <span class="bold"><b>underground_physics</b></span>
+    </a>
+    , illustrating an underground detector for dark matter searches.
+  </p></li><li><p>
+    <a href="http://geant4advancedexampleswg.wikispaces.com/CosmicrayCharging/" target="_top">
+    <span class="bold"><b>cosmicray_charging</b></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://geant4advancedexampleswg.wikispaces.com/CompositeCalorimeter/" target="_top">
+    <span class="bold"><b>composite_calorimeter</b></span>
+    </a>
+    , test-beam simulation of the CMS Hadron calorimeter at LHC.
+  </p></li><li><p>
+    <a href="http://geant4advancedexampleswg.wikispaces.com/ExamplesDocumentation/lArCalorimeter/" target="_top">
+    <span class="bold"><b>lAr_calorimeter</b></span>
+    </a>
+    , simulating the Forward Liquid Argon Calorimeter (FCAL) of the ATLAS
+    Detector at LHC.
+  </p></li><li><p>
+    <a href="http://geant4advancedexampleswg.wikispaces.com/ExamplesDocumentation/Rich/" target="_top">
+    <span class="bold"><b>Rich</b></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://geant4advancedexampleswg.wikispaces.com/ExamplesDocumentation/Tiara/" target="_top">
+    <span class="bold"><b>Tiara</b></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>
+For documentation about the analysis tools used in these
+examples, see Appendix <a href="#sect.Hst" title="
+Histogramming
+">the section called &#8220;
+Histogramming
+&#8221;</a> of this manual.
+</p></div></div></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></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#qanda.Installation">
+Installation
+</a></span></dt><dt><span class="section"><a href="#qanda.RunTimeProb">
+Run Time Problems
+</a></span></dt><dt><span class="section"><a href="#qanda.Geometry">
+Geometry
+</a></span></dt><dt><span class="section"><a href="#qanda.TrackSteps">
+Tracks and steps
+</a></span></dt><dt><span class="section"><a href="#qanda.PhysicsCuts">
+Physics and cuts
+</a></span></dt><dt><span class="section"><a href="#qanda.Vis">
+Visualization
+</a></span></dt><dt><span class="section"><a href="#qanda.UserSupPolicy">
+User Support Policy
+</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="qanda.Installation"></a>
+Installation
+</h2></div></div><div></div></div><div class="qandaset"><dl><dt>Q: <a href="#qanda.Installation.UpkTar">
+  When I download the source from the web, and unpack the tar file, 
+  some files unpack into the top level directory.
+</a></dt><dt>Q: <a href="#qanda.Installation.NoCLHEP">
+  I cannot find CLHEP files or library and I have it installed in my system.
+</a></dt><dt>Q: <a href="#qanda.Installation.noCERNLib">
+  While installing the Geant4 libraries I get the following message printed:
+
+  
+         gmake[1]: cernlib: Command not found
+  
+
+  Has Geant4 been installed properly ? What to do to solve this error ?
+</a></dt><dt>Q: <a href="#qanda.Installation.FileDepend">
+  Trying building the Geant4 libraries I see several of these errors appearing 
+  and my installation fails:
+  
+         .....G4Exception.d:1: *** missing separator. Stop.
+         ...../G4DalitzDecayChannel.d:1: *** missing separator. Stop.
+           :
+           :
+  
+  Has Geant4 been installed properly ? What to do to solve this error ? 
+</a></dt></dl><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="id638151"></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="id638178"></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 
+  <tt class="literal">CLHEP_BASE_DIR</tt> should point to the area where 
+  <tt class="literal">include/</tt> and <tt class="literal">lib/</tt> directories for 
+  CLHEP headers &amp; library are installed in your system. In case the library 
+  file name is different than the one expected (<tt class="literal">libCLHEP.a</tt>), 
+  you should either create a symbolic link with the expected name, or define 
+  the variable <tt class="literal">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 class="literal">CLHEP_INCLUDE_DIR</tt>, <tt class="literal">CLHEP_LIB_DIR</tt> 
+  (and <tt class="literal">CLHEP_LIB</tt>) 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 <tt class="literal">CLHEP_LIB</tt>, while for UNIX-like systems, 
+  just the name is required (i.e. <tt class="literal">CLHEP</tt> for 
+  <tt class="literal">libCLHEP.a</tt>).
+</p></td></tr><tr class="question"><td align="left" valign="top"><a name="qanda.Installation.noCERNLib"></a><a name="id638280"></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="id638324"></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 class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="qanda.RunTimeProb"></a>
+Run Time Problems
+</h2></div></div><div></div></div><div class="qandaset"><dl><dt>Q: <a href="#qanda.RunTimeProb.SegFltInExmp">
+  On Linux, I get a segmentation fault as soon as I run one of the official 
+  examples.
+</a></dt><dt>Q: <a href="#qanda.RunTimeProb.ErrShareLib">
+  I installed Geant4 libraries and built my application, when I try to run 
+  it I get:
+  
+         error in loading shared libraries:
+         libCLHEP.so: cannot open shared object file:
+         No such file or directory.
+  
+</a></dt><dt>Q: <a href="#qanda.RunTimeProb.errFPE">
+  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></dt></dl><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="id638724"></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="id638750"></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 
+  <tt class="literal">LD_LIBRARY_PATH</tt>. 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="id638797"></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 <tt class="literal">DBL_MAX</tt> 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="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="qanda.Geometry"></a>
+Geometry
+</h2></div></div><div></div></div><div class="qandaset"><dl><dt>Q: <a href="#qanda.Geometry.GenPnt">
+  I have a generic point and I would like to know in which physical 
+  volume I'm located in my detector geometry. 
+</a></dt><dt>Q: <a href="#qanda.Geometry.DghtVol">
+  How can I access the daughter volumes of a specific physical volume? 
+</a></dt><dt>Q: <a href="#qanda.Geometry.CpyNum">
+  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! 
+</a></dt><dt>Q: <a href="#qanda.Geometry.ConvGtoL">
+  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></dt></dl><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="id639004"></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="id639060"></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="id639088"></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 <tt class="literal">Copy</tt> here stays for any duplicated instance of 
+  a physical volume, either if it is a <tt class="literal">G4PVPlacement</tt> 
+  (multiple placements of the same logical volume) or a 
+  <tt class="literal">G4PVReplica/G4PVParameterised</tt>.
+  The method <tt class="literal">GetCopyNo()</tt> 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="id639155"></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 <tt class="literal">worldPosition</tt> here stays for the position related 
+  to the world volume, while <tt class="literal">localPosition</tt> refers to the 
+  coordinates local to the volume where the particle is currently placed.
+</p></td></tr></tbody></table></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="qanda.TrackSteps"></a>
+Tracks and steps
+</h2></div></div><div></div></div><div class="qandaset"><dl><dt>Q: <a href="#qanda.TrackSteps.AccssTrkInfo">
+  How can I access the track information through the step object and 
+  what information am I allowed to access ?
+</a></dt></dl><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="id639488"></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 <tt class="literal">G4Step</tt> 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 
+  <tt class="literal">preStepPoint</tt>.
+  <tt class="literal">G4VTouchable</tt> 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 
+  <tt class="literal">preStepPoint</tt> 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 
+  <tt class="literal">postStepPoint</tt> 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 <tt class="literal">touch2</tt>, all informations on the next 
+  volume can be retrieved as above.
+  </p><p>
+
+  </p><p>
+  Physics quantities are available from the step 
+  (<tt class="literal">G4Step</tt>) or from the track (<tt class="literal">G4Track</tt>).
+  </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 
+      <tt class="literal">preStepPoint</tt> transformation, as described in the 
+      <a href="#qanda.Geometry.ConvGtoL">geometry section</a> above.
+    </p></div><p>
+  </p><p>
+</p></td></tr></tbody></table></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="qanda.PhysicsCuts"></a>
+Physics and cuts
+</h2></div></div><div></div></div><div class="qandaset"><dl><dt>Q: <a href="#qanda.PhysicsCuts.HowProdCuts">
+  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></dt></dl><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="id640256"></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"><b>NOT</b></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"><b>NOT</b></span> provided by default 
+  in Geant4. So there's <span class="bold"><b>NO</b></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="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="qanda.Vis"></a>
+Visualization
+</h2></div></div><div></div></div><div class="qandaset"><dl><dt>Q: <a href="#qanda.Vis.NoVisAppr">
+  I have set G4VIS... environmental variables but visualization does not 
+  appear to be enabled. 
+</a></dt></dl><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="id640427"></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"><tt class="literal">G4VIS_BUILD_[name]_DRIVER</tt><tt class="literal">G4VIS_USE_[name]</tt><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 <tt class="literal">G4WORKDIR</tt> environment variable, 
+      if set.
+    </p></li></ul></div><p>
+
+</p></td></tr></tbody></table></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="qanda.UserSupPolicy"></a>
+User Support Policy
+</h2></div></div><div></div></div><div class="qandaset"><dl><dt>Q: <a href="#qanda.UserSupPolicy.FirstAid">
+  If I need to discuss technical matters specific to my simulation 
+  application or ask for first-aid help, who can I contact?
+</a></dt><dt>Q: <a href="#qanda.UserSupPolicy.FindBug">
+  If I find a bug or other problem with the code, who should be informed?
+</a></dt><dt>Q: <a href="#qanda.UserSupPolicy.PropFix">
+  If I propose a fix, who is responsible for approving it?
+</a></dt><dt>Q: <a href="#qanda.UserSupPolicy.PropImprv">
+  To whom should I send a proposal for an improvement in Geant4 
+  functionality?
+</a></dt><dt>Q: <a href="#qanda.UserSupPolicy.RegMeet">
+  Is there a regular user meeting which I should attend?
+</a></dt><dt>Q: <a href="#qanda.UserSupPolicy.PrtcProb">
+  Where can I find solutions to particular problems as well as general user 
+  support?
+</a></dt></dl><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="id640652"></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="id640692"></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="id640725"></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="id640749"></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="id640769"></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="id640792"></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><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></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#sect.TpPrgCmp">
+Tips for Program Compilation
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.TpPrgCmp.UnxLnxGpp">
+Unix/Linux - g++
+</a></span></dt><dt><span class="sect2"><a href="#sect.TpPrgCmp.WndMsVslCpp">
+Windows - MS Visual C++
+</a></span></dt><dt><span class="sect2"><a href="#sect.TpPrgCmp.McXCpp">
+MacOS-X - g++
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.Hst">
+Histogramming
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.Hst.JAS">
+JAS
+</a></span></dt><dt><span class="sect2"><a href="#sect.Hst.iAIDA">
+iAida
+</a></span></dt><dt><span class="sect2"><a href="#sect.Hst.OpnScnt">
+Open Scientist Lab
+</a></span></dt><dt><span class="sect2"><a href="#sect.Hst.rAIDA">
+rAIDA
+</a></span></dt><dt><span class="sect2"><a href="#sect.Hst.Exmp">
+Examples
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.Clhep">
+CLHEP Foundation Library
+</a></span></dt><dt><span class="sect1"><a href="#sect.CppStdTL">
+C++ Standard Template Library
+</a></span></dt><dt><span class="sect1"><a href="#sect.MkflEnvVar">
+Makefiles and Environment Variables
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.MkflEnvVar.GNUG4">
+The GNUmake system in Geant4
+</a></span></dt><dt><span class="sect2"><a href="#sect.MkflEnvVar.EnvVar">
+Environment variables
+</a></span></dt><dt><span class="sect2"><a href="#sect.MkflEnvVar.LnkExtLib">
+Linking External Libraries with Geant4
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.StepGuides">
+Step-by-Step Installation Guides
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.BldMSV">
+Building on MS Visual C++
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.DvpDbg">
+Development and debug tools
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.DvpDbg.Unix">
+UNIX
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.G4MatrDb">
+Geant4 Material Database
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.G4MatrDb.PurMat">
+Pure Materials
+</a></span></dt><dt><span class="sect2"><a href="#sect.G4MatrDb.NISTCmp">
+NIST Compounds
+</a></span></dt><dt><span class="sect2"><a href="#sect.G4MatrDb.HepMat">
+HEP Materials
+</a></span></dt></dl></dd></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.TpPrgCmp"></a>
+Tips for Program Compilation
+</h2></div></div><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
+<tt class="literal">$G4WORKDIR/tmp/$G4SYSTEM/g4.ptrepository/</tt>, where
+<tt class="literal">$G4SYSTEM</tt> identifies the system-architecture/compiler
+currently used and <tt class="literal">$G4WORKDIR</tt> is the path to the user
+working directory for Geant4.
+</p><p>
+A secondary template repository <tt class="literal">$G4TREP/exec</tt> 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 <tt class="literal">G4EXEC_BUILD</tt>; 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 <tt class="literal">$G4TREP</tt> environment variable) for building all
+Geant4 libraries; then use a secondary template repository
+(<tt class="literal">$G4TREP/exec</tt>, together with the
+<tt class="literal">$G4EXEC_BUILD</tt> 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.UnxLnxGpp"></a>
+Unix/Linux - g++
+</h3></div></div><div></div></div><p>
+OS: Linux
+</p><p>
+Compiler: GNU/gcc
+</p><p>
+Strict ISO/ANSI compilation is forced (<tt class="literal">-ansi -pedantic</tt>
+compiler flags), also code is compiled with high verbosity
+diagnostics (<tt class="literal">-Wall</tt> flag). The default optimisation level
+is <tt class="literal">-O2</tt>.
+</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>
+Additional compilation options (<tt class="literal">-march=XXX
+-mfpmath=sseYYY</tt>) to adopt chip specific floating-point
+operations on the SSE unit, can be activated by adapting the
+<tt class="literal">XXX, YYY</tt> options and uncommenting the relevant
+part in the <tt class="literal">Linux-g++.gmk</tt> 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 likely NOT be portable cross platforms; generated applications
+will only run on the specific chip-based architectures.
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.TpPrgCmp.WndMsVslCpp"></a>
+Windows - MS Visual C++
+</h3></div></div><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="#sect.ClassCate" title="
+Class Categories and Domains
+">the section called &#8220;
+Class Categories and Domains
+&#8221;</a> of the Installation Guide for 
+more detailed information.
+See also <a href="#sect.BldMSV" title="
+Building on MS Visual C++
+">the section called &#8220;
+Building on MS Visual C++
+&#8221;</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>
+MacOS-X - g++
+</h3></div></div><div></div></div><p>
+OS: MacOS/Darwin
+</p><p>
+Compiler: GNU/gcc
+</p><p>
+The setup adopted for the <tt class="literal">g++</tt> compiler on MacOS
+resembles in great part the one for Linux systems.
+</p><p>
+The default optimisation level in this case is <tt class="literal">-O2</tt>.
+</p><p>
+Dynamic libraries (<tt class="literal">.dylib</tt>) 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 <tt class="literal">DYLD_LIBRARY_PATH</tt> system variable.
+</p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.Hst"></a>
+Histogramming
+</h2></div></div><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>
+JAS
+</h3></div></div><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>
+iAida
+</h3></div></div><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>
+Open Scientist Lab
+</h3></div></div><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>
+rAIDA
+</h3></div></div><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>
+Examples
+</h3></div></div><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>
+     <tt class="literal">geant4/examples/extended/analysis</tt>,
+   </p></li><li><p>
+     <tt class="literal">geant4/examples/extended/electromagnetic</tt>     
+   </p></li><li><p>
+     <tt class="literal">geant4/examples/advanced</tt>     
+   </p></li></ul></div><p>
+</p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.Clhep"></a>
+CLHEP Foundation Library
+</h2></div></div><div></div></div><p>
+<a href="http://cern.ch/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/clhep/manual/RefGuide/" target="_top">
+Reference Guide 
+</a>
+ and a 
+<a href="http://cern.ch/clhep/manual/UserGuide/" target="_top">
+User Guide 
+</a>
+ are available.
+</p><h4><a name="id643730"></a>
+Origin and current situation of CLHEP
+</h4><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><h4><a name="id643748"></a>
+Geant4 and CLHEP
+</h4><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="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.CppStdTL"></a>
+C++ Standard Template Library
+</h2></div></div><div></div></div><h4><a name="id643913"></a>
+Overview
+</h4><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="#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="#biblio.musser1996">
+    Musser1996
+  </a>
+     </span>]
+   </p></li><li><p>
+     Scott Meyers: Effective STL
+     [<span class="citation">
+     <a href="#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><h4><a name="id644022"></a>
+STL in Geant4
+</h4><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="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.MkflEnvVar"></a>
+Makefiles and Environment Variables
+</h2></div></div><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>
+The GNUmake system in Geant4
+</h3></div></div><div></div></div><p>
+As described in <a href="#sect.HowToDefMain" title="
+How to Define the main() Program
+">the section called &#8220;
+How to Define the main() Program
+&#8221;</a> of the 
+Installation Guide, the GNUmake process in
+Geant4 is mainly controlled by the following GNUmake script files
+(<tt class="literal">*.gmk</tt> scripts are placed in
+<tt class="literal">$G4INSTALL/config</tt>):
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <tt class="literal">architecture.gmk</tt>: defining all the architecture
+    specific settings and paths. System settings are stored in
+    <tt class="literal">$G4INSTALL/config/sys</tt> in separate files.
+  </p></li><li><p>
+    <tt class="literal">common.gmk</tt>: defining all general GNUmake rules for
+    building objects and libraries.
+  </p></li><li><p>
+    <tt class="literal">globlib.gmk</tt>: defining all general GNUmake rules for
+    building compound libraries.
+  </p></li><li><p>
+    <tt class="literal">binmake.gmk</tt>: defining the general GNUmake rules for
+    building executables.
+  </p></li><li><p>
+    <tt class="literal">GNUmake</tt> 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 "<tt class="literal">gmake</tt>"
+command from there ("<tt class="literal">gmake global</tt>" 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>
+    <tt class="literal">gmake</tt>
+    </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"><b>not</b></span> the compound one. 
+    The top level <tt class="literal">GNUmakefile</tt> in
+    <tt class="literal">$G4INSTALL/source</tt> will also build in this case a
+    dependency map <tt class="literal">libname.map</tt> of each library to establish
+    the linking order automatically at the <tt class="literal">bin</tt> step. The map
+    will be placed in <tt class="literal">$G4LIB/$G4SYSTEM</tt>.
+    </p><p>
+  </p></li><li><p>
+    <tt class="literal">gmake global</tt>
+    </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>
+    <tt class="literal">gmake bin</tt> or <tt class="literal">gmake</tt> (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"><b>all</b></span> 
+    kernel libraries are already generated and placed in the correct
+    <tt class="literal">$G4INSTALL</tt> 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>
+    <tt class="literal">make dll</tt>
+    </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><h4><a name="id644513"></a>
+<tt class="literal">lib/ bin/</tt> and <tt class="literal">tmp/</tt> directories
+</h4><p>
+The <tt class="literal">$G4INSTALL</tt> environment variable specifies where
+the installation of the Geant4 toolkit should take place, therefore
+kernel libraries will be placed in <tt class="literal">$G4INSTALL/lib</tt>. The
+<tt class="literal">$G4WORKDIR</tt> 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 <tt class="literal">$G4WORKDIR/tmp</tt>, according to
+the system architecture used. Binaries will be placed in
+<tt class="literal">$G4WORKDIR/bin</tt>, according to the system architecture
+used. The path to <tt class="literal">$G4WORKDIR/bin/$G4SYSTEM</tt> should be
+added to <tt class="literal">$PATH</tt> 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>
+Environment variables
+</h3></div></div><div></div></div><p>
+Here is a list of the most important environment variables defined
+within the Geant4 <tt class="literal">GNUmake</tt> infrastructure, with a short
+explanation of their use.
+</p><p>
+<span class="bold"><b>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 !</b></span>
+</p><h4><a name="id644624"></a>
+System configuration
+</h4><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"><b>NOTE</b></span>: This variable is set automatically 
+      if the <tt class="literal">Configure</tt> script is adopted for the
+      installation. This will result in the proper settings also for
+      configuring the environment with the generated shell scripts
+      <tt class="literal">env.[c]sh</tt>.
+      </p></dd></dl></div><p>
+</p><h4><a name="id644690"></a>
+Installation paths
+</h4><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
+      <tt class="literal">$HOME/geant4</tt>, assuming the Geant4 distribution 
+      is placed in <tt class="literal">$HOME</tt>.
+    </dd><dt><span class="term">
+      $G4BASE <span class="bold"><b>(*)</b></span>
+    </span></dt><dd>
+      Defines the path to the source code. Internally used to define
+      <tt class="literal">$CPPFLAGS</tt> and <tt class="literal">$LDFLAGS</tt> for 
+      -I and -L directives. It has to be set to 
+      <tt class="literal">$G4INSTALL/src</tt>.
+    </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 <tt class="literal">$HOME/geant4</tt>, assuming the user's 
+      working directory for Geant4 is placed in <tt class="literal">$HOME</tt>.
+    </dd><dt><span class="term">
+      $G4INCLUDE
+    </span></dt><dd>
+      Defines the path where source header files may be mirrored at
+      installation by issuing <tt class="literal">gmake includes</tt> (default 
+      is set to <tt class="literal">$G4INSTALL/include</tt>)
+    </dd><dt><span class="term">
+      $G4BIN, $G4BINDIR <span class="bold"><b>(*)</b></span>
+    </span></dt><dd>
+      Used by the system to specify the place where to store executables.
+      By default they're set to <tt class="literal">$G4WORKDIR/bin</tt> and
+      <tt class="literal">$G4BIN/$G4SYSTEM</tt> respectively. The path to
+      <tt class="literal">$G4WORKDIR/bin/$G4SYSTEM</tt> should be added to 
+      <tt class="literal">$PATH</tt> in the user environment. 
+      <tt class="literal">$G4BIN</tt> can be overridden.
+    </dd><dt><span class="term">
+      $G4TMP, $G4TMPDIR <span class="bold"><b>(*)</b></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 <tt class="literal">$G4WORKDIR/tmp</tt> 
+      and <tt class="literal">$G4TMP/$G4SYSTEM</tt> respectively. 
+      <tt class="literal">$G4TMP</tt> can be overridden.
+    </dd><dt><span class="term">
+      $G4LIB, $G4LIBDIR <span class="bold"><b>(*)</b></span>
+    </span></dt><dd>
+      Used by the system to specify the place where to store libraries.
+      By default they're set to <tt class="literal">$G4INSTALL/lib</tt> and
+      <tt class="literal">$G4LIB/$G4SYSTEM</tt> respectively. 
+      <tt class="literal">$G4LIB</tt> can be overridden.
+    </dd></dl></div><p>
+</p><h4><a name="id644936"></a>
+Build specific
+</h4><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
+      <tt class="literal">$G4INSTALL/examples</tt>.
+    </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 <tt class="literal">$G4INSTALL/examples</tt>,
+      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 <tt class="literal">$G4TREP/exec</tt>.
+    </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 (<tt class="literal">$G4OPTIMISE</tt> 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">
+      $G4OPTDEBUG
+    </span></dt><dd>
+      On <tt class="literal">Linux</tt> systems with the <tt class="literal">g++</tt>
+      compiler, it allows to build in optimised mode including symbolic
+      information for debugging.
+    </dd><dt><span class="term">
+      $G4PROFILE
+    </span></dt><dd>
+      On <tt class="literal">Linux</tt> systems with the <tt class="literal">g++</tt>
+      compiler, it allows to build libraries with profiling setup for
+      monitoring with the <tt class="literal">gprof</tt> tool.
+    </dd><dt><span class="term">
+      $G4_NO_VERBOSE
+    </span></dt><dd>
+      Geant4 code is compiled by default in high verbosity mode
+      (<tt class="literal">$G4VERBOSE</tt> flag set). For better performance, 
+      verbosity code can be left out by defining <tt class="literal">$G4_NO_VERBOSE</tt>.
+    </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
+      <tt class="literal">$G4LIB_BUILD_SHARED</tt> is set as well).
+    </dd><dt><span class="term">
+      $G4LIB_BUILD_DLL <span class="bold"><b>(*)</b></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><h4><a name="id645202"></a>
+UI specific
+</h4><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.
+      <tt class="literal">$QTHOME</tt> 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><h4><a name="id645353"></a>
+Visualization specific
+</h4><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 <tt class="literal">$OGLHOME</tt> 
+      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 <tt class="literal">$OGLHOME</tt> 
+      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 <tt class="literal">$QTHOME</tt>
+      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 <tt class="literal">$OIHOME</tt> set 
+      (paths to the <tt class="literal">OpenInventor</tt> 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 <tt class="literal">X11</tt>
+      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><h4><a name="id645630"></a>
+Hadronic physics specific
+</h4><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><h4><a name="id645686"></a>
+<tt class="literal">GDML</tt>, <tt class="literal">zlib</tt> and <tt class="literal">g3tog4</tt> modules
+</h4><p>
+</p><div class="variablelist"><dl><dt><span class="term">
+      $G4LIB_BUILD_GDML
+    </span></dt><dd>
+      If set, triggers compilation of a plugin module <tt class="literal">gdml</tt> 
+      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 <tt class="literal">$XERCESCROOT</tt>. 
+    </dd><dt><span class="term">
+      $G4LIB_USE_GDML
+    </span></dt><dd>
+      Specifies to use the <tt class="literal">gdml</tt> module. The flag is
+      automatically set if <tt class="literal">$G4LIB_BUILD_GDML</tt> is set in the environment.
+    </dd><dt><span class="term">
+      $G4LIB_BUILD_ZLIB
+    </span></dt><dd>
+      If set, triggers compilation of a specific <tt class="literal">zlib</tt> 
+      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 <tt class="literal">zlib</tt> 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 <tt class="literal">g3tog4</tt> 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 <tt class="literal">g3tog4</tt> module, assuming the related
+      library has been already installed.
+    </dd></dl></div><p>
+</p><h4><a name="id645846"></a>
+Analysis specific
+</h4><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
+      (<tt class="literal">$G4ANALYSIS_AIDA_CONFIG_CFLAGS</tt>,
+      <tt class="literal">$G4ANALYSIS_AIDA_CONFIG_LIBS</tt>) to define config options 
+      for AIDA ("<tt class="literal">aida-config --cflags</tt>" and 
+      "<tt class="literal">aida-config --libs</tt>"). See installation instructions 
+      of the specific analysis tools for details.
+    </dd></dl></div><p>
+</p><h4><a name="id645905"></a>
+Directory paths to Physics Data
+</h4><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>
+Linking External Libraries with Geant4
+</h3></div></div><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>
+Adding external libraries which do *not* use Geant4
+</h4></div></div><div></div></div><p>
+In the <tt class="literal">GNUmakefile</tt> of your application, before including
+<tt class="literal">binmake.gmk</tt>, specify the extra library in
+<tt class="literal">EXTRALIBS</tt> either using the <tt class="literal">-L...-l...</tt> 
+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 <tt class="literal">EXTRA_LINK_DEPENDENCIES</tt>, 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 <tt class="literal">CPPFLAGS</tt>
+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="#programlist_MkflEnvVar_1" title="Example 1. 
+An example of a customised GNUmakefile for an application or
+example using an external module not bound to Geant4.
+">Example 1, &#8220;
+An example of a customised GNUmakefile for an application or
+example using an external module not bound to Geant4.
+&#8221;</a>.
+</p><p>
+</p><div class="example"><a name="programlist_MkflEnvVar_1"></a><p class="title"><b>Example 1. 
+An example of a customised GNUmakefile for an application or
+example using an external module not bound to Geant4.
+</b></p><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><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.MkflEnvVar.LnkExtLib.AddExtlibWithG4"></a>
+Adding external libraries which use Geant4
+</h4></div></div><div></div></div><p>
+In addition to the above, specify, in <tt class="literal">EXTRALIBSSOURCEDIRS</tt>,
+a list of directories containing source files in its <tt class="literal">src/</tt>
+subdirectory. Thus, your <tt class="literal">GNUmakefile</tt> 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="#programlist_MkflEnvVar_2" title="Example 2. 
+An example of a customised GNUmakefile for an
+application or example using external modules bound to Geant4.
+">Example 2, &#8220;
+An example of a customised GNUmakefile for an
+application or example using external modules bound to Geant4.
+&#8221;</a>.
+</p><p>
+</p><div class="example"><a name="programlist_MkflEnvVar_2"></a><p class="title"><b>Example 2. 
+An example of a customised GNUmakefile for an
+application or example using external modules bound to Geant4.
+</b></p><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><p>
+</p></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.StepGuides"></a>
+Step-by-Step Installation Guides
+</h2></div></div><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>
+Building on MS Visual C++
+</h3></div></div><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 <tt class="literal">make</tt> and other 
+Unix tools using only the compiler of MS Visual Studio, the section on
+</p><p>
+<a href="#sect.MkflEnvVar" title="
+Makefiles and Environment Variables
+">the section called &#8220;
+Makefiles and Environment Variables
+&#8221;</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 <tt class="literal">(.dsw)</tt> or project
+files (<tt class="literal">.dsp</tt>).
+</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="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.DvpDbg"></a>
+Development and debug tools
+</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.DvpDbg.Unix"></a>
+UNIX
+</h3></div></div><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>
+    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.ibm.com/software/rational/" 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></ul></div><p>
+</p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.G4MatrDb"></a>
+Geant4 Material Database
+</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.G4MatrDb.PurMat"></a>
+Pure Materials
+</h3></div></div><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>
+NIST Compounds
+</h3></div></div><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>
+HEP Materials
+</h3></div></div><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><div class="bibliography"><div class="titlepage"><div><div><h2 class="title"><a name="bibliography.Bibliography"></a>
+Bibliography
+</h2></div></div><div></div></div><div class="biblioentry"><a name="biblio.booch1994"></a><p>[<span class="abbrev"><a name="biblio.booch1994.abbrev"></a>
+    Booch1994
+  </span>] <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>[<span class="abbrev"><a name="biblio.ellis1990.abbrev"></a>
+    Ellis1990
+  </span>] <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>[<span class="abbrev"><a name="biblio.hecht1974.abbrev"></a>
+    Hecht1974
+  </span>] <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>[<span class="abbrev"><a name="biblio.josuttis1999.abbrev"></a>
+    Josuttis1999
+  </span>] <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>[<span class="abbrev"><a name="biblio.meyers2001.abbrev"></a>
+    Meyers2001
+  </span>] <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>[<span class="abbrev"><a name="biblio.musser1996.abbrev"></a>
+    Musser1996
+  </span>] <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>[<span class="abbrev"><a name="biblio.plauger1995.abbrev"></a>
+    Plauger1995
+  </span>] <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>[<span class="abbrev"><a name="biblio.chauvie2007.abbrev"></a>
+    Chauvie2007
+  </span>] <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></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_control_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_control_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_control_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_event_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_event_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_event_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_event_stack_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_event_stack_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_event_stack_.html	(revision 904)
@@ -0,0 +1,28 @@
+<html><head><title>Commands in /event/stack/</title></head>
+<body bgcolor="#ffffff"><h2>/event/stack/</h2><p>
+Stack control commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>status</b>
+<p><dd>
+List current status of the stack.<br>
+<p><dd>Available at all Geant4 states.
+<p><br><p><dt><b>clear [<i>level</i>]</b>
+<p><dd>
+Clear stacked tracks.<br>
+ 2 : clear all tracks in all stacks<br>
+ 1 : clear tracks in the urgent and waiting stacks<br>
+ 0 : clear tracks in the waiting stack (default)<br>
+-1 : clear tracks in the urgent stack<br>
+-2 : clear tracks in the postponed stack<br>
+<p><dd>Range : level&gt;=-2&amp;&amp;level&lt;=2
+<p><dd>Available Geant4 state(s) : GeomClosed 
+EventProc 
+<p><dd>Parameters<table border=1>
+<tr><td>level
+<td>type i
+<td>Omittable : default value = 0
+<td></table>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_geometry_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_geometry_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_geometry_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_geometry_navigator_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_geometry_navigator_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_geometry_navigator_.html	(revision 904)
@@ -0,0 +1,31 @@
+<html><head><title>Commands in /geometry/navigator/</title></head>
+<body bgcolor="#ffffff"><h2>/geometry/navigator/</h2><p>
+Geometry navigator control setup.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>reset</b>
+<p><dd>
+Reset navigator and navigation history.<br>
+NOTE: must be called only after kernel has been<br>
+      initialized once through the run manager!<br>
+<p><dd>Available Geant4 state(s) : Idle 
+<p><br><p><dt><b>verbose [<i>level</i>]</b>
+<p><dd>
+Set run-time verbosity for the navigator.<br>
+ 0 : Silent (default)<br>
+ 1 : Display positioning and relative states<br>
+ 2 : Display step/safety info on point location<br>
+ 3 : Display state at -every- step!<br>
+ 4 : Maximum verbosity (very detailed!)<br>
+NOTE: this command has effect -only- if Geant4 has<br>
+      been installed with the G4VERBOSE flag set!<br>
+<p><dd>Range : level &gt;=0 &amp;&amp; level &lt;=4
+<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>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_geometry_test_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_geometry_test_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_geometry_test_.html	(revision 904)
@@ -0,0 +1,91 @@
+<html><head><title>Commands in /geometry/test/</title></head>
+<body bgcolor="#ffffff"><h2>/geometry/test/</h2><p>
+Geometry verification control setup.<br>
+Helps in detecting possible overlapping regions.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>tolerance [<i>Tolerance</i>] [<i>Unit</i>]</b>
+<p><dd>
+Set error tolerance value.<br>
+Default: 1E-4*mm.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>Tolerance
+<td>type d
+<td>Omittable : current value is used as the default value.
+<td><tr><td>Unit
+<td>type s
+<td>Omittable : default value = mm
+<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>position [<i>X</i>] [<i>Y</i>] [<i>Z</i>] [<i>Unit</i>]</b>
+<p><dd>
+Set starting position.<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>direction [<i>Px</i>] [<i>Py</i>] [<i>Pz</i>] [<i>Unit</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><tr><td>Unit
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>line_test</b>
+<p><dd>
+Performs test along a single specified direction/position.<br>
+Use position and direction commands to change default.<br>
+Default: position(0,0,0), direction(0,0,1).<br>
+<p><dd>Available Geant4 state(s) : Idle 
+<p><br><p><dt><b>grid_test</b>
+<p><dd>
+Start running the default grid test.<br>
+A grid of lines parallel to a cartesian axis is used;<br>
+Only direct daughters of the mother volumes are checked.<br>
+<p><dd>Available Geant4 state(s) : Idle 
+<p><br><p><dt><b>recursive_test</b>
+<p><dd>
+Start running the recursive grid test.<br>
+A grid of lines along a cartesian axis is recursively<br>
+to all daughters and daughters of daughters, etc.<br>
+WARNING: it may take a very long time, depending on geometry complexity !<br>
+<p><dd>Available Geant4 state(s) : Idle 
+<p><br><p><dt><b>cylinder_test</b>
+<p><dd>
+Start running the cylinder test.<br>
+A set of lines in a cylindrical pattern of gradually<br>
+increasing mesh size.<br>
+<p><dd>Available Geant4 state(s) : Idle 
+<p><br><p><dt><b>run</b>
+<p><dd>
+Start running the default grid test.<br>
+Same as the grid_test command.<br>
+<p><dd>Available Geant4 state(s) : Idle 
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_gun_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_gun_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_gun_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_hits_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_hits_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_hits_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_particle_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_particle_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_particle_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_particle_process_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_particle_process_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_particle_process_.html	(revision 904)
@@ -0,0 +1,61 @@
+<html><head><title>Commands in /particle/process/</title></head>
+<body bgcolor="#ffffff"><h2>/particle/process/</h2><p>
+Process Manager control commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>dump [<i>index</i>]</b>
+<p><dd>
+dump process manager or process information<br>
+  dump [process index]<br>
+   process index: -1 for process manager<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>index
+<td>type i
+<td>Omittable : default value = -1
+<td></table>
+<p><br><p><dt><b>verbose [<i>Verbose</i>] [<i>index</i>]</b>
+<p><dd>
+Set Verbose Level for Process or Process Manager<br>
+  Verbose [Verbose] [process index]<br>
+   process index: -1 for process manager<br>
+<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><tr><td>index
+<td>type i
+<td>Omittable : default value = -1
+<td></table>
+<p><br><p><dt><b>activate [<i>index</i>]</b>
+<p><dd>
+Activate process  <br>
+ Activate [process index]<br>
+<p><dd>Range : index &gt;=0
+<p><dd>Available Geant4 state(s) : Idle 
+GeomClosed 
+EventProc 
+<p><dd>Parameters<table border=1>
+<tr><td>index
+<td>type i
+<td><td></table>
+<p><br><p><dt><b>inactivate [<i>index</i>]</b>
+<p><dd>
+Inactivate process  <br>
+ inactivate [process index]<br>
+<p><dd>Range : index &gt;=0
+<p><dd>Available Geant4 state(s) : Idle 
+GeomClosed 
+EventProc 
+<p><dd>Parameters<table border=1>
+<tr><td>index
+<td>type i
+<td><td></table>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_particle_property_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_particle_property_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_particle_property_.html	(revision 904)
@@ -0,0 +1,55 @@
+<html><head><title>Commands in /particle/property/</title></head>
+<body bgcolor="#ffffff"><h2>/particle/property/</h2><p>
+Paricle Table control commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+<p><br><p><dt><a href="_particle_property_decay_.html">/particle/property/decay/</a>
+<p><dd>Decay Table control commands.
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>dump</b>
+<p><dd>
+dump particle properties.<br>
+<p><dd>Available at all Geant4 states.
+<p><br><p><dt><b>stable [<i>stable</i>]</b>
+<p><dd>
+Set stable flag.<br>
+  false: Unstable   true: Stable<br>
+<p><dd>Available Geant4 state(s) : PreInit 
+Idle 
+GeomClosed 
+<p><dd>Parameters<table border=1>
+<tr><td>stable
+<td>type b
+<td><td></table>
+<p><br><p><dt><b>lifetime [<i>life</i>] [<i>Unit</i>]</b>
+<p><dd>
+Set life time.<br>
+Unit of the time can be :<br>
+ s, ms, ns (default)<br>
+<p><dd>Range : life &gt;0.0
+<p><dd>Available Geant4 state(s) : PreInit 
+Idle 
+GeomClosed 
+<p><dd>Parameters<table border=1>
+<tr><td>life
+<td>type d
+<td><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>verbose [<i>verbose_level</i>]</b>
+<p><dd>
+Set Verbose level of particle property.<br>
+ 0 : Silent (default)<br>
+ 1 : Display warning messages<br>
+ 2 : Display more<br>
+<p><dd>Range : verbose_level &gt;=0
+<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/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_particle_property_decay_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_particle_property_decay_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_particle_property_decay_.html	(revision 904)
@@ -0,0 +1,31 @@
+<html><head><title>Commands in /particle/property/decay/</title></head>
+<body bgcolor="#ffffff"><h2>/particle/property/decay/</h2><p>
+Decay Table control commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>select [<i>mode</i>]</b>
+<p><dd>
+Enter index of decay mode.<br>
+<p><dd>Range : mode &gt;=0
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>mode
+<td>type i
+<td>Omittable : default value = 0
+<td></table>
+<p><br><p><dt><b>dump</b>
+<p><dd>
+Dump decay mode information.<br>
+<p><dd>Available at all Geant4 states.
+<p><br><p><dt><b>br [<i>br</i>]</b>
+<p><dd>
+Set branching ratio. [0&lt; BR &lt;1.0]<br>
+<p><dd>Range : (br &gt;=0.0) &amp;&amp; (br &lt;=1.0)
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>br
+<td>type d
+<td><td></table>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_process_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_process_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_process_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_process_eLoss_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_process_eLoss_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_process_eLoss_.html	(revision 904)
@@ -0,0 +1,105 @@
+<html><head><title>Commands in /process/eLoss/</title></head>
+<body bgcolor="#ffffff"><h2>/process/eLoss/</h2><p>
+Commands for G4VEnergyLoss.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>rndmStep [<i>choice</i>]</b>
+<p><dd>
+Randomize the proposed step by eLoss.<br>
+<p><dd>Available Geant4 state(s) : PreInit 
+Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>choice
+<td>type b
+<td>Omittable : default value = 0
+<td></table>
+<p><br><p><dt><b>fluct [<i>choice</i>]</b>
+<p><dd>
+Switch true/false the energy loss fluctuations.<br>
+<p><dd>Available Geant4 state(s) : PreInit 
+Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>choice
+<td>type b
+<td>Omittable : default value = 1
+<td></table>
+<p><br><p><dt><b>subsec [<i>choice</i>]</b>
+<p><dd>
+Switch true/false the subcutoff generation.<br>
+<p><dd>Available Geant4 state(s) : PreInit 
+Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>choice
+<td>type b
+<td>Omittable : default value = 1
+<td></table>
+<p><br><p><dt><b>minsubsec [<i>rcmin</i>] [<i>Unit</i>]</b>
+<p><dd>
+Set the min. cut for subcutoff delta in range.<br>
+<p><dd>Available Geant4 state(s) : PreInit 
+Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>rcmin
+<td>type d
+<td>Omittable : default value = 
+<td><tr><td>Unit
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>StepFunction [<i>dRoverR</i>] [<i>finalRange</i>] [<i>unit</i>]</b>
+<p><dd>
+Set the energy loss step limitation parameters.<br>
+  dRoverR   : max Range variation per step<br>
+  finalRange: range for final step<br>
+<p><dd>Available Geant4 state(s) : PreInit 
+Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>dRoverR
+<td>type d
+<td><td>Parameter range : dRoverR&gt;0. &amp;&amp; dRoverR&lt;=1.
+<tr><td>finalRange
+<td>type d
+<td><td>Parameter range : finalRange&gt;0.
+<tr><td>unit
+<td>type s
+<td>Omittable : default value = mm
+<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>minKinEnergy [<i>emin</i>] [<i>Unit</i>]</b>
+<p><dd>
+Set the min kinetic energy<br>
+<p><dd>Available Geant4 state(s) : PreInit 
+Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>emin
+<td>type d
+<td>Omittable : default value = 
+<td><tr><td>Unit
+<td>type s
+<td><td>Parameter candidates : eV keV MeV GeV TeV PeV J electronvolt kiloelectronvolt megaelectronvolt gigaelectronvolt teraelectronvolt petaelectronvolt joule
+</table>
+<p><br><p><dt><b>maxKinEnergy [<i>emax</i>] [<i>Unit</i>]</b>
+<p><dd>
+Set the max kinetic energy<br>
+<p><dd>Available Geant4 state(s) : PreInit 
+Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>emax
+<td>type d
+<td>Omittable : default value = 
+<td><tr><td>Unit
+<td>type s
+<td><td>Parameter candidates : eV keV MeV GeV TeV PeV J electronvolt kiloelectronvolt megaelectronvolt gigaelectronvolt teraelectronvolt petaelectronvolt joule
+</table>
+<p><br><p><dt><b>integral [<i>integ</i>]</b>
+<p><dd>
+Switch true/false the integration of cross section over step.<br>
+<p><dd>Available Geant4 state(s) : PreInit 
+Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>integ
+<td>type b
+<td>Omittable : default value = 1
+<td></table>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_random_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_random_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_random_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_run_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_run_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_run_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_run_particle_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_run_particle_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_run_particle_.html	(revision 904)
@@ -0,0 +1,140 @@
+<html><head><title>Commands in /run/particle/</title></head>
+<body bgcolor="#ffffff"><h2>/run/particle/</h2><p>
+Commands for G4VUserPhysicsList.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>verbose [<i>level</i>]</b>
+<p><dd>
+Set the Verbose level of G4VUserPhysicsList.<br>
+ 0 : Silent (default)<br>
+ 1 : Display warning messages<br>
+ 2 : Display more<br>
+<p><dd>Range : level &gt;=0 &amp;&amp; level &lt;=3
+<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>setCut [<i>cut</i>] [<i>Unit</i>]</b>
+<p><dd>
+Set default cut value <br>
+This command is equivallent to /run/setCut command.<br>
+This command is kept for backward compatibility.<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 mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
+</table>
+<p><br><p><dt><b>dumpList</b>
+<p><dd>
+Dump List of particles in G4VUserPhysicsList. <br>
+<p><dd>Available at all Geant4 states.
+<p><br><p><dt><b>addProcManager [<i>particleType</i>]</b>
+<p><dd>
+add process manager to specified particle type<br>
+<p><dd>Available Geant4 state(s) : Init 
+Idle 
+GeomClosed 
+EventProc 
+<p><dd>Parameters<table border=1>
+<tr><td>particleType
+<td>type s
+<td>Omittable : default value = 
+<td></table>
+<p><br><p><dt><b>buildPhysicsTable [<i>particleType</i>]</b>
+<p><dd>
+build physics table of specified particle type<br>
+<p><dd>Available Geant4 state(s) : Init 
+Idle 
+GeomClosed 
+EventProc 
+<p><dd>Parameters<table border=1>
+<tr><td>particleType
+<td>type s
+<td>Omittable : default value = 
+<td></table>
+<p><br><p><dt><b>storePhysicsTable [<i>dirName</i>]</b>
+<p><dd>
+Store Physics Table<br>
+  Enter directory name<br>
+<p><dd>Available Geant4 state(s) : Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>dirName
+<td>type s
+<td>Omittable : default value = 
+<td></table>
+<p><br><p><dt><b>retrievePhysicsTable [<i>dirName</i>]</b>
+<p><dd>
+Retrieve Physics Table<br>
+  Enter directory name or OFF to switch off<br>
+<p><dd>Available Geant4 state(s) : PreInit 
+Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>dirName
+<td>type s
+<td>Omittable : default value = 
+<td></table>
+<p><br><p><dt><b>setStoredInAscii [<i>ascii</i>]</b>
+<p><dd>
+Switch on/off ascii mode in store/retreive Physics Table<br>
+  Enter 0(binary) or 1(ascii)<br>
+<p><dd>Range : ascii ==0 || ascii ==1
+<p><dd>Available Geant4 state(s) : PreInit 
+Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>ascii
+<td>type i
+<td>Omittable : default value = 0
+<td></table>
+<p><br><p><dt><b>applyCuts [<i>Flag</i>] [<i>Particle</i>]</b>
+<p><dd>
+Set applyCuts flag for a particle.<br>
+ Some EM processes which do not have infrared divergence<br>
+may generate gamma, e- and/or e+ with kinetic energies<br>
+below the production threshold. By setting this flag,<br>
+such secondaries below threshold are eliminated and<br>
+kinetic energies of such secondaries are accumulated<br>
+to the energy deposition of their mother.<br>
+ Note that 'applyCuts' makes sense only for gamma,<br>
+e- and e+. If this command is issued for other particle,<br>
+a warning message is displayed and the command is<br>
+ignored.<br>
+ If particle name is 'all', this command affects on<br>
+gamma, e- and e+.<br>
+<p><dd>Available Geant4 state(s) : PreInit 
+Init 
+Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>Flag
+<td>type s
+<td>Omittable : default value = true
+<td><tr><td>Particle
+<td>type s
+<td>Omittable : default value = all
+<td></table>
+<p><br><p><dt><b>dumpCutValues [<i>particle</i>]</b>
+<p><dd>
+Dump a list of production threshold values in range and energy<br>
+for all registered material-cuts-couples.<br>
+Dumping a list takes place when you issue 'beamOn' and<br>
+actual conversion tables from range to energy are available.<br>
+If you want a list 'immediately', use '/run/dumpRegion' for threshold<br>
+list given in gange only. Also, '/run/dumpCouples' gives you the<br>
+current list if you have already issued 'run/beamOn' at least once.<br>
+<p><dd>Available Geant4 state(s) : PreInit 
+Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>particle
+<td>type s
+<td>Omittable : default value = all
+<td></table>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_score_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_score_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_score_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_score_colorMap_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_score_colorMap_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_score_colorMap_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_score_create_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_score_create_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_score_create_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_score_filter_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_score_filter_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_score_filter_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_score_mesh_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_score_mesh_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_score_mesh_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_score_mesh_rotate_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_score_mesh_rotate_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_score_mesh_rotate_.html	(revision 904)
@@ -0,0 +1,48 @@
+<html><head><title>Commands in /score/mesh/rotate/</title></head>
+<body bgcolor="#ffffff"><h2>/score/mesh/rotate/</h2><p>
+Mesh rotation commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>reset</b>
+<p><dd>
+Reset rotation angles of the scoring mesh.<br>
+<p><dd>Available at all Geant4 states.
+<p><br><p><dt><b>rotateX [<i>Rx</i>] [<i>Unit</i>]</b>
+<p><dd>
+Rotate the scoring mesh in X axis.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>Rx
+<td>type d
+<td><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>rotateY [<i>Ry</i>] [<i>Unit</i>]</b>
+<p><dd>
+Rotate the scoring mesh in Y axis.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>Ry
+<td>type d
+<td><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>rotateZ [<i>Rz</i>] [<i>Unit</i>]</b>
+<p><dd>
+Rotate the scoring mesh in Z axis.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>Rz
+<td>type d
+<td><td><tr><td>Unit
+<td>type s
+<td>Omittable : default value = deg
+<td>Parameter candidates : rad mrad sr deg radian milliradian steradian degree
+</table>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_score_mesh_translate_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_score_mesh_translate_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_score_mesh_translate_.html	(revision 904)
@@ -0,0 +1,28 @@
+<html><head><title>Commands in /score/mesh/translate/</title></head>
+<body bgcolor="#ffffff"><h2>/score/mesh/translate/</h2><p>
+Mesh translation commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>reset</b>
+<p><dd>
+Reset translated position of the scoring mesh.<br>
+<p><dd>Available at all Geant4 states.
+<p><br><p><dt><b>xyz [<i>X</i>] [<i>Y</i>] [<i>Z</i>] [<i>Unit</i>]</b>
+<p><dd>
+Translate the scoring mesh.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>X
+<td>type d
+<td><td><tr><td>Y
+<td>type d
+<td><td><tr><td>Z
+<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>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_score_quantity_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_score_quantity_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_score_quantity_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_tracking_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_tracking_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_tracking_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_units_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_units_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_units_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_ASCIITree_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_ASCIITree_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_ASCIITree_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_ASCIITree_set_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_ASCIITree_set_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_ASCIITree_set_.html	(revision 904)
@@ -0,0 +1,17 @@
+<html><head><title>Commands in /vis/ASCIITree/set/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/ASCIITree/set/</h2><p>
+Settings for ASCIITree control.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>outFile [<i>out-filename</i>]</b>
+<p><dd>
+Set name of output file.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>out-filename
+<td>type s
+<td>Omittable : default value = G4cout
+<td></table>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_GAGTree_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_GAGTree_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_GAGTree_.html	(revision 904)
@@ -0,0 +1,18 @@
+<html><head><title>Commands in /vis/GAGTree/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/GAGTree/</h2><p>
+Commands for GAGTree control.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>verbose [<i>verbosity</i>]</b>
+<p><dd>
+/vis/GAGTree/verbose [&lt;verbosity&gt;]<br>
+0 (default) mimimum - 10 maximum printing.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>verbosity
+<td>type i
+<td>Omittable : current value is used as the default value.
+<td></table>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_filtering_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_filtering_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_filtering_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_filtering_hits_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_filtering_hits_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_filtering_hits_.html	(revision 904)
@@ -0,0 +1,30 @@
+<html><head><title>Commands in /vis/filtering/hits/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/filtering/hits/</h2><p>
+Hit filtering commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+<p><br><p><dt><a href="_vis_filtering_hits_create_.html">/vis/filtering/hits/create/</a>
+<p><dd>Create hit filters and messengers.
+<p><br><p><dt><a href="_vis_filtering_hits_attributeFilter-0_.html">/vis/filtering/hits/attributeFilter-0/</a>
+<p><dd>Commands for attributeFilter-0 model.
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>list [<i>name</i>]</b>
+<p><dd>
+List objects registered with list manager<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>name
+<td>type s
+<td>Omittable : default value = 
+<td></table>
+<p><br><p><dt><b>mode [<i>mode</i>]</b>
+<p><dd>
+Set mode of operation<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>mode
+<td>type s
+<td><td>Parameter candidates : soft hard
+</table>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_filtering_hits_attributeFilter-0_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_filtering_hits_attributeFilter-0_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_filtering_hits_attributeFilter-0_.html	(revision 904)
@@ -0,0 +1,60 @@
+<html><head><title>Commands in /vis/filtering/hits/attributeFilter-0/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/filtering/hits/attributeFilter-0/</h2><p>
+Commands for attributeFilter-0 model.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>setAttribute [<i></i>]</b>
+<p><dd>
+Set 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>invert [<i>Bool</i>]</b>
+<p><dd>
+Invert command<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>Bool
+<td>type b
+<td><td></table>
+<p><br><p><dt><b>active [<i>Bool</i>]</b>
+<p><dd>
+Active command<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>Bool
+<td>type b
+<td><td></table>
+<p><br><p><dt><b>verbose [<i>Bool</i>]</b>
+<p><dd>
+Verbose command<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>Bool
+<td>type b
+<td><td></table>
+<p><br><p><dt><b>reset</b>
+<p><dd>
+Reset command<br>
+<p><dd>Available at all Geant4 states.
+<p><br><p><dt><b>addInterval [<i></i>]</b>
+<p><dd>
+Set interval.<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>addValue [<i></i>]</b>
+<p><dd>
+Set value.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>
+<td>type s
+<td><td></table>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_filtering_hits_create_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_filtering_hits_create_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_filtering_hits_create_.html	(revision 904)
@@ -0,0 +1,18 @@
+<html><head><title>Commands in /vis/filtering/hits/create/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/filtering/hits/create/</h2><p>
+Create hit filters and messengers.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>attributeFilter [<i>model-name</i>]</b>
+<p><dd>
+Create a attributeFilter model and associated messengers.<br>
+Generated model becomes current.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>model-name
+<td>type s
+<td>Omittable : default value = 
+<td></table>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_filtering_trajectories_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_filtering_trajectories_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_filtering_trajectories_.html	(revision 904)
@@ -0,0 +1,30 @@
+<html><head><title>Commands in /vis/filtering/trajectories/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/filtering/trajectories/</h2><p>
+Trajectory filtering commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+<p><br><p><dt><a href="_vis_filtering_trajectories_create_.html">/vis/filtering/trajectories/create/</a>
+<p><dd>Create trajectory filters and messengers.
+<p><br><p><dt><a href="_vis_filtering_trajectories_chargeFilter-0_.html">/vis/filtering/trajectories/chargeFilter-0/</a>
+<p><dd>Commands for chargeFilter-0 model.
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>list [<i>name</i>]</b>
+<p><dd>
+List objects registered with list manager<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>name
+<td>type s
+<td>Omittable : default value = 
+<td></table>
+<p><br><p><dt><b>mode [<i>mode</i>]</b>
+<p><dd>
+Set mode of operation<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>mode
+<td>type s
+<td><td>Parameter candidates : soft hard
+</table>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_filtering_trajectories_chargeFilter-0_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_filtering_trajectories_chargeFilter-0_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_filtering_trajectories_chargeFilter-0_.html	(revision 904)
@@ -0,0 +1,44 @@
+<html><head><title>Commands in /vis/filtering/trajectories/chargeFilter-0/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/filtering/trajectories/chargeFilter-0/</h2><p>
+Commands for chargeFilter-0 model.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>add [<i></i>]</b>
+<p><dd>
+Add 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>invert [<i>Bool</i>]</b>
+<p><dd>
+Invert command<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>Bool
+<td>type b
+<td><td></table>
+<p><br><p><dt><b>active [<i>Bool</i>]</b>
+<p><dd>
+Active command<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>Bool
+<td>type b
+<td><td></table>
+<p><br><p><dt><b>verbose [<i>Bool</i>]</b>
+<p><dd>
+Verbose command<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>Bool
+<td>type b
+<td><td></table>
+<p><br><p><dt><b>reset</b>
+<p><dd>
+Reset command<br>
+<p><dd>Available at all Geant4 states.
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_filtering_trajectories_create_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_filtering_trajectories_create_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_filtering_trajectories_create_.html	(revision 904)
@@ -0,0 +1,48 @@
+<html><head><title>Commands in /vis/filtering/trajectories/create/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/filtering/trajectories/create/</h2><p>
+Create trajectory filters and messengers.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>chargeFilter [<i>model-name</i>]</b>
+<p><dd>
+Create a chargeFilter model and associated messengers.<br>
+Generated model becomes current.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>model-name
+<td>type s
+<td>Omittable : default value = 
+<td></table>
+<p><br><p><dt><b>particleFilter [<i>model-name</i>]</b>
+<p><dd>
+Create a particleFilter model and associated messengers.<br>
+Generated model becomes current.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>model-name
+<td>type s
+<td>Omittable : default value = 
+<td></table>
+<p><br><p><dt><b>originVolumeFilter [<i>model-name</i>]</b>
+<p><dd>
+Create a originVolumeFilter model and associated messengers.<br>
+Generated model becomes current.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>model-name
+<td>type s
+<td>Omittable : default value = 
+<td></table>
+<p><br><p><dt><b>attributeFilter [<i>model-name</i>]</b>
+<p><dd>
+Create a attributeFilter model and associated messengers.<br>
+Generated model becomes current.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>model-name
+<td>type s
+<td>Omittable : default value = 
+<td></table>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_geometry_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_geometry_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_geometry_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_geometry_set_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_geometry_set_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_geometry_set_.html	(revision 904)
@@ -0,0 +1,176 @@
+<html><head><title>Commands in /vis/geometry/set/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/geometry/set/</h2><p>
+Set vis attributes of Geant4 geometry.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>colour [<i>logical-volume-name</i>] [<i>depth</i>] [<i>red</i>] [<i>green</i>] [<i>blue</i>] [<i>opacity</i>]</b>
+<p><dd>
+Sets colour of logical volume(s).<br>
+"all" sets all logical volumes.<br>
+Optionally propagates down hierarchy to given depth.<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><tr><td>depth
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>red
+<td>type s
+<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><tr><td>opacity
+<td>type d
+<td>Omittable : default value = 1
+<td></table>
+<p><br><p><dt><b>daughtersInvisible [<i>logical-volume-name</i>] [<i>depth</i>] [<i>daughtersInvisible</i>]</b>
+<p><dd>
+Makes daughters of logical volume(s) invisible.<br>
+"all" sets all logical volumes.<br>
+Optionally propagates down hierarchy to given depth.<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><tr><td>depth
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>daughtersInvisible
+<td>type b
+<td>Omittable : default value = 0
+<td></table>
+<p><br><p><dt><b>lineStyle [<i>logical-volume-name</i>] [<i>depth</i>] [<i>lineStyle</i>]</b>
+<p><dd>
+Sets line style of logical volume(s) drawing.<br>
+"all" sets all logical volumes.<br>
+Optionally propagates down hierarchy to given depth.<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><tr><td>depth
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>lineStyle
+<td>type s
+<td>Omittable : default value = unbroken
+<td>Parameter candidates : unbroken dashed dotted
+</table>
+<p><br><p><dt><b>lineWidth [<i>logical-volume-name</i>] [<i>depth</i>] [<i>lineWidth</i>]</b>
+<p><dd>
+Sets line width of logical volume(s) drawing.<br>
+"all" sets all logical volumes.<br>
+Optionally propagates down hierarchy to given depth.<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><tr><td>depth
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>lineWidth
+<td>type d
+<td>Omittable : default value = 1
+<td></table>
+<p><br><p><dt><b>forceAuxEdgeVisible [<i>logical-volume-name</i>] [<i>depth</i>] [<i>forceAuxEdgeVisible</i>]</b>
+<p><dd>
+Forces auxiliary (soft) edges of logical volume(s) to be visible,
+regardless of the view parameters.<br>
+"all" sets all logical volumes.<br>
+Optionally propagates down hierarchy to given depth.<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><tr><td>depth
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>forceAuxEdgeVisible
+<td>type b
+<td>Omittable : default value = 0
+<td></table>
+<p><br><p><dt><b>forceLineSegmentsPerCircle [<i>logical-volume-name</i>] [<i>depth</i>] [<i>lineSegmentsPerCircle</i>]</b>
+<p><dd>
+Forces number of line segments per circle, the precision with which a
+curved line or surface is represented by a polygon or polyhedron,
+regardless of the view parameters.<br>
+"all" sets all logical volumes.<br>
+Optionally propagates down hierarchy to given depth.<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><tr><td>depth
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>lineSegmentsPerCircle
+<td>type d
+<td>Omittable : default value = -1
+<td></table>
+<p><br><p><dt><b>forceSolid [<i>logical-volume-name</i>] [<i>depth</i>] [<i>forceSolid</i>]</b>
+<p><dd>
+Forces logical volume(s) always to be drawn solid (surface drawing),
+regardless of the view parameters.<br>
+"all" sets all logical volumes.<br>
+Optionally propagates down hierarchy to given depth.<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><tr><td>depth
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>forceSolid
+<td>type b
+<td>Omittable : default value = 0
+<td></table>
+<p><br><p><dt><b>forceWireframe [<i>logical-volume-name</i>] [<i>depth</i>] [<i>forceWireframe</i>]</b>
+<p><dd>
+Forces logical volume(s) always to be drawn as wireframe,
+regardless of the view parameters.<br>
+"all" sets all logical volumes.<br>
+Optionally propagates down hierarchy to given depth.<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><tr><td>depth
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>forceWireframe
+<td>type b
+<td>Omittable : default value = 0
+<td></table>
+<p><br><p><dt><b>visibility [<i>logical-volume-name</i>] [<i>depth</i>] [<i>visibility</i>]</b>
+<p><dd>
+Sets visibility of logical volume(s).<br>
+"all" sets all logical volumes.<br>
+Optionally propagates down hierarchy to given depth.<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><tr><td>depth
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>visibility
+<td>type b
+<td>Omittable : default value = 1
+<td></table>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_heprep_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_heprep_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_heprep_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_modeling_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_modeling_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_modeling_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_modeling_trajectories_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_modeling_trajectories_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_modeling_trajectories_.html	(revision 904)
@@ -0,0 +1,29 @@
+<html><head><title>Commands in /vis/modeling/trajectories/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/modeling/trajectories/</h2><p>
+Trajectory model commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+<p><br><p><dt><a href="_vis_modeling_trajectories_create_.html">/vis/modeling/trajectories/create/</a>
+<p><dd>Create trajectory models and messengers.
+<p><br><p><dt><a href="_vis_modeling_trajectories_generic-0_.html">/vis/modeling/trajectories/generic-0/</a>
+<p><dd>Commands for generic-0 model.
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>list [<i>name</i>]</b>
+<p><dd>
+List objects registered with list manager<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>name
+<td>type s
+<td>Omittable : default value = 
+<td></table>
+<p><br><p><dt><b>select [<i>name</i>]</b>
+<p><dd>
+Select created object<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>name
+<td>type s
+<td><td></table>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_modeling_trajectories_create_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_modeling_trajectories_create_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_modeling_trajectories_create_.html	(revision 904)
@@ -0,0 +1,58 @@
+<html><head><title>Commands in /vis/modeling/trajectories/create/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/modeling/trajectories/create/</h2><p>
+Create trajectory models and messengers.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>generic [<i>model-name</i>]</b>
+<p><dd>
+Create a generic model and associated messengers.<br>
+Generated model becomes current.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>model-name
+<td>type s
+<td>Omittable : default value = 
+<td></table>
+<p><br><p><dt><b>drawByCharge [<i>model-name</i>]</b>
+<p><dd>
+Create a drawByCharge model and associated messengers.<br>
+Generated model becomes current.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>model-name
+<td>type s
+<td>Omittable : default value = 
+<td></table>
+<p><br><p><dt><b>drawByParticleID [<i>model-name</i>]</b>
+<p><dd>
+Create a drawByParticleID model and associated messengers.<br>
+Generated model becomes current.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>model-name
+<td>type s
+<td>Omittable : default value = 
+<td></table>
+<p><br><p><dt><b>drawByOriginVolume [<i>model-name</i>]</b>
+<p><dd>
+Create a drawByOriginVolume model and associated messengers.<br>
+Generated model becomes current.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>model-name
+<td>type s
+<td>Omittable : default value = 
+<td></table>
+<p><br><p><dt><b>drawByAttribute [<i>model-name</i>]</b>
+<p><dd>
+Create a drawByAttribute model and associated messengers.<br>
+Generated model becomes current.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>model-name
+<td>type s
+<td>Omittable : default value = 
+<td></table>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_modeling_trajectories_drawByCharge-0_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_modeling_trajectories_drawByCharge-0_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_modeling_trajectories_drawByCharge-0_.html	(revision 904)
@@ -0,0 +1,28 @@
+<html><head><title>Commands in /vis/modeling/trajectories/drawByCharge-0/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/modeling/trajectories/drawByCharge-0/</h2><p>
+Commands for drawByCharge-0 model.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>set [<i>parameters</i>]</b>
+<p><dd>
+Set trajectory colour through a string.<br>
+Two inputs are expected, for example<br>
+/vis/modeling/trajectories/drawByCharge-0/set -1 red<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>parameters
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>setRGBA [<i>parameters</i>]</b>
+<p><dd>
+Set trajectory colour through red, green, blue and alpha components.<br>
+Five inputs are expected, for example<br>
+/vis/modeling/trajectories/drawByCharge-0/setRGBA -1 1 1 1 1<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>parameters
+<td>type s
+<td><td></table>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_modeling_trajectories_drawByParticleID-0_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_modeling_trajectories_drawByParticleID-0_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_modeling_trajectories_drawByParticleID-0_.html	(revision 904)
@@ -0,0 +1,48 @@
+<html><head><title>Commands in /vis/modeling/trajectories/drawByParticleID-0/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/modeling/trajectories/drawByParticleID-0/</h2><p>
+Commands for drawByParticleID-0 model.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>set [<i>parameters</i>]</b>
+<p><dd>
+Set trajectory colour through a string.<br>
+Two inputs are expected, for example<br>
+/vis/modeling/trajectories/drawByParticleID-0/set gamma red<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>parameters
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>setRGBA [<i>parameters</i>]</b>
+<p><dd>
+Set trajectory colour through red, green, blue and alpha components.<br>
+Five inputs are expected, for example<br>
+/vis/modeling/trajectories/drawByParticleID-0/setRGBA gamma 1 1 1 1<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>parameters
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>setDefault [<i>parameters</i>]</b>
+<p><dd>
+Set default trajectory colour through a string.<br>
+One input is expected, for example<br>
+/vis/modeling/trajectories/drawByParticleID-0/setDefault red<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>parameters
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>setDefaultRGBA [<i>parameters</i>]</b>
+<p><dd>
+Set default trajectory colour through red, green, blue and alpha components.<br>
+Four inputs are expected, for example<br>
+/vis/modeling/trajectories/drawByParticleID-0/setDefaultRGBA 1 1 1 1<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>parameters
+<td>type s
+<td><td></table>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_modeling_trajectories_generic-0_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_modeling_trajectories_generic-0_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_modeling_trajectories_generic-0_.html	(revision 904)
@@ -0,0 +1,18 @@
+<html><head><title>Commands in /vis/modeling/trajectories/generic-0/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/modeling/trajectories/generic-0/</h2><p>
+Commands for generic-0 model.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+<p><br><p><dt><a href="_vis_modeling_trajectories_generic-0_default_.html">/vis/modeling/trajectories/generic-0/default/</a>
+<p><dd>Commands for default configuration
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>verbose [<i>Bool</i>]</b>
+<p><dd>
+Verbose command<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>Bool
+<td>type b
+<td><td></table>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_modeling_trajectories_generic-0_default_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_modeling_trajectories_generic-0_default_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_modeling_trajectories_generic-0_default_.html	(revision 904)
@@ -0,0 +1,188 @@
+<html><head><title>Commands in /vis/modeling/trajectories/generic-0/default/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/modeling/trajectories/generic-0/default/</h2><p>
+Commands for default configuration<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>setDrawLine [<i>Bool</i>]</b>
+<p><dd>
+Set draw line command<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>Bool
+<td>type b
+<td><td></table>
+<p><br><p><dt><b>setLineVisible [<i>Bool</i>]</b>
+<p><dd>
+Set line visibility command<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>Bool
+<td>type b
+<td><td></table>
+<p><br><p><dt><b>setLineColour [<i>Variable</i>]</b>
+<p><dd>
+Set colour through a string<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>Variable
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>setLineColourRGBA [<i>Red component</i>] [<i>Green component</i>] [<i>Blue component</i>] [<i>Alpha component</i>]</b>
+<p><dd>
+Set colour through red, green, blue and alpha components<br>
+Four inputs are expected.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>Red component
+<td>type d
+<td><td><tr><td>Green component
+<td>type d
+<td><td><tr><td>Blue component
+<td>type d
+<td><td><tr><td>Alpha component
+<td>type d
+<td><td></table>
+<p><br><p><dt><b>setDrawStepPts [<i>Bool</i>]</b>
+<p><dd>
+Set draw step points command<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>Bool
+<td>type b
+<td><td></table>
+<p><br><p><dt><b>setStepPtsVisible [<i>Bool</i>]</b>
+<p><dd>
+Set step points visible command<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>Bool
+<td>type b
+<td><td></table>
+<p><br><p><dt><b>setStepPtsColour [<i>Variable</i>]</b>
+<p><dd>
+Set colour through a string<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>Variable
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>setStepPtsColourRGBA [<i>Red component</i>] [<i>Green component</i>] [<i>Blue component</i>] [<i>Alpha component</i>]</b>
+<p><dd>
+Set colour through red, green, blue and alpha components<br>
+Four inputs are expected.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>Red component
+<td>type d
+<td><td><tr><td>Green component
+<td>type d
+<td><td><tr><td>Blue component
+<td>type d
+<td><td><tr><td>Alpha component
+<td>type d
+<td><td></table>
+<p><br><p><dt><b>setStepPtsSize [<i>Double</i>]</b>
+<p><dd>
+Set step points size command<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>Double
+<td>type d
+<td><td></table>
+<p><br><p><dt><b>setStepPtsType [<i></i>]</b>
+<p><dd>
+Set step points type.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>
+<td>type s
+<td><td>Parameter candidates : dots circles squares
+</table>
+<p><br><p><dt><b>setStepPtsFillStyle [<i></i>]</b>
+<p><dd>
+Set step fill style type.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>
+<td>type s
+<td><td>Parameter candidates : noFill hashed filled
+</table>
+<p><br><p><dt><b>setDrawAuxPts [<i>Bool</i>]</b>
+<p><dd>
+Set draw auxiliary points command<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>Bool
+<td>type b
+<td><td></table>
+<p><br><p><dt><b>setAuxPtsVisible [<i>Bool</i>]</b>
+<p><dd>
+Set auxiliary points visibility command<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>Bool
+<td>type b
+<td><td></table>
+<p><br><p><dt><b>setAuxPtsColour [<i>Variable</i>]</b>
+<p><dd>
+Set colour through a string<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>Variable
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>setAuxPtsColourRGBA [<i>Red component</i>] [<i>Green component</i>] [<i>Blue component</i>] [<i>Alpha component</i>]</b>
+<p><dd>
+Set colour through red, green, blue and alpha components<br>
+Four inputs are expected.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>Red component
+<td>type d
+<td><td><tr><td>Green component
+<td>type d
+<td><td><tr><td>Blue component
+<td>type d
+<td><td><tr><td>Alpha component
+<td>type d
+<td><td></table>
+<p><br><p><dt><b>setAuxPtsSize [<i>Double</i>]</b>
+<p><dd>
+Set auxiliary points size command<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>Double
+<td>type d
+<td><td></table>
+<p><br><p><dt><b>setAuxPtsType [<i></i>]</b>
+<p><dd>
+Set auxiliary points type.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>
+<td>type s
+<td><td>Parameter candidates : dots circles squares
+</table>
+<p><br><p><dt><b>setAuxPtsFillStyle [<i></i>]</b>
+<p><dd>
+Set auxiliary fill style.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>
+<td>type s
+<td><td>Parameter candidates : noFill hashed filled
+</table>
+<p><br><p><dt><b>setTimeSliceInterval [<i>DoubleAndUnit</i>] [<i>Unit</i>]</b>
+<p><dd>
+Set time slice interval.  Give unit, e.g., "0.1 ns"<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>DoubleAndUnit
+<td>type d
+<td><td><tr><td>Unit
+<td>type s
+<td><td>Parameter candidates : s ms mus ns ps second millisecond microsecond nanosecond picosecond
+</table>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_ogl_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_ogl_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_ogl_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_ogl_set_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_ogl_set_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_ogl_set_.html	(revision 904)
@@ -0,0 +1,145 @@
+<html><head><title>Commands in /vis/ogl/set/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/ogl/set/</h2><p>
+G4OpenGLViewer set commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>displayHeadTime [<i>displayHeadTime</i>] [<i>screenX</i>] [<i>screenY</i>] [<i>screenSize</i>] [<i>red</i>] [<i>green</i>] [<i>blue</i>]</b>
+<p><dd>
+Display head time of range in 2D text.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>displayHeadTime
+<td>type b
+<td><td><tr><td>screenX
+<td>type d
+<td>Omittable : default value = -0.9
+<td>Parameter range : screenX &gt;= -1. &amp;&amp; screenX &lt;= 1.
+<tr><td>screenY
+<td>type d
+<td>Omittable : default value = -0.9
+<td>Parameter range : screenY &gt;= -1. &amp;&amp; screenY &lt;= 1.
+<tr><td>screenSize
+<td>type d
+<td>Omittable : default value = 24
+<td><tr><td>red
+<td>type d
+<td>Omittable : default value = 0
+<td>Parameter range : red &gt;= 0. &amp;&amp; red &lt;= 1.
+<tr><td>green
+<td>type d
+<td>Omittable : default value = 1
+<td>Parameter range : green &gt;= 0. &amp;&amp; green &lt;= 1.
+<tr><td>blue
+<td>type d
+<td>Omittable : default value = 1
+<td>Parameter range : blue &gt;= 0. &amp;&amp; blue &lt;= 1.
+</table>
+<p><br><p><dt><b>displayLightFront [<i>displayLightFront</i>] [<i>originX</i>] [<i>originY</i>] [<i>originZ</i>] [<i>space_unit</i>] [<i>originT</i>] [<i>time_unit</i>] [<i>red</i>] [<i>green</i>] [<i>blue</i>]</b>
+<p><dd>
+Display the light front at head time.<br>
+Tip: The trajectories can appear of jump ahead of the light front
+because their time range overlaps the viewer's time range.  To
+average out this discrete time effect, advance the light front by
+half the trajectories interval. E.g., if the trajectory time slice
+interval is 0.01 ns:
+  /vis/ogl/set/displayLightFront true -90 0 0 mm -0.005 ns
+To prevent them beating the light front at all:
+  /vis/ogl/set/displayLightFront true -90 0 0 mm -0.01 ns<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>displayLightFront
+<td>type b
+<td><td><tr><td>originX
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>originY
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>originZ
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>space_unit
+<td>type s
+<td>Omittable : default value = m
+<td><tr><td>originT
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>time_unit
+<td>type s
+<td>Omittable : default value = s
+<td><tr><td>red
+<td>type d
+<td>Omittable : default value = 0
+<td>Parameter range : red &gt;= 0. &amp;&amp; red &lt;= 1.
+<tr><td>green
+<td>type d
+<td>Omittable : default value = 1
+<td>Parameter range : green &gt;= 0. &amp;&amp; green &lt;= 1.
+<tr><td>blue
+<td>type d
+<td>Omittable : default value = 0
+<td>Parameter range : blue &gt;= 0. &amp;&amp; blue &lt;= 1.
+</table>
+<p><br><p><dt><b>endTime [<i>end-time</i>] [<i>end-time-unit</i>] [<i>time-range</i>] [<i>time-range-unit</i>]</b>
+<p><dd>
+Set end and range of track time.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>end-time
+<td>type d
+<td><td><tr><td>end-time-unit
+<td>type s
+<td><td><tr><td>time-range
+<td>type d
+<td>Omittable : default value = -1
+<td><tr><td>time-range-unit
+<td>type s
+<td>Omittable : default value = ns
+<td></table>
+<p><br><p><dt><b>fade [<i>fadefactor</i>]</b>
+<p><dd>
+0: no fade; 1: maximum fade with time within range.<br>
+<p><dd>Range : fadefactor&gt;=0.&amp;&amp;fadefactor&lt;=1.
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>fadefactor
+<td>type d
+<td><td></table>
+<p><br><p><dt><b>printMode [<i>print_mode</i>]</b>
+<p><dd>
+Set print mode<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>print_mode
+<td>type s
+<td>Omittable : default value = vectored
+<td>Parameter candidates : vectored pixmap
+</table>
+<p><br><p><dt><b>startTime [<i>start-time</i>] [<i>start-time-unit</i>] [<i>time-range</i>] [<i>time-range-unit</i>]</b>
+<p><dd>
+Set start and range of track time.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>start-time
+<td>type d
+<td><td><tr><td>start-time-unit
+<td>type s
+<td><td><tr><td>time-range
+<td>type d
+<td>Omittable : default value = -1
+<td><tr><td>time-range-unit
+<td>type s
+<td>Omittable : default value = ns
+<td></table>
+<p><br><p><dt><b>transparency [<i>transparency-enabled</i>]</b>
+<p><dd>
+True/false to enable/disable rendering of transparent objects.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>transparency-enabled
+<td>type b
+<td>Omittable : default value = 1
+<td></table>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_oglxm-viewer-0_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_oglxm-viewer-0_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_oglxm-viewer-0_.html	(revision 904)
@@ -0,0 +1,10 @@
+<html><head><title>Commands in /vis/oglxm-viewer-0/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/oglxm-viewer-0/</h2><p>
+G4OpenGLXmViewer "viewer-0" commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+<p><br><p><dt><a href="_vis_oglxm-viewer-0_set_.html">/vis/oglxm-viewer-0/set/</a>
+<p><dd>G4OpenGLXmViewer "viewer-0" set commands.
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_oglxm-viewer-0_set_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_oglxm-viewer-0_set_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_oglxm-viewer-0_set_.html	(revision 904)
@@ -0,0 +1,64 @@
+<html><head><title>Commands in /vis/oglxm-viewer-0/set/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/oglxm-viewer-0/set/</h2><p>
+G4OpenGLXmViewer "viewer-0" set commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>dolly-high [<i>dolly-high</i>] [<i>Unit</i>]</b>
+<p><dd>
+Higher limit of dolly slider.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>dolly-high
+<td>type d
+<td><td><tr><td>Unit
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>dolly-low [<i>dolly-low</i>] [<i>Unit</i>]</b>
+<p><dd>
+Lower limit of dolly slider.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>dolly-low
+<td>type d
+<td><td><tr><td>Unit
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>pan-high [<i>pan-high</i>] [<i>Unit</i>]</b>
+<p><dd>
+Higher limit of pan slider.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>pan-high
+<td>type d
+<td><td><tr><td>Unit
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>rotation-high [<i>rotation-high</i>] [<i>Unit</i>]</b>
+<p><dd>
+Higher limit of rotation slider.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>rotation-high
+<td>type d
+<td><td><tr><td>Unit
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>zoom-high [<i>zoom-high</i>]</b>
+<p><dd>
+Higher limit of zoom slider.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>zoom-high
+<td>type d
+<td><td></table>
+<p><br><p><dt><b>zoom-low [<i>zoom-low</i>]</b>
+<p><dd>
+Lower limit of zoom slider.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>zoom-low
+<td>type d
+<td><td></table>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_oglxm_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_oglxm_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_oglxm_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_oglxm_set_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_oglxm_set_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_oglxm_set_.html	(revision 904)
@@ -0,0 +1,64 @@
+<html><head><title>Commands in /vis/oglxm/set/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/oglxm/set/</h2><p>
+G4OpenGLXmViewer set commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>dolly-high [<i>dolly-high</i>] [<i>Unit</i>]</b>
+<p><dd>
+Higher limit of dolly slider.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>dolly-high
+<td>type d
+<td><td><tr><td>Unit
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>dolly-low [<i>dolly-low</i>] [<i>Unit</i>]</b>
+<p><dd>
+Lower limit of dolly slider.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>dolly-low
+<td>type d
+<td><td><tr><td>Unit
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>pan-high [<i>pan-high</i>] [<i>Unit</i>]</b>
+<p><dd>
+Higher limit of pan slider.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>pan-high
+<td>type d
+<td><td><tr><td>Unit
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>rotation-high [<i>rotation-high</i>] [<i>Unit</i>]</b>
+<p><dd>
+Higher limit of rotation slider.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>rotation-high
+<td>type d
+<td><td><tr><td>Unit
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>zoom-high [<i>zoom-high</i>]</b>
+<p><dd>
+Higher limit of zoom slider.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>zoom-high
+<td>type d
+<td><td></table>
+<p><br><p><dt><b>zoom-low [<i>zoom-low</i>]</b>
+<p><dd>
+Lower limit of zoom slider.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>zoom-low
+<td>type d
+<td><td></table>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_rayTracer_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_rayTracer_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_rayTracer_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_sceneHandler_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_sceneHandler_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_sceneHandler_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_scene_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_scene_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_scene_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_scene_add_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_scene_add_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_scene_add_.html	(revision 904)
@@ -0,0 +1,332 @@
+<html><head><title>Commands in /vis/scene/add/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/scene/add/</h2><p>
+Add model to current scene.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>axes [<i>x0</i>] [<i>y0</i>] [<i>z0</i>] [<i>length</i>] [<i>unit</i>]</b>
+<p><dd>
+Add axes.<br>
+Draws axes at (x0, y0, z0) of given length.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>x0
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>y0
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>z0
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>length
+<td>type d
+<td>Omittable : default value = 1
+<td><tr><td>unit
+<td>type s
+<td>Omittable : default value = m
+<td></table>
+<p><br><p><dt><b>eventID [<i>size</i>] [<i>x-position</i>] [<i>y-position</i>]</b>
+<p><dd>
+Adds eventID to current scene.<br>
+Run and event numbers are drawn at end of event or run when
+ the scene in which they are added is current.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>size
+<td>type i
+<td>Omittable : default value = 18
+<td><tr><td>x-position
+<td>type d
+<td>Omittable : default value = -0.95
+<td><tr><td>y-position
+<td>type d
+<td>Omittable : default value = 0.9
+<td></table>
+<p><br><p><dt><b>ghosts [<i>particle</i>]</b>
+<p><dd>
+Adds ghost volumes (G4FlavoredParallelWorld) to the current scene.<br>
+Selects by particle.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>particle
+<td>type s
+<td>Omittable : default value = all
+<td></table>
+<p><br><p><dt><b>hits</b>
+<p><dd>
+Adds hits to current scene.<br>
+Hits are drawn at end of event when the scene in which
+they are added is current.<br>
+<p><dd>Available at all Geant4 states.
+<p><br><p><dt><b>logicalVolume [<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>
+Adds a logical volume to the current scene,<br>
+Shows boolean components (if any), voxels (if any) and readout geometry
+(if any).  Note: voxels are not constructed until start of run -
+ "/run/beamOn".<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>
+<p><br><p><dt><b>logo [<i>height</i>] [<i>unit</i>] [<i>direction</i>] [<i>red</i>] [<i>green</i>] [<i>blue</i>] [<i>auto|manual</i>] [<i>xmid</i>] [<i>ymid</i>] [<i>zmid</i>] [<i>unit</i>]</b>
+<p><dd>
+Adds a G4 logo to the current scene.<br>
+The placement, if automatic, is similar to that of scale -
+"help /vis/scene/add/scale" for more information.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>height
+<td>type d
+<td>Omittable : default value = 1
+<td><tr><td>unit
+<td>type s
+<td>Omittable : default value = m
+<td><tr><td>direction
+<td>type s
+<td>Omittable : default value = x
+<td><tr><td>red
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>green
+<td>type d
+<td>Omittable : default value = 1
+<td><tr><td>blue
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>auto|manual
+<td>type s
+<td>Omittable : default value = auto
+<td>Parameter candidates : auto manual
+<tr><td>xmid
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>ymid
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>zmid
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>unit
+<td>type s
+<td>Omittable : default value = m
+<td></table>
+<p><br><p><dt><b>scale [<i>length</i>] [<i>unit</i>] [<i>direction</i>] [<i>red</i>] [<i>green</i>] [<i>blue</i>] [<i>auto|manual</i>] [<i>xmid</i>] [<i>ymid</i>] [<i>zmid</i>] [<i>unit</i>]</b>
+<p><dd>
+Adds an annotated scale line to the current scene.<br>
+An annotated line in the specified direction with tick marks at the
+end.  If autoPlacing is true it is required to be centred at the
+front, right, bottom corner of the world space, comfortably outside
+the existing bounding box/sphere so that existing objects do not
+obscure it.  Otherwise it is required to be drawn with mid-point at
+(xmid, ymid, zmid).
+
+The auto placing algorithm might be:
+  x = xmin + (1 + comfort) * (xmax - xmin);
+  y = ymin - comfort * (ymax - ymin);
+  z = zmin + (1 + comfort) * (zmax - zmin);
+  if direction == x then (x - length,y,z) to (x,y,z);
+  if direction == y then (x,y,z) to (x,y + length,z);
+  if direction == z then (x,y,z - length) to (x,y,z);<br>
+<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><tr><td>direction
+<td>type s
+<td>Omittable : default value = x
+<td><tr><td>red
+<td>type d
+<td>Omittable : default value = 1
+<td><tr><td>green
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>blue
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>auto|manual
+<td>type s
+<td>Omittable : default value = auto
+<td>Parameter candidates : auto manual
+<tr><td>xmid
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>ymid
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>zmid
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>unit
+<td>type s
+<td>Omittable : default value = m
+<td></table>
+<p><br><p><dt><b>text [<i>x</i>] [<i>y</i>] [<i>z</i>] [<i>unit</i>] [<i>font_size</i>] [<i>x_offset</i>] [<i>y_offset</i>] [<i>text</i>]</b>
+<p><dd>
+Adds text to current scene.<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>font_size
+<td>type d
+<td>Omittable : default value = 12
+<td><tr><td>x_offset
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>y_offset
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>text
+<td>type s
+<td>Omittable : default value = Hello G4
+<td></table>
+<p><br><p><dt><b>trajectories [<i>default-trajectory-type</i>]</b>
+<p><dd>
+Adds trajectories to current scene.<br>
+Causes trajectories, if any, to be drawn at the end of processing an
+event.  Switches on trajectory storing and sets the
+default trajectory type.<br>
+The command line parameter list determines the default trajectory type.
+If it contains the string "smooth", auxiliary inter-step points will
+be inserted to improve the smoothness of the drawing of a curved
+trajectory.
+If it contains the string "rich", significant extra information will
+be stored in the trajectory (G4RichTrajectory) amenable to modeling
+and filtering with "/vis/modeling/trajectories/create/drawByAttribute"
+and "/vis/filtering/trajectories/create/attributeFilter" commands.
+It may contain both strings in any order.<br>
+
+To switch off trajectory storing: "/tracking/storeTrajectory 0".
+See also "/vis/scene/endOfEventAction".<br>
+Note:  This only sets the default.  Independently of the result of this
+command, a user may instantiate a trajectory that overrides this default
+in PreUserTrackingAction.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>default-trajectory-type
+<td>type s
+<td>Omittable : default value = 
+<td></table>
+<p><br><p><dt><b>userAction [<i>xmin</i>] [<i>xmax</i>] [<i>ymin</i>] [<i>ymax</i>] [<i>zmin</i>] [<i>zmax</i>] [<i>unit</i>]</b>
+<p><dd>
+Add Vis User Action, if any, to current scene.<br>
+Optional arguments define the extent of the callback drawing.  You may
+not need this if the extent has been defined in the original
+SetUserAction or is defined by other components of the scene.  But if
+the user action is the only component of the scene, you will certainly
+need to set the extent either in SetUserAction or here.  A scene must
+have an extent one way or another so that the viewer can calculate
+how to point the camera.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>xmin
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>xmax
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>ymin
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>ymax
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>zmin
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>zmax
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>unit
+<td>type s
+<td>Omittable : default value = cm
+<td></table>
+<p><br><p><dt><b>volume [<i>physical-volume-name</i>] [<i>copy-no</i>] [<i>depth-of-descent</i>] [<i>clip-volume-type</i>] [<i>parameter-unit</i>] [<i>parameter-1</i>] [<i>parameter-2</i>] [<i>parameter-3</i>] [<i>parameter-4</i>] [<i>parameter-5</i>] [<i>parameter-6</i>]</b>
+<p><dd>
+Adds a physical volume to current scene, with optional clipping volume.<br>
+If physical-volume-name is "world" (the default), the top of the
+main geometry tree (material world) is added.  If "worlds", the
+top of all worlds - material world and parallel worlds, if any - are
+added.  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>
+If clip-volume-type is specified, the subsequent parameters are used to
+to define a clipping volume.  For example,
+"vis/scene/add/volume ! ! ! -box km 0 1 0 1 0 1" will draw the world
+with the positive octant cut away.<br>
+If clip-volume-type is prepended with '-', the clip-volume is subtracted
+(cutaway). (This is the default if there is no prepended character.)
+If '*' is prepended, the intersection of the physical-volume and the
+clip-volume is made. (You can make a section/DCUT with a thin box, for
+example).<br>
+For "box", the parameters are xmin,xmax,ymin,ymax,zmin,zmax.
+Only "box" is programmed at present.<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>copy-no
+<td>type i
+<td>Omittable : default value = -1
+<td><tr><td>depth-of-descent
+<td>type i
+<td>Omittable : default value = -1
+<td><tr><td>clip-volume-type
+<td>type s
+<td>Omittable : default value = none
+<td>Parameter candidates : none box -box *box
+<tr><td>parameter-unit
+<td>type s
+<td>Omittable : default value = m
+<td><tr><td>parameter-1
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>parameter-2
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>parameter-3
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>parameter-4
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>parameter-5
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>parameter-6
+<td>type d
+<td>Omittable : default value = 0
+<td></table>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_viewer_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_viewer_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_viewer_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_viewer_set_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_viewer_set_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/_vis_viewer_set_.html	(revision 904)
@@ -0,0 +1,351 @@
+<html><head><title>Commands in /vis/viewer/set/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/viewer/set/</h2><p>
+Set view parameters of current viewer.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>all [<i>from-viewer-name</i>]</b>
+<p><dd>
+Copies view parameters.<br>
+Copies view parameters (except the autoRefresh status) from
+from-viewer to current viewer.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>from-viewer-name
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>autoRefresh [<i>auto-refresh</i>]</b>
+<p><dd>
+Sets auto-refresh.<br>
+If true, view is automatically refreshed after a change of
+view parameters.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>auto-refresh
+<td>type b
+<td>Omittable : default value = 1
+<td></table>
+<p><br><p><dt><b>auxiliaryEdge [<i>edge</i>]</b>
+<p><dd>
+Sets visibility of auxiliary edges<br>
+Auxiliary edges, i.e., those that are part of a curved surface,
+sometimes called soft edges, become visible/invisible.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>edge
+<td>type b
+<td>Omittable : default value = 1
+<td></table>
+<p><br><p><dt><b>background [<i>red_or_string</i>] [<i>green</i>] [<i>blue</i>] [<i>opacity</i>]</b>
+<p><dd>
+Set background colour and transparency (default black and opaque).<br>
+Accepts (a) RGB triplet. e.g., ".3 .4 .5", or
+(b) string such as "white", "black", "grey", "red"...
+(c) an additional number for opacity, e.g., ".3 .4 .5 .6"
+    or "grey ! ! .6" (note "!"'s for unused green and blue parameters),
+    e.g. "! ! ! 0." for a transparent background.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>red_or_string
+<td>type s
+<td>Omittable : default value = 0.
+<td><tr><td>green
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>blue
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>opacity
+<td>type d
+<td>Omittable : default value = 1
+<td></table>
+<p><br><p><dt><b>culling [<i>culling-option</i>] [<i>action</i>] [<i>density-threshold</i>] [<i>unit</i>]</b>
+<p><dd>
+Set culling options.<br>
+"global": enables/disables all other culling options.<br>
+"coveredDaughters": culls, i.e., eliminates, volumes that would not
+be seen because covered by ancester volumes in surface drawing mode,
+and then only if the ancesters are visible and opaque, and then only
+if no sections or cutaways are in operation.  Intended solely to
+improve the speed of rendering visible volumes.<br>
+"invisible": culls objects with the invisible attribute set.<br>
+"density": culls volumes with density lower than threshold.  Useful
+for eliminating "container volumes" with no physical correspondence,
+whose material is usually air.  If this is selected, provide threshold
+density and unit (g/cm3 mg/cm3 or kg/m3).<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>culling-option
+<td>type s
+<td><td>Parameter candidates : global coveredDaughters invisible density
+<tr><td>action
+<td>type b
+<td>Omittable : default value = 1
+<td><tr><td>density-threshold
+<td>type d
+<td>Omittable : default value = 0.01
+<td><tr><td>unit
+<td>type s
+<td>Omittable : default value = g/cm3
+<td>Parameter candidates : g/cm3, mg/cm3 kg/m3
+</table>
+<p><br><p><dt><b>cutawayMode [<i>cutaway-mode</i>]</b>
+<p><dd>
+Sets cutaway mode - add (union) or multiply (intersection).<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>cutaway-mode
+<td>type s
+<td><td>Parameter candidates : add union multiply intersection
+</table>
+<p><br><p><dt><b>edge [<i>edge</i>]</b>
+<p><dd>
+Edges become visible/invisible in surface mode.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>edge
+<td>type b
+<td>Omittable : default value = 1
+<td></table>
+<p><br><p><dt><b>explodeFactor [<i>explodeFactor</i>] [<i>x</i>] [<i>y</i>] [<i>z</i>] [<i>unit</i>]</b>
+<p><dd>
+Moves top-level drawn volumes by this factor from this centre.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>explodeFactor
+<td>type d
+<td>Omittable : default value = 1
+<td>Parameter range : explodeFactor&gt;=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></table>
+<p><br><p><dt><b>globalLineWidthScale [<i>scale-factor</i>]</b>
+<p><dd>
+Multiplies line widths by this factor.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>scale-factor
+<td>type d
+<td>Omittable : default value = 1
+<td></table>
+<p><br><p><dt><b>globalMarkerScale [<i>scale-factor</i>]</b>
+<p><dd>
+Multiplies marker sizes by this factor.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>scale-factor
+<td>type d
+<td>Omittable : default value = 1
+<td></table>
+<p><br><p><dt><b>hiddenEdge [<i>hidden-edge</i>]</b>
+<p><dd>
+Edges become hidden/seen in wireframe or surface mode.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>hidden-edge
+<td>type b
+<td>Omittable : default value = 1
+<td></table>
+<p><br><p><dt><b>hiddenMarker [<i>hidden-marker</i>]</b>
+<p><dd>
+If true, closer objects hide markers. Otherwise, markers always show.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>hidden-marker
+<td>type b
+<td>Omittable : default value = 1
+<td></table>
+<p><br><p><dt><b>lightsMove [<i>lightsMove</i>]</b>
+<p><dd>
+Lights move with camera or with object<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>lightsMove
+<td>type s
+<td><td>Parameter candidates : cam camera with-camera obj object with-object
+</table>
+<p><br><p><dt><b>lightsThetaPhi [<i>theta</i>] [<i>phi</i>] [<i>unit</i>]</b>
+<p><dd>
+Set direction from target to lights.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>theta
+<td>type d
+<td>Omittable : default value = 60
+<td><tr><td>phi
+<td>type d
+<td>Omittable : default value = 45
+<td><tr><td>unit
+<td>type s
+<td>Omittable : default value = deg
+<td></table>
+<p><br><p><dt><b>lightsVector [<i>x</i>] [<i>y</i>] [<i>z</i>]</b>
+<p><dd>
+Set direction from target to lights.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>x
+<td>type d
+<td>Omittable : default value = 1
+<td><tr><td>y
+<td>type d
+<td>Omittable : default value = 1
+<td><tr><td>z
+<td>type d
+<td>Omittable : default value = 1
+<td></table>
+<p><br><p><dt><b>lineSegmentsPerCircle [<i>line-segments</i>]</b>
+<p><dd>
+Set number of sides per circle for polygon/polyhedron drawing.<br>
+Refers to graphical representation of objects with curved lines/surfaces.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>line-segments
+<td>type i
+<td>Omittable : default value = 24
+<td></table>
+<p><br><p><dt><b>picking [<i>picking</i>]</b>
+<p><dd>
+Sets picking, if available.<br>
+If true, view is set up for picking, if available.
+For required actions, watch for instructions for viewer.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>picking
+<td>type b
+<td>Omittable : default value = 1
+<td></table>
+<p><br><p><dt><b>projection [<i>projection</i>] [<i>field-half-angle</i>] [<i>unit</i>]</b>
+<p><dd>
+Orthogonal or perspective projection.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>projection
+<td>type s
+<td>Omittable : default value = orthogonal
+<td>Parameter candidates : o orthogonal p perspective
+<tr><td>field-half-angle
+<td>type d
+<td>Omittable : default value = 30
+<td><tr><td>unit
+<td>type s
+<td>Omittable : default value = deg
+<td></table>
+<p><br><p><dt><b>sectionPlane [<i>Selector</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>
+Set plane for drawing section (DCUT).<br>
+E.g., for a y-z plane at x = 1 cm:
+"/vis/viewer/set/sectionPlane on 1 0 0 cm 1 0 0".
+To turn off: /vis/viewer/set/sectionPlane off<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>Selector
+<td>type c
+<td>Omittable : default value = on
+<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>style [<i>style</i>]</b>
+<p><dd>
+Set style of drawing - w[ireframe] or s[urface].<br>
+(Hidden line drawing is controlled by "/vis/viewer/set/hiddenEdge".)<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>style
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>upThetaPhi [<i>theta</i>] [<i>phi</i>] [<i>unit</i>]</b>
+<p><dd>
+Set up vector.<br>
+Viewer will attempt always to show this direction upwards.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>theta
+<td>type d
+<td>Omittable : default value = 90
+<td><tr><td>phi
+<td>type d
+<td>Omittable : default value = 90
+<td><tr><td>unit
+<td>type s
+<td>Omittable : default value = deg
+<td></table>
+<p><br><p><dt><b>upVector [<i>x</i>] [<i>y</i>] [<i>z</i>]</b>
+<p><dd>
+Set up vector.<br>
+Viewer will attempt always to show this direction upwards.<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 = 1
+<td><tr><td>z
+<td>type d
+<td>Omittable : default value = 0
+<td></table>
+<p><br><p><dt><b>viewpointThetaPhi [<i>theta</i>] [<i>phi</i>] [<i>unit</i>]</b>
+<p><dd>
+Set direction from target to camera.<br>
+Also changes lightpoint direction if lights are set to move with camera.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>theta
+<td>type d
+<td>Omittable : default value = 60
+<td><tr><td>phi
+<td>type d
+<td>Omittable : default value = 45
+<td><tr><td>unit
+<td>type s
+<td>Omittable : default value = deg
+<td></table>
+<p><br><p><dt><b>viewpointVector [<i>x</i>] [<i>y</i>] [<i>z</i>]</b>
+<p><dd>
+Set direction from target to camera.<br>
+Also changes lightpoint direction if lights are set to move with camera.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>x
+<td>type d
+<td>Omittable : default value = 1
+<td><tr><td>y
+<td>type d
+<td>Omittable : default value = 1
+<td><tr><td>z
+<td>type d
+<td>Omittable : default value = 1
+<td></table>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/control.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/control.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/control.txt	(revision 904)
@@ -0,0 +1,212 @@
+/control/manual /control
+Command directory path : /control/
+
+
+Guidance :
+UI control commands.
+
+ Sub-directories : 
+ Commands : 
+   execute * Execute a macro file.
+   loop * Execute a macro file more than once.
+   foreach * Execute a macro file more than once.
+   suppressAbortion * Suppress the program abortion caused by G4Exception.
+   verbose * Applied command will also be shown on screen.
+   saveHistory * Store command history to a file.
+   stopSavingHistory * Stop saving history file.
+   alias * Set an alias.
+   unalias * Remove an alias.
+   listAlias * List aliases.
+   shell * Execute a (Unix) SHELL command.
+   manual * Display all of sub-directories and commands.
+   createHTML * Generate HTML files for all of sub-directories and commands.
+   maximumStoredHistory * Set maximum number of stored UI commands.
+
+
+Command /control/execute
+Guidance :
+Execute a macro file.
+
+Parameter : fileName
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /control/loop
+Guidance :
+Execute a macro file more than once.
+Loop counter can be used as an aliased variable.
+
+Parameter : macroFile
+ Parameter type  : s
+ Omittable       : False
+
+Parameter : counterName
+ Parameter type  : s
+ Omittable       : False
+
+Parameter : initialValue
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : finalValue
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : stepSize
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /control/foreach
+Guidance :
+Execute a macro file more than once.
+Loop counter can be used as an aliased variable.
+Values must be separated by a space.
+
+Parameter : macroFile
+ Parameter type  : s
+ Omittable       : False
+
+Parameter : counterName
+ Parameter type  : s
+ Omittable       : False
+
+Parameter : valueList
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /control/suppressAbortion
+Guidance :
+Suppress the program abortion caused by G4Exception.
+Suppression level = 0 : no suppression
+                  = 1 : suppress during EventProc state
+                  = 2 : full suppression, i.e. no abortion by G4Exception
+When abortion is suppressed, you will get error messages issued by G4Exception,
+and there is NO guarantee for the correct result after the G4Exception error message.
+ Range of parameters : level >= 0 && level <= 2
+
+Parameter : level
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /control/verbose
+Guidance :
+Applied command will also be shown on screen.
+This command is useful with MACRO file.
+  0 : silent
+  1 : only the valid commands are shown.
+  2 : comment lines are also shown (default).
+ Range of parameters : switch >= 0 && switch <=2
+
+Parameter : switch
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 2
+
+
+
+Command /control/saveHistory
+Guidance :
+Store command history to a file.
+Defaul file name is G4history.macro.
+
+Parameter : fileName
+ Parameter type  : s
+ Omittable       : True
+ Default value   : G4History.macro
+
+
+
+Command /control/stopSavingHistory
+Guidance :
+Stop saving history file.
+
+
+
+Command /control/alias
+Guidance :
+Set an alias.
+String can be aliased by this command.
+The string may contain one or more spaces,
+the string must be enclosed by double quotes (").
+To use an alias, enclose the alias name with
+parenthis "{" and "}".
+
+Parameter : aliasName
+ Parameter type  : s
+ Omittable       : False
+
+Parameter : aliasValue
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /control/unalias
+Guidance :
+Remove an alias.
+
+Parameter : aliasName
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /control/listAlias
+Guidance :
+List aliases.
+
+
+
+Command /control/shell
+Guidance :
+Execute a (Unix) SHELL command.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /control/manual
+Guidance :
+Display all of sub-directories and commands.
+Directory path should be given by FULL-PATH.
+
+Parameter : dirPath
+ Parameter type  : s
+ Omittable       : True
+ Default value   : /
+
+
+
+Command /control/createHTML
+Guidance :
+Generate HTML files for all of sub-directories and commands.
+Directory path should be given by FULL-PATH.
+
+Parameter : dirPath
+ Parameter type  : s
+ Omittable       : True
+ Default value   : /
+
+
+
+Command /control/maximumStoredHistory
+Guidance :
+Set maximum number of stored UI commands.
+
+Parameter : max
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 20
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/event.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/event.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/event.txt	(revision 904)
@@ -0,0 +1,65 @@
+/control/manual /event
+Command directory path : /event/
+
+
+Guidance :
+EventManager control commands.
+
+ Sub-directories : 
+   /event/stack/   Stack control commands.
+ Commands : 
+   abort * Abort current event.
+   verbose * Set Verbose level of event management category.
+
+
+Command /event/abort
+Guidance :
+Abort current event.
+
+
+
+Command /event/verbose
+Guidance :
+Set Verbose level of event management category.
+ 0 : Silent
+ 1 : Stacking information
+ 2 : More...
+ Range of parameters : level>=0
+
+Parameter : level
+ Parameter type  : i
+ Omittable       : False
+
+Command directory path : /event/stack/
+
+
+Guidance :
+Stack control commands.
+
+ Sub-directories : 
+ Commands : 
+   status * List current status of the stack.
+   clear * Clear stacked tracks.
+
+
+Command /event/stack/status
+Guidance :
+List current status of the stack.
+
+
+
+Command /event/stack/clear
+Guidance :
+Clear stacked tracks.
+ 2 : clear all tracks in all stacks
+ 1 : clear tracks in the urgent and waiting stacks
+ 0 : clear tracks in the waiting stack (default)
+-1 : clear tracks in the urgent stack
+-2 : clear tracks in the postponed stack
+ Range of parameters : level>=-2&&level<=2
+
+Parameter : level
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 0
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/geometry.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/geometry.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/geometry.txt	(revision 904)
@@ -0,0 +1,177 @@
+/control/manual /geometry
+Command directory path : /geometry/
+
+
+Guidance :
+Geometry control commands.
+
+ Sub-directories : 
+   /geometry/navigator/   Geometry navigator control setup.
+   /geometry/test/   Geometry verification control setup.
+ Commands : 
+Command directory path : /geometry/navigator/
+
+
+Guidance :
+Geometry navigator control setup.
+
+ Sub-directories : 
+ Commands : 
+   reset * Reset navigator and navigation history.
+   verbose * Set run-time verbosity for the navigator.
+
+
+Command /geometry/navigator/reset
+Guidance :
+Reset navigator and navigation history.
+NOTE: must be called only after kernel has been
+      initialized once through the run manager!
+
+
+
+Command /geometry/navigator/verbose
+Guidance :
+Set run-time verbosity for the navigator.
+ 0 : Silent (default)
+ 1 : Display positioning and relative states
+ 2 : Display step/safety info on point location
+ 3 : Display state at -every- step!
+ 4 : Maximum verbosity (very detailed!)
+NOTE: this command has effect -only- if Geant4 has
+      been installed with the G4VERBOSE flag set!
+ Range of parameters : level >=0 && level <=4
+
+Parameter : level
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 0
+
+Command directory path : /geometry/test/
+
+
+Guidance :
+Geometry verification control setup.
+Helps in detecting possible overlapping regions.
+
+ Sub-directories : 
+ Commands : 
+   tolerance * Set error tolerance value.
+   position * Set starting position.
+   direction * Set momentum direction.
+   line_test * Performs test along a single specified direction/position.
+   grid_test * Start running the default grid test.
+   recursive_test * Start running the recursive grid test.
+   cylinder_test * Start running the cylinder test.
+   run * Start running the default grid test.
+
+
+Command /geometry/test/tolerance
+Guidance :
+Set error tolerance value.
+Default: 1E-4*mm.
+
+Parameter : Tolerance
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : mm
+ Candidates      : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
+
+
+
+Command /geometry/test/position
+Guidance :
+Set starting position.
+
+Parameter : X
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : Y
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : Z
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : cm
+ Candidates      : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
+
+
+
+Command /geometry/test/direction
+Guidance :
+Set momentum direction.
+Direction needs not to be a unit vector.
+ Range of parameters : Px != 0 || Py != 0 || Pz != 0
+
+Parameter : Px
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : Py
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : Pz
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /geometry/test/line_test
+Guidance :
+Performs test along a single specified direction/position.
+Use position and direction commands to change default.
+Default: position(0,0,0), direction(0,0,1).
+
+
+
+Command /geometry/test/grid_test
+Guidance :
+Start running the default grid test.
+A grid of lines parallel to a cartesian axis is used;
+Only direct daughters of the mother volumes are checked.
+
+
+
+Command /geometry/test/recursive_test
+Guidance :
+Start running the recursive grid test.
+A grid of lines along a cartesian axis is recursively
+to all daughters and daughters of daughters, etc.
+WARNING: it may take a very long time, depending on geometry complexity !
+
+
+
+Command /geometry/test/cylinder_test
+Guidance :
+Start running the cylinder test.
+A set of lines in a cylindrical pattern of gradually
+increasing mesh size.
+
+
+
+Command /geometry/test/run
+Guidance :
+Start running the default grid test.
+Same as the grid_test command.
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/gun.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/gun.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/gun.txt	(revision 904)
@@ -0,0 +1,191 @@
+
+/control/manual /gun
+Command directory path : /gun/
+
+
+Guidance :
+Particle Gun control commands.
+
+ Sub-directories : 
+ Commands : 
+   List * List available particles.
+   particle * Set particle to be generated.
+   direction * Set momentum direction.
+   energy * Set kinetic energy.
+   position * Set starting position of the particle.
+   time * Set initial time of the particle.
+   polarization * Set polarization.
+   number * Set number of particles to be generated.
+   ion * Set properties of ion to be generated.
+
+
+Command /gun/List
+Guidance :
+List available particles.
+ Invoke G4ParticleTable.
+
+
+
+Command /gun/particle
+Guidance :
+Set particle to be generated.
+ (geantino is default)
+ (ion can be specified for shooting ions)
+
+Parameter : particleName
+ Parameter type  : s
+ Omittable       : True
+ Default value   : geantino
+ 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 
+
+
+
+Command /gun/direction
+Guidance :
+Set momentum direction.
+Direction needs not to be a unit vector.
+ Range of parameters : Px != 0 || Py != 0 || Pz != 0
+
+Parameter : Px
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : Py
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : Pz
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+
+
+Command /gun/energy
+Guidance :
+Set kinetic energy.
+
+Parameter : Energy
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : GeV
+ Candidates      : eV keV MeV GeV TeV PeV J electronvolt kiloelectronvolt megaelectronvolt gigaelectronvolt teraelectronvolt petaelectronvolt joule
+
+
+
+Command /gun/position
+Guidance :
+Set starting position of the particle.
+
+Parameter : X
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : Y
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : Z
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : cm
+ Candidates      : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
+
+
+
+Command /gun/time
+Guidance :
+Set initial time of the particle.
+
+Parameter : t0
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : ns
+ Candidates      : s ms mus ns ps second millisecond microsecond nanosecond picosecond
+
+
+
+Command /gun/polarization
+Guidance :
+Set polarization.
+ Range of parameters : Px>=-1.&&Px<=1.&&Py>=-1.&&Py<=1.&&Pz>=-1.&&Pz<=1.
+
+Parameter : Px
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : Py
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : Pz
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+
+
+Command /gun/number
+Guidance :
+Set number of particles to be generated.
+ Range of parameters : N>0
+
+Parameter : N
+ Parameter type  : i
+ Omittable       : True
+ Default value   : taken from the current value
+
+
+
+Command /gun/ion
+Guidance :
+Set properties of ion to be generated.
+[usage] /gun/ion Z A Q
+        Z:(int) AtomicNumber
+        A:(int) AtomicMass
+        Q:(int) Charge of Ion (in unit of e)
+        E:(double) Excitation energy (in keV)
+
+Parameter : Z
+ Parameter type  : i
+ Omittable       : False
+ Default value   : 1
+
+Parameter : A
+ Parameter type  : i
+ Omittable       : False
+ Default value   : 1
+
+Parameter : Q
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 0
+
+Parameter : E
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0.0
+
+Graphics systems deleted.
+Visualization Manager deleting...
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/particle.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/particle.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/particle.txt	(revision 904)
@@ -0,0 +1,222 @@
+/control/manual /particle
+Command directory path : /particle/
+
+
+Guidance :
+Particle control commands.
+
+ Sub-directories : 
+   /particle/property/   Paricle Table control commands.
+   /particle/process/   Process Manager control commands.
+ Commands : 
+   select * Select particle 
+   list * List name of particles.
+   find * Find particle by encoding
+
+
+Command /particle/select
+Guidance :
+Select particle 
+
+Parameter : particle name
+ Parameter type  : s
+ Omittable       : False
+ Default value   : none
+
+
+
+Command /particle/list
+Guidance :
+List name of particles.
+ all(default)/lepton/baryon/meson/nucleus/quarks
+
+Parameter : particle type
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+ Candidates      : all lepton baryon meson nucleus quarks
+
+
+
+Command /particle/find
+Guidance :
+Find particle by encoding
+
+Parameter : encoding
+ Parameter type  : i
+ Omittable       : False
+ Default value   : 0
+
+Command directory path : /particle/property/
+
+
+Guidance :
+Paricle Table control commands.
+
+ Sub-directories : 
+   /particle/property/decay/   Decay Table control commands.
+ Commands : 
+   dump * dump particle properties.
+   stable * Set stable flag.
+   lifetime * Set life time.
+   verbose * Set Verbose level of particle property.
+
+
+Command /particle/property/dump
+Guidance :
+dump particle properties.
+
+
+
+Command /particle/property/stable
+Guidance :
+Set stable flag.
+  false: Unstable   true: Stable
+
+Parameter : stable
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /particle/property/lifetime
+Guidance :
+Set life time.
+Unit of the time can be :
+ s, ms, ns (default)
+ Range of parameters : life >0.0
+
+Parameter : life
+ Parameter type  : d
+ Omittable       : False
+ Default value   : 0
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : ns
+ Candidates      : s ms mus ns ps second millisecond microsecond nanosecond picosecond
+
+
+
+Command /particle/property/verbose
+Guidance :
+Set Verbose level of particle property.
+ 0 : Silent (default)
+ 1 : Display warning messages
+ 2 : Display more
+ Range of parameters : verbose_level >=0
+
+Parameter : verbose_level
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 0
+
+Command directory path : /particle/property/decay/
+
+
+Guidance :
+Decay Table control commands.
+
+ Sub-directories : 
+ Commands : 
+   select * Enter index of decay mode.
+   dump * Dump decay mode information.
+   br * Set branching ratio. [0< BR <1.0]
+
+
+Command /particle/property/decay/select
+Guidance :
+Enter index of decay mode.
+ Range of parameters : mode >=0
+
+Parameter : mode
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /particle/property/decay/dump
+Guidance :
+Dump decay mode information.
+
+
+
+Command /particle/property/decay/br
+Guidance :
+Set branching ratio. [0< BR <1.0]
+ Range of parameters : (br >=0.0) && (br <=1.0)
+
+Parameter : br
+ Parameter type  : d
+ Omittable       : False
+
+Command directory path : /particle/process/
+
+
+Guidance :
+Process Manager control commands.
+
+ Sub-directories : 
+ Commands : 
+   dump * dump process manager or process information
+   verbose * Set Verbose Level for Process or Process Manager
+   activate * Activate process  
+   inactivate * Inactivate process  
+
+
+Command /particle/process/dump
+Guidance :
+dump process manager or process information
+  dump [process index]
+   process index: -1 for process manager
+
+Parameter : index
+ Parameter type  : i
+ Omittable       : True
+ Default value   : -1
+
+
+
+Command /particle/process/verbose
+Guidance :
+Set Verbose Level for Process or Process Manager
+  Verbose [Verbose] [process index]
+   process index: -1 for process manager
+
+Parameter : Verbose
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 1
+
+Parameter : index
+ Parameter type  : i
+ Omittable       : True
+ Default value   : -1
+
+
+
+Command /particle/process/activate
+Guidance :
+Activate process  
+ Activate [process index]
+ Range of parameters : index >=0
+
+Parameter : index
+ Parameter type  : i
+ Omittable       : False
+ Default value   : 0
+
+
+
+Command /particle/process/inactivate
+Guidance :
+Inactivate process  
+ inactivate [process index]
+ Range of parameters : index >=0
+
+Parameter : index
+ Parameter type  : i
+ Omittable       : False
+ Default value   : 0
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/process.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/process.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/process.txt	(revision 904)
@@ -0,0 +1,250 @@
+/control/manual /process
+Command directory path : /process/
+
+
+Guidance :
+Process Table control commands.
+
+ Sub-directories : 
+   /process/eLoss/   Commands for G4VEnergyLoss.
+ Commands : 
+   list * List up process names
+   verbose * Set Verbose Level for Process Table
+   setVerbose * Set verbose level for processes
+   dump * Dump process information
+   activate * Activate processes  
+   inactivate * Inactivate process  
+
+
+Command /process/list
+Guidance :
+List up process names
+  list [type] 
+    type: process type [all:for all proceeses]
+
+Parameter : type
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+ Candidates      : all NotDefined Transportation Electromagnetic Optical Hadronic Photolepton_hadron Decay General Parameterisation UserDefined
+
+
+
+Command /process/verbose
+Guidance :
+Set Verbose Level for Process Table
+  verbose [level]
+   level: verbose level
+ Range of parameters : verbose >=0
+
+Parameter : verbose
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /process/setVerbose
+Guidance :
+Set verbose level for processes
+  setVerbose level [type or name] 
+    level: verbose level 
+    name : process name 
+    type : process type 
+       [all] for all proceeses 
+
+Parameter : verbose
+ Parameter type  : i
+ Omittable       : False
+
+Parameter : type
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+
+
+
+Command /process/dump
+Guidance :
+Dump process information
+ dump name [particle]
+   name:     process name or type name
+   particle: particle name [all: for all particles]
+
+Parameter : procName
+ Parameter type  : s
+ Omittable       : False
+
+Parameter : particle
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+
+
+
+Command /process/activate
+Guidance :
+Activate processes  
+ Activate  name [particle]
+   name:     process name or type name
+   particle: particle name [all: for all particles]
+
+Parameter : procName
+ Parameter type  : s
+ Omittable       : False
+
+Parameter : particle
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+
+
+
+Command /process/inactivate
+Guidance :
+Inactivate process  
+Inactivate processes  
+ Inactivate  name [particle]
+   name:     process name or type name
+   particle: particle name [all: for all particles]
+
+Parameter : procName
+ Parameter type  : s
+ Omittable       : False
+
+Parameter : particle
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+
+Command directory path : /process/eLoss/
+
+
+Guidance :
+Commands for G4VEnergyLoss.
+
+ Sub-directories : 
+ Commands : 
+   rndmStep * Randomize the proposed step by eLoss.
+   fluct * Switch true/false the energy loss fluctuations.
+   subsec * Switch true/false the subcutoff generation.
+   minsubsec * Set the min. cut for subcutoff delta in range.
+   StepFunction * Set the energy loss step limitation parameters.
+   minKinEnergy * Set the min kinetic energy
+   maxKinEnergy * Set the max kinetic energy
+   integral * Switch true/false the integration of cross section over step.
+
+
+Command /process/eLoss/rndmStep
+Guidance :
+Randomize the proposed step by eLoss.
+
+Parameter : choice
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /process/eLoss/fluct
+Guidance :
+Switch true/false the energy loss fluctuations.
+
+Parameter : choice
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /process/eLoss/subsec
+Guidance :
+Switch true/false the subcutoff generation.
+
+Parameter : choice
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /process/eLoss/minsubsec
+Guidance :
+Set the min. cut for subcutoff delta in range.
+
+Parameter : rcmin
+ Parameter type  : d
+ Omittable       : True
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /process/eLoss/StepFunction
+Guidance :
+Set the energy loss step limitation parameters.
+  dRoverR   : max Range variation per step
+  finalRange: range for final step
+
+Parameter : dRoverR
+max Range variation per step (fractional number)
+ Parameter type  : d
+ Omittable       : False
+ Parameter range : dRoverR>0. && dRoverR<=1.
+
+Parameter : finalRange
+range for final step
+ Parameter type  : d
+ Omittable       : False
+ Parameter range : finalRange>0.
+
+Parameter : unit
+unit of finalRange
+ Parameter type  : s
+ Omittable       : True
+ Default value   : mm
+ Candidates      : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
+
+
+
+Command /process/eLoss/minKinEnergy
+Guidance :
+Set the min kinetic energy
+
+Parameter : emin
+ Parameter type  : d
+ Omittable       : True
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : eV keV MeV GeV TeV PeV J electronvolt kiloelectronvolt megaelectronvolt gigaelectronvolt teraelectronvolt petaelectronvolt joule
+
+
+
+Command /process/eLoss/maxKinEnergy
+Guidance :
+Set the max kinetic energy
+
+Parameter : emax
+ Parameter type  : d
+ Omittable       : True
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : eV keV MeV GeV TeV PeV J electronvolt kiloelectronvolt megaelectronvolt gigaelectronvolt teraelectronvolt petaelectronvolt joule
+
+
+
+Command /process/eLoss/integral
+Guidance :
+Switch true/false the integration of cross section over step.
+
+Parameter : integ
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 1
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/random.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/random.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/random.txt	(revision 904)
@@ -0,0 +1,64 @@
+/control/manual /random
+Command directory path : /random/
+
+
+Guidance :
+Random number status control commands.
+
+ Sub-directories : 
+ Commands : 
+   setDirectoryName * Define the directory name of the rndm status files.
+   setSavingFlag * The randomNumberStatus will be saved at :
+   saveThisRun * copy currentRun.rndm to runXXX.rndm
+   saveThisEvent * copy currentEvent.rndm to runXXXevtYYY.rndm
+   resetEngineFrom * Reset the status of the rndm engine from a file.
+
+
+Command /random/setDirectoryName
+Guidance :
+Define the directory name of the rndm status files.
+Directory must be creates before storing the files.
+
+Parameter : fileName
+ Parameter type  : s
+ Omittable       : True
+ Default value   : ./
+
+
+
+Command /random/setSavingFlag
+Guidance :
+The randomNumberStatus will be saved at :
+begining of run (currentRun.rndm) and begining of event (currentEvent.rndm) 
+
+Parameter : flag
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /random/saveThisRun
+Guidance :
+copy currentRun.rndm to runXXX.rndm
+
+
+
+Command /random/saveThisEvent
+Guidance :
+copy currentEvent.rndm to runXXXevtYYY.rndm
+
+
+
+Command /random/resetEngineFrom
+Guidance :
+Reset the status of the rndm engine from a file.
+See CLHEP manual for detail.
+The engine status must be stored beforehand.
+Directory of the status file should be set by /random/setDirectoryName.
+
+Parameter : fileName
+ Parameter type  : s
+ Omittable       : True
+ Default value   : currentRun.rndm
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/run.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/run.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/run.txt	(revision 904)
@@ -0,0 +1,411 @@
+/control/manual /run
+Command directory path : /run/
+
+
+Guidance :
+Run control commands.
+
+ Sub-directories : 
+   /run/particle/   Commands for G4VUserPhysicsList.
+ Commands : 
+   initialize * Initialize G4 kernel.
+   beamOn * Start a Run.
+   verbose * Set the Verbose level of G4RunManager.
+   dumpRegion * Dump region information.
+   dumpCouples * Dump material-cuts-couple information.
+   optimizeGeometry * Set the optimization flag for geometry.
+   breakAtBeginOfEvent * Set a break point at the begining of every event.
+   breakAtEndOfEvent * Set a break point at the end of every event.
+   abort * Abort current run processing.
+   abortCurrentEvent * Abort currently processing event.
+   geometryModified * Force geometry to be closed again.
+   cutoffModified * Force closssection tables to be calculated again.
+   randomNumberStatusDirectory * Define the directory name of the rndm status files.
+   storeRandomNumberStatus * The randomNumberStatus will be saved at :
+   restoreRandomNumberStatus * Reset the status of the rndm engine from a file.
+   setCut * Set default cut value 
+   setCutForRegion * Set cut value for a region
+
+
+Command /run/initialize
+Guidance :
+Initialize G4 kernel.
+
+
+
+Command /run/beamOn
+Guidance :
+Start a Run.
+If G4 kernel is not initialized, it will be initialized.
+Default number of events to be processed is 1.
+The second and third arguments can be used for
+executing a macro file at the end of each event.
+If the second argument, i.e. name of the macro
+file, is given but the third argument is not,
+the macro file will be executed for all of the
+event.
+If the third argument (nSelect) is given, the
+macro file will be executed only for the first
+nSelect events.
+
+Parameter : numberOfEvent
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 1
+ Parameter range : numberOfEvent >= 0
+
+Parameter : macroFile
+ Parameter type  : s
+ Omittable       : True
+ Default value   : ***NULL***
+
+Parameter : nSelect
+ Parameter type  : i
+ Omittable       : True
+ Default value   : -1
+ Parameter range : nSelect>=-1
+
+
+
+Command /run/verbose
+Guidance :
+Set the Verbose level of G4RunManager.
+ 0 : Silent (default)
+ 1 : Display main topics
+ 2 : Display main topics and run summary
+ Range of parameters : level >=0 && level <=2
+
+Parameter : level
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /run/dumpRegion
+Guidance :
+Dump region information.
+In case name of a region is not given, all regions will be displayed.
+
+Parameter : regionName
+ Parameter type  : s
+ Omittable       : True
+ Default value   : **ALL**
+
+
+
+Command /run/dumpCouples
+Guidance :
+Dump material-cuts-couple information.
+Note that material-cuts-couple information is updated
+after BeamOn has started.
+
+
+
+Command /run/optimizeGeometry
+Guidance :
+Set the optimization flag for geometry.
+If it is set to TRUE, G4GeometryManager will optimize
+the geometry definitions.
+GEANT4 is initialized with this flag as TRUE.
+
+Parameter : optimizeFlag
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /run/breakAtBeginOfEvent
+Guidance :
+Set a break point at the begining of every event.
+
+Parameter : flag
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /run/breakAtEndOfEvent
+Guidance :
+Set a break point at the end of every event.
+
+Parameter : flag
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /run/abort
+Guidance :
+Abort current run processing.
+If softAbort is false (default), currently processing event will be immediately aborted,
+while softAbort is true, abortion occurs after processing the current event.
+
+Parameter : softAbort
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /run/abortCurrentEvent
+Guidance :
+Abort currently processing event.
+
+
+
+Command /run/geometryModified
+Guidance :
+Force geometry to be closed again.
+This command must be applied
+ if geometry has been modified after the
+ first initialization (or BeamOn).
+
+
+
+Command /run/cutoffModified
+Guidance :
+Force closssection tables to be calculated again.
+This command must be applied
+ if cutoff value(s) have been modified after the
+ first initialization (or BeamOn).
+
+
+
+Command /run/randomNumberStatusDirectory
+Guidance :
+Define the directory name of the rndm status files.
+Directory must be creates before storing the files.
+
+Parameter : fileName
+ Parameter type  : s
+ Omittable       : True
+ Default value   : ./
+
+
+
+Command /run/storeRandomNumberStatus
+Guidance :
+The randomNumberStatus will be saved at :
+begining of run (currentRun.rndm) and begining of event (currentEvent.rndm) 
+
+Parameter : flag
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /run/restoreRandomNumberStatus
+Guidance :
+Reset the status of the rndm engine from a file.
+See CLHEP manual for detail.
+The engine status must be stored beforehand.
+Directory of the status file should be set by /random/setDirectoryName.
+
+Parameter : fileName
+ Parameter type  : s
+ Omittable       : True
+ Default value   : currentRun.rndm
+
+
+
+Command /run/setCut
+Guidance :
+Set default cut value 
+ Range of parameters : cut >0.0
+
+Parameter : cut
+ Parameter type  : d
+ Omittable       : False
+ Default value   : 1
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : mm
+ Candidates      : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
+
+
+
+Command /run/setCutForRegion
+Guidance :
+Set cut value for a region
+
+Parameter : Region
+ Parameter type  : s
+ Omittable       : False
+
+Parameter : cut
+ Parameter type  : d
+ Omittable       : False
+ Parameter range : cut >0.0
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : mm
+ Candidates      : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
+
+Command directory path : /run/particle/
+
+
+Guidance :
+Commands for G4VUserPhysicsList.
+
+ Sub-directories : 
+ Commands : 
+   verbose * Set the Verbose level of G4VUserPhysicsList.
+   setCut * Set default cut value 
+   dumpList * Dump List of particles in G4VUserPhysicsList. 
+   addProcManager * add process manager to specified particle type
+   buildPhysicsTable * build physics table of specified particle type
+   storePhysicsTable * Store Physics Table
+   retrievePhysicsTable * Retrieve Physics Table
+   setStoredInAscii * Switch on/off ascii mode in store/retreive Physics Table
+   applyCuts * Set applyCuts flag for a particle.
+   dumpCutValues * Dump a list of production threshold values in range and energy
+
+
+Command /run/particle/verbose
+Guidance :
+Set the Verbose level of G4VUserPhysicsList.
+ 0 : Silent (default)
+ 1 : Display warning messages
+ 2 : Display more
+ Range of parameters : level >=0 && level <=3
+
+Parameter : level
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /run/particle/setCut
+Guidance :
+Set default cut value 
+This command is equivallent to /run/setCut command.
+This command is kept for backward compatibility.
+ Range of parameters : cut >0.0
+
+Parameter : cut
+ Parameter type  : d
+ Omittable       : False
+ Default value   : 1
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : mm
+ Candidates      : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
+
+
+
+Command /run/particle/dumpList
+Guidance :
+Dump List of particles in G4VUserPhysicsList. 
+
+
+
+Command /run/particle/addProcManager
+Guidance :
+add process manager to specified particle type
+
+Parameter : particleType
+ Parameter type  : s
+ Omittable       : True
+
+
+
+Command /run/particle/buildPhysicsTable
+Guidance :
+build physics table of specified particle type
+
+Parameter : particleType
+ Parameter type  : s
+ Omittable       : True
+
+
+
+Command /run/particle/storePhysicsTable
+Guidance :
+Store Physics Table
+  Enter directory name
+
+Parameter : dirName
+ Parameter type  : s
+ Omittable       : True
+
+
+
+Command /run/particle/retrievePhysicsTable
+Guidance :
+Retrieve Physics Table
+  Enter directory name or OFF to switch off
+
+Parameter : dirName
+ Parameter type  : s
+ Omittable       : True
+
+
+
+Command /run/particle/setStoredInAscii
+Guidance :
+Switch on/off ascii mode in store/retreive Physics Table
+  Enter 0(binary) or 1(ascii)
+ Range of parameters : ascii ==0 || ascii ==1
+
+Parameter : ascii
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /run/particle/applyCuts
+Guidance :
+Set applyCuts flag for a particle.
+ Some EM processes which do not have infrared divergence
+may generate gamma, e- and/or e+ with kinetic energies
+below the production threshold. By setting this flag,
+such secondaries below threshold are eliminated and
+kinetic energies of such secondaries are accumulated
+to the energy deposition of their mother.
+ Note that 'applyCuts' makes sense only for gamma,
+e- and e+. If this command is issued for other particle,
+a warning message is displayed and the command is
+ignored.
+ If particle name is 'all', this command affects on
+gamma, e- and e+.
+
+Parameter : Flag
+ Parameter type  : s
+ Omittable       : True
+ Default value   : true
+
+Parameter : Particle
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+
+
+
+Command /run/particle/dumpCutValues
+Guidance :
+Dump a list of production threshold values in range and energy
+for all registered material-cuts-couples.
+Dumping a list takes place when you issue 'beamOn' and
+actual conversion tables from range to energy are available.
+If you want a list 'immediately', use '/run/dumpRegion' for threshold
+list given in gange only. Also, '/run/dumpCouples' gives you the
+current list if you have already issued 'run/beamOn' at least once.
+
+Parameter : particle
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/tracking.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/tracking.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/tracking.txt	(revision 904)
@@ -0,0 +1,60 @@
+/control/manual /tracking
+Command directory path : /tracking/
+
+
+Guidance :
+TrackingManager and SteppingManager control commands.
+
+ Sub-directories : 
+ Commands : 
+   abort * Abort current G4Track processing.
+   resume * Resume current G4Track processing.
+   storeTrajectory * Store trajectories or not.
+   verbose * Set Verbose level of tracking category.
+
+
+Command /tracking/abort
+Guidance :
+Abort current G4Track processing.
+
+
+
+Command /tracking/resume
+Guidance :
+Resume current G4Track processing.
+
+
+
+Command /tracking/storeTrajectory
+Guidance :
+Store trajectories or not.
+ 1 : Store trajectories.
+ 0 : Don't Store trajectories.
+ Range of parameters : Store >=0 && Store <= 1
+
+Parameter : Store
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /tracking/verbose
+Guidance :
+Set Verbose level of tracking category.
+ 0 : Silent.
+ 1 : Minium information of each Step.
+ 2 : Addition to Level=1, info of secondary particles.
+ 3 : Addition to Level=1, pre/postStepoint information
+     after all AlongStep/PostStep process executions.
+ 4 : Addition to Level=3, pre/postStepoint information
+     at each AlongStepPostStep process execuation.
+ 5 : Addition to Level=4, proposed Step length information
+     from each AlongStepPostStep process.
+ Range of parameters : verbose_level >=0  
+
+Parameter : verbose_level
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 0
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/vis.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/vis.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Control/UIcommands/vis.txt	(revision 904)
@@ -0,0 +1,2201 @@
+/control/manual /vis
+Command directory path : /vis/
+
+
+Guidance :
+Visualization commands.
+
+ Sub-directories : 
+   /vis/ASCIITree/   Commands for ASCIITree control.
+   /vis/GAGTree/   Commands for GAGTree control.
+   /vis/heprep/   Commands for HepRepXML driver (not for HepRepFile driver).
+   /vis/rayTracer/   RayTracer commands.
+   /vis/modeling/   Modeling commands.
+   /vis/scene/   Operations on Geant4 scenes.
+   /vis/sceneHandler/   Operations on Geant4 scene handlers.
+   /vis/viewer/   Operations on Geant4 viewers.
+   /vis/oglxm-viewer-0/   G4OpenGLXmViewer "viewer-0" commands.
+ Commands : 
+   enable * Enables/disables visualization system.
+   disable * Disables visualization system.
+   verbose * Simple graded message scheme - digit or string (1st character defines):
+   drawTree * (DTREE) Creates a scene consisting of this physical volume and
+  produces a representation of the geometry hieracrhy.
+   drawView * Draw view from this angle, etc.
+   drawVolume * Creates a scene consisting of this physical volume and asks the
+  current viewer to draw it.
+   open * Creates a scene handler ready for drawing.
+   specify * Draws logical volume with Boolean components, voxels and readout geometry.
+
+
+Command /vis/enable
+Guidance :
+Enables/disables visualization system.
+
+Parameter : enabled
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /vis/disable
+Guidance :
+Disables visualization system.
+
+
+
+Command /vis/verbose
+Guidance :
+Simple graded message scheme - digit or string (1st character defines):
+  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.
+
+Parameter : verbosity
+ Parameter type  : s
+ Omittable       : True
+ Default value   : warnings
+
+
+
+Command /vis/drawTree
+Guidance :
+(DTREE) Creates a scene consisting of this physical volume and
+  produces a representation of the geometry hieracrhy.
+The scene becomes current.
+
+Parameter : physical-volume-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : world
+
+Parameter : system
+ Parameter type  : s
+ Omittable       : True
+ Default value   : ATree
+
+
+
+Command /vis/drawView
+Guidance :
+Draw view from this angle, etc.
+
+Parameter : theta-degrees
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : phi-degrees
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : pan-right
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : pan-up
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : pan-unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : cm
+
+Parameter : zoom-factor
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+Parameter : dolly
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : dolly-unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : cm
+
+
+
+Command /vis/drawVolume
+Guidance :
+Creates a scene consisting of this physical volume and asks the
+  current viewer to draw it.
+The scene becomes current.
+
+Parameter : physical-volume-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : world
+
+
+
+Command /vis/open
+Guidance :
+Creates a scene handler ready for drawing.
+The scene handler becomes current (the name is auto-generated).
+
+Parameter : graphics-system-name
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : XXX ATree DAWNFILE GAGTree HepRepXML HepRepFile VRML1FILE VRML2FILE DAWN OGLIX OGLSX OGLIXm OGLSXm OIX RayTracerX VRML1 VRML2
+
+Parameter : window-size-hint
+integer (pixels) for square window placed by window manager or X-Windows-type geometry string, e.g. 600x600-100+100
+ Parameter type  : s
+ Omittable       : True
+ Default value   : 600
+
+
+
+Command /vis/specify
+Guidance :
+Draws logical volume with Boolean components, voxels and readout geometry.
+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.
+Note: voxels are not constructed until start of run - /run/beamOn.
+The scene becomes current.
+
+Parameter : logical-volume-name
+ Parameter type  : s
+ Omittable       : False
+
+Parameter : depth-of-descent
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 1
+
+Parameter : booleans-flag
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 1
+
+Parameter : voxels-flag
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 1
+
+Parameter : readout-flag
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 1
+
+Command directory path : /vis/ASCIITree/
+
+
+Guidance :
+Commands for ASCIITree control.
+
+ Sub-directories : 
+   /vis/ASCIITree/set/   Settings for ASCIITree control.
+ Commands : 
+   verbose *   <  10: - does not print daughters of repeated placements, does not repeat replicas.
+
+
+Command /vis/ASCIITree/verbose
+Guidance :
+  <  10: - does not print daughters of repeated placements, does not repeat replicas.
+  >= 10: prints all physical volumes.
+The level of detail is given by verbosity%10:
+for each volume:
+  >=  0: physical volume name.
+  >=  1: logical volume name (and names of sensitive detector and readout geometry, if any).
+  >=  2: solid name and type.
+  >=  3: volume and density.
+  >=  5: daughter-subtracted volume and mass.
+and in the summary at the end of printing:
+  >=  4: daughter-included mass of top physical volume(s) in scene to depth specified.
+Note: by default, culling is switched off so all volumes are seen.
+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:
+  /vis/open ATree
+  /vis/ASCIITree/verbose 14
+  /vis/scene/create
+  /vis/scene/add/volume <subtree-physical-volume> ! <depth>
+  /vis/sceneHandler/attach
+  /vis/viewer/flush
+
+Parameter : verbosity
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 0
+
+Command directory path : /vis/ASCIITree/set/
+
+
+Guidance :
+Settings for ASCIITree control.
+
+ Sub-directories : 
+ Commands : 
+   outFile * Set name of output file.
+
+
+Command /vis/ASCIITree/set/outFile
+Guidance :
+Set name of output file.
+
+Parameter : out-filename
+ Parameter type  : s
+ Omittable       : True
+ Default value   : G4cout
+
+Command directory path : /vis/GAGTree/
+
+
+Guidance :
+Commands for GAGTree control.
+
+ Sub-directories : 
+ Commands : 
+   verbose * /vis/GAGTree/verbose [<verbosity>]
+
+
+Command /vis/GAGTree/verbose
+Guidance :
+/vis/GAGTree/verbose [<verbosity>]
+0 (default) mimimum - 10 maximum printing.
+
+Parameter : verbosity
+ Parameter type  : i
+ Omittable       : True
+ Default value   : taken from the current value
+
+Command directory path : /vis/heprep/
+
+
+Guidance :
+Commands for HepRepXML driver.
+Note: To instead control the HepRepFile driver, use environment variables as explained in the visualization
+section of the User Guide for Application Developers.
+
+ Sub-directories : 
+ Commands : 
+   setEventNumberSuffix * Write separate event files, appended with given suffix.
+   appendGeometry * Appends copy of geometry to every event.
+   addPointAttributes * Adds point attributes to the points of trajectories.
+   useSolids * Use HepRep Solids, rather than Geant4 Primitives.
+
+
+Command /vis/heprep/setEventNumberSuffix
+Guidance :
+Write separate event files, appended with given suffix.
+Define the suffix with a pattern such as '-0000'.
+
+Parameter : suffix
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/heprep/appendGeometry
+Guidance :
+Appends copy of geometry to every event.
+
+Parameter : flag
+ Parameter type  : b
+ Omittable       : False
+ Default value   : 1
+
+
+
+Command /vis/heprep/addPointAttributes
+Guidance :
+Adds point attributes to the points of trajectories.
+
+Parameter : flag
+ Parameter type  : b
+ Omittable       : False
+ Default value   : 0
+
+
+
+Command /vis/heprep/useSolids
+Guidance :
+Use HepRep Solids, rather than Geant4 Primitives.
+
+Parameter : flag
+ Parameter type  : b
+ Omittable       : False
+ Default value   : 1
+
+Command directory path : /vis/rayTracer/
+
+
+Guidance :
+RayTracer commands.
+
+ Sub-directories : 
+ Commands : 
+   trace * Start the ray tracing.
+   column * Define the number of horizontal pixels.
+   row * Define the number of virtical pixels.
+   target * Define the center position of the target.
+   eyePosition * Define the eye position.
+   lightDirection * Define the direction of illumination light.
+   span * Define the angle per 100 pixels.
+   headAngle * Define the head direction.
+   attenuation * Define the attenuation length for transparent material.
+   distortion * Distortion effect of the fish eye lens.
+   ignoreTransparency * Ignore transparency even if the alpha of G4Colour < 1.
+   backgroundColour * Set background colour: red green blue: range 0.->1.
+
+
+Command /vis/rayTracer/trace
+Guidance :
+Start the ray tracing.
+Define the name of output JPEG file.
+
+Parameter : fileName
+ Parameter type  : s
+ Omittable       : True
+ Default value   : g4RayTracer.jpeg
+
+
+
+Command /vis/rayTracer/column
+Guidance :
+Define the number of horizontal pixels.
+ Range of parameters : nPixel > 0
+
+Parameter : nPixel
+ Parameter type  : i
+ Omittable       : False
+
+
+
+Command /vis/rayTracer/row
+Guidance :
+Define the number of virtical pixels.
+ Range of parameters : nPixel > 0
+
+Parameter : nPixel
+ Parameter type  : i
+ Omittable       : False
+
+
+
+Command /vis/rayTracer/target
+Guidance :
+Define the center position of the target.
+
+Parameter : X
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : Y
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : Z
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : m
+ Candidates      : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
+
+
+
+Command /vis/rayTracer/eyePosition
+Guidance :
+Define the eye position.
+Eye direction is calsurated from (target - eyePosition).
+
+Parameter : X
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : Y
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : Z
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : m
+ Candidates      : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
+
+
+
+Command /vis/rayTracer/lightDirection
+Guidance :
+Define the direction of illumination light.
+The vector needs not to be a unit vector, but it must not be a zero vector.
+ Range of parameters : Px != 0 || Py != 0 || Pz != 0
+
+Parameter : Px
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0.1
+
+Parameter : Py
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0.2
+
+Parameter : Pz
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0.3
+
+
+
+Command /vis/rayTracer/span
+Guidance :
+Define the angle per 100 pixels.
+ Range of parameters : span>0.
+
+Parameter : span
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 50
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : deg
+ Candidates      : rad mrad sr deg radian milliradian steradian degree
+
+
+
+Command /vis/rayTracer/headAngle
+Guidance :
+Define the head direction.
+ Range of parameters : headAngle>=0. && headAngle<360.
+
+Parameter : headAngle
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 270
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : deg
+ Candidates      : rad mrad sr deg radian milliradian steradian degree
+
+
+
+Command /vis/rayTracer/attenuation
+Guidance :
+Define the attenuation length for transparent material.
+Note that this value is independent to the attenuation length for the optical photon processes.
+ Range of parameters : Length > 0.
+
+Parameter : Length
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : m
+ Candidates      : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
+
+
+
+Command /vis/rayTracer/distortion
+Guidance :
+Distortion effect of the fish eye lens.
+
+Parameter : flag
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /vis/rayTracer/ignoreTransparency
+Guidance :
+Ignore transparency even if the alpha of G4Colour < 1.
+
+Parameter : flag
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /vis/rayTracer/backgroundColour
+Guidance :
+Set background colour: red green blue: range 0.->1.
+E.g: /vis/rayTracer/backgroundColour 0 0 0
+
+Parameter : red
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+Parameter : green
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+Parameter : blue
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+Command directory path : /vis/modeling/
+
+
+Guidance :
+Modeling commands.
+
+ Sub-directories : 
+   /vis/modeling/trajectories/   Trajectory model commands.
+ Commands : 
+Command directory path : /vis/modeling/trajectories/
+
+
+Guidance :
+Trajectory model commands.
+
+ Sub-directories : 
+   /vis/modeling/trajectories/create/   Create trajectory models and messengers.
+   /vis/modeling/trajectories/drawByCharge-0/   Commands for drawByCharge-0 model.
+   /vis/modeling/trajectories/drawByParticleID-0/   Commands for drawByParticleID-0 model.
+ Commands : 
+   list * List objects registered with list manager
+   select * Select created object
+
+
+Command /vis/modeling/trajectories/list
+Guidance :
+List objects registered with list manager
+
+Parameter : name
+ Parameter type  : s
+ Omittable       : True
+
+
+
+Command /vis/modeling/trajectories/select
+Guidance :
+Select created object
+
+Parameter : name
+ Parameter type  : s
+ Omittable       : False
+
+Command directory path : /vis/modeling/trajectories/create/
+
+
+Guidance :
+Create trajectory models and messengers.
+
+ Sub-directories : 
+ Commands : 
+   drawByCharge * Create a drawByCharge model and associated messengers.
+   drawByParticleID * Create a drawByParticleID model and associated messengers.
+
+
+Command /vis/modeling/trajectories/create/drawByCharge
+Guidance :
+Create a drawByCharge model and associated messengers.
+Generated model becomes current.
+
+Parameter : model-name
+ Parameter type  : s
+ Omittable       : True
+
+
+
+Command /vis/modeling/trajectories/create/drawByParticleID
+Guidance :
+Create a drawByParticleID model and associated messengers.
+Generated model becomes current.
+
+Parameter : model-name
+ Parameter type  : s
+ Omittable       : True
+
+Command directory path : /vis/modeling/trajectories/drawByCharge-0/
+
+
+Guidance :
+Commands for drawByCharge-0 model.
+
+ Sub-directories : 
+ Commands : 
+   set * Set trajectory colour through a string.
+   setRGBA * Set trajectory colour through red, green, blue and alpha components.
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/set
+Guidance :
+Set trajectory colour through a string.
+Two inputs are expected, for example
+/vis/modeling/trajectories/drawByCharge-0/set -1 red
+
+Parameter : parameters
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/setRGBA
+Guidance :
+Set trajectory colour through red, green, blue and alpha components.
+Five inputs are expected, for example
+/vis/modeling/trajectories/drawByCharge-0/setRGBA -1 1 1 1 1
+
+Parameter : parameters
+ Parameter type  : s
+ Omittable       : False
+
+Command directory path : /vis/modeling/trajectories/drawByParticleID-0/
+
+
+Guidance :
+Commands for drawByParticleID-0 model.
+
+ Sub-directories : 
+ Commands : 
+   set * Set trajectory colour through a string.
+   setRGBA * Set trajectory colour through red, green, blue and alpha components.
+   setDefault * Set default trajectory colour through a string.
+   setDefaultRGBA * Set default trajectory colour through red, green, blue and alpha components.
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/set
+Guidance :
+Set trajectory colour through a string.
+Two inputs are expected, for example
+/vis/modeling/trajectories/drawByParticleID-0/set gamma red
+
+Parameter : parameters
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/setRGBA
+Guidance :
+Set trajectory colour through red, green, blue and alpha components.
+Five inputs are expected, for example
+/vis/modeling/trajectories/drawByParticleID-0/setRGBA gamma 1 1 1 1
+
+Parameter : parameters
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/setDefault
+Guidance :
+Set default trajectory colour through a string.
+One input is expected, for example
+/vis/modeling/trajectories/drawByParticleID-0/setDefault red
+
+Parameter : parameters
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/setDefaultRGBA
+Guidance :
+Set default trajectory colour through red, green, blue and alpha components.
+Four inputs are expected, for example
+/vis/modeling/trajectories/drawByParticleID-0/setDefaultRGBA 1 1 1 1
+
+Parameter : parameters
+ Parameter type  : s
+ Omittable       : False
+
+Command directory path : /vis/scene/
+
+
+Guidance :
+Operations on Geant4 scenes.
+
+ Sub-directories : 
+   /vis/scene/add/   Add model to current scene.
+ Commands : 
+   create * Creates an empty scene.
+   endOfEventAction * Accumulate or refresh the viewer for each new event.
+   endOfRunAction * Accumulate or refresh the viewer for each new run.
+   list * Lists scene(s).
+   notifyHandlers * Notifies scene handlers and forces re-rendering.
+   select * Selects a scene
+
+
+Command /vis/scene/create
+Guidance :
+Creates an empty scene.
+Invents a name if not supplied.  This scene becomes current.
+
+Parameter : scene-name
+ Parameter type  : s
+ Omittable       : True
+
+
+
+Command /vis/scene/endOfEventAction
+Guidance :
+Accumulate or refresh the viewer for each new event.
+"accumulate": viewer accumulates hits, etc., event by event, or
+"refresh": viewer shows them at end of event or, for direct-screen
+  viewers, refreshes the screen just before drawing the next event.
+The detector remains or is redrawn.
+
+Parameter : action
+ Parameter type  : s
+ Omittable       : True
+ Default value   : refresh
+ Candidates      : accumulate refresh
+
+
+
+Command /vis/scene/endOfRunAction
+Guidance :
+Accumulate or refresh the viewer for each new run.
+"accumulate": viewer accumulates hits, etc., run by run, or
+"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.
+The detector remains or is redrawn.
+
+Parameter : action
+ Parameter type  : s
+ Omittable       : True
+ Default value   : refresh
+ Candidates      : accumulate refresh
+
+
+
+Command /vis/scene/list
+Guidance :
+Lists scene(s).
+"help /vis/verbose" for definition of verbosity.
+
+Parameter : scene-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+
+Parameter : verbosity
+ Parameter type  : s
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /vis/scene/notifyHandlers
+Guidance :
+Notifies scene handlers and forces re-rendering.
+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.
+The default for <scene-name> is the current scene name.
+This command does not change current scene, scene handler or viewer.
+
+Parameter : scene-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : refresh-flush
+ Parameter type  : s
+ Omittable       : True
+ Default value   : refresh
+ Candidates      : refresh flush
+
+
+
+Command /vis/scene/select
+Guidance :
+Selects a scene
+Makes the scene current.  "/vis/scene/list" to see
+ possible scene names.
+
+Parameter : scene-name
+ Parameter type  : s
+ Omittable       : False
+
+Command directory path : /vis/scene/add/
+
+
+Guidance :
+Add model to current scene.
+
+ Sub-directories : 
+ Commands : 
+   axes * Add axes.
+   ghosts * Adds ghost volumes (G4FlavoredParallelWorld) to the current scene.
+   hits * Adds hits to current scene.
+   logicalVolume * Adds a logical volume to the current scene,
+   logo * Adds a G4 logo to the current scene.
+   scale * Adds an annotated scale line to the current scene.
+   text * Adds text to current scene.
+   trajectories * Adds trajectories to current scene.
+   userAction * Add Vis User Action, if any, to current scene.
+   volume * Adds a physical volume to current scene, with optional clipping volume.
+
+
+Command /vis/scene/add/axes
+Guidance :
+Add axes.
+Draws axes at (x0, y0, z0) of given length.
+
+Parameter : x0
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : y0
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : z0
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : length
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+Parameter : unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : m
+
+
+
+Command /vis/scene/add/ghosts
+Guidance :
+Adds ghost volumes (G4FlavoredParallelWorld) to the current scene.
+Selects by particle.
+
+Parameter : particle
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+
+
+
+Command /vis/scene/add/hits
+Guidance :
+Adds hits to current scene.
+Hits are drawn at end of event when the scene in which
+they are added is current.
+
+
+
+Command /vis/scene/add/logicalVolume
+Guidance :
+Adds a logical volume to the current scene,
+Shows boolean components (if any), voxels (if any) and readout geometry
+(if any).  Note: voxels are not constructed until start of run -
+ "/run/beamOn".
+
+Parameter : logical-volume-name
+ Parameter type  : s
+ Omittable       : False
+
+Parameter : depth-of-descent
+Depth of descent of geometry hierarchy.
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 1
+
+Parameter : booleans-flag
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 1
+
+Parameter : voxels-flag
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 1
+
+Parameter : readout-flag
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /vis/scene/add/logo
+Guidance :
+Adds a G4 logo to the current scene.
+The placement, if automatic, is similar to that of scale -
+"help /vis/scene/add/scale" for more information.
+
+Parameter : height
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+Parameter : unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : m
+
+Parameter : direction
+'x', 'y' or 'z' - otherwise defaults to 'x'.
+ Parameter type  : s
+ Omittable       : True
+ Default value   : x
+
+Parameter : red
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : green
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+Parameter : blue
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : auto|manual
+Automatic placement or manual placement at (xmid,ymid,zmid).
+ Parameter type  : s
+ Omittable       : True
+ Default value   : auto
+
+Parameter : xmid
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : ymid
+
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : zmid
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : m
+
+
+
+Command /vis/scene/add/scale
+Guidance :
+Adds an annotated scale line to the current scene.
+An annotated line in the specified direction with tick marks at the
+end.  If autoPlacing is true it is required to be centred at the
+front, right, bottom corner of the world space, comfortably outside
+the existing bounding box/sphere so that existing objects do not
+obscure it.  Otherwise it is required to be drawn with mid-point at
+(xmid, ymid, zmid).
+
+The auto placing algorithm might be:
+  x = xmin + (1 + comfort) * (xmax - xmin);
+  y = ymin - comfort * (ymax - ymin);
+  z = zmin + (1 + comfort) * (zmax - zmin);
+  if direction == x then (x - length,y,z) to (x,y,z);
+  if direction == y then (x,y,z) to (x,y + length,z);
+  if direction == z then (x,y,z - length) to (x,y,z);
+
+Parameter : length
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+Parameter : unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : m
+
+Parameter : direction
+'x', 'y' or 'z' - otherwise defaults to 'x'.
+ Parameter type  : s
+ Omittable       : True
+ Default value   : x
+
+Parameter : red
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+Parameter : green
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : blue
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : auto|manual
+Automatic placement or manual placement at (xmid,ymid,zmid).
+ Parameter type  : s
+ Omittable       : True
+ Default value   : auto
+
+Parameter : xmid
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : ymid
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : zmid
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : m
+
+
+
+Command /vis/scene/add/text
+Guidance :
+Adds text to current scene.
+
+Parameter : x
+x
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : y
+y
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : z
+z
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : m
+
+Parameter : font_size
+pixels
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 12
+
+Parameter : x_offset
+pixels
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : y_offset
+pixels
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : text
+The rest of the line is text.
+ Parameter type  : s
+ Omittable       : True
+ Default value   : Hello G4
+
+
+
+Command /vis/scene/add/trajectories
+Guidance :
+Adds trajectories to current scene.
+Causes trajectories, if any, to be drawn at the end of processiing an
+event. The drawing mode is an integer that is passed to the
+DrawTrajectory method.  The default implementation in G4VTrajectory,
+if drawing-mode >= 0, draws the trajectory as a polyline (blue for
+positive, red for negative, green for neutral) and, if
+drawing-mode != 0, draws markers of screen size
+std::abs(drawing-mode)/1000 pixels at each step and auxiliary point,
+if any.  So drawing-mode = 5000 is a good choice.
+Enable storing with "/tracking/storeTrajectory 1".
+See also "/vis/scene/endOfEventAction".
+
+Parameter : drawing-mode
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /vis/scene/add/userAction
+Guidance :
+Add Vis User Action, if any, to current scene.
+Optional arguments define the extent of the callback drawing.  You may
+not need this if the extent has been defined in the original
+SetUserAction or is defined by other components of the scene.  But if
+the user action is the only component of the scene, you will certainly
+need to set the extent either in SetUserAction or here.  A scene must
+have an extent one way or another so that the viewer can calculate
+how to point the camera.
+
+Parameter : xmin
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : xmax
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : ymin
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : ymax
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : zmin
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : zmax
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : cm
+
+
+
+Command /vis/scene/add/volume
+Guidance :
+Adds a physical volume to current scene, with optional clipping volume.
+If physical-volume-name is "world" (the default), the top of the
+tracking tree is used (GetNavigatorForTracking()->GetWorldVolume()).
+Otherwise a search of the tracking tree is made, taking the first
+matching occurence only.  To see a representation of the geometry
+hierarchy of the tracking tree, try "/vis/drawTree" or one of the
+driver/browser combinations that have the required functionality,
+e.g., HepRepFile/XML with the WIRED3/4 browser.
+If clip-volume-type is specified, the subsequent parameters are used to
+to define a clipping volume.  For example,
+"vis/scene/add/volume ! ! ! box km 0 1 0 1 0 1" will draw the world
+with the positive octant cut away.
+
+Parameter : physical-volume-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : world
+
+Parameter : copy-no
+If negative, matches any copy no.  First name match is taken.
+ Parameter type  : i
+ Omittable       : True
+ Default value   : -1
+
+Parameter : depth-of-descent
+Depth of descent of geometry hierarchy. Default = unlimited depth.
+ Parameter type  : i
+ Omittable       : True
+ Default value   : -1
+
+Parameter : clip-volume-type
+For "box", the parameters are xmin,xmax,ymin,ymax,zmin,zmax. Only "box" is programmed at present.
+ Parameter type  : s
+ Omittable       : True
+ Default value   : none
+
+Parameter : parameter-unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : m
+
+Parameter : parameter-1
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : parameter-2
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : parameter-3
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : parameter-4
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : parameter-5
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : parameter-6
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Command directory path : /vis/sceneHandler/
+
+
+Guidance :
+Operations on Geant4 scene handlers.
+
+ Sub-directories : 
+ Commands : 
+   attach * Attaches scene to current scene handler.
+   create * Creates an scene handler for a specific graphics system.
+   list * Lists scene handler(s).
+   select * Selects a scene handler.
+
+
+Command /vis/sceneHandler/attach
+Guidance :
+Attaches scene to current scene handler.
+If scene-name is omitted, current scene is attached.  To see scenes and
+scene handlers, use "/vis/scene/list" and "/vis/sceneHandler/list"
+
+Parameter : scene-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : taken from the current value
+
+
+
+Command /vis/sceneHandler/create
+Guidance :
+Creates an scene handler for a specific graphics system.
+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.
+
+Parameter : graphics-system-name
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : XXX ATree DAWNFILE GAGTree HepRepXML HepRepFile VRML1FILE VRML2FILE DAWN OGLIX OGLSX OGLIXm OGLSXm OIX RayTracerX VRML1 VRML2
+
+Parameter : scene-handler-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : taken from the current value
+
+
+
+Command /vis/sceneHandler/list
+Guidance :
+Lists scene handler(s).
+"help /vis/verbose" for definition of verbosity.
+
+Parameter : scene-handler-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+
+Parameter : verbosity
+ Parameter type  : s
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /vis/sceneHandler/select
+Guidance :
+Selects a scene handler.
+Makes the scene handler current.  "/vis/sceneHandler/list" to see
+ possible scene handler names.
+
+Parameter : scene-handler-name
+ Parameter type  : s
+ Omittable       : False
+
+Command directory path : /vis/viewer/
+
+
+Guidance :
+Operations on Geant4 viewers.
+
+ Sub-directories : 
+   /vis/viewer/set/   Set view parameters of current viewer.
+ Commands : 
+   clear * Clears viewer.
+   create * Creates a viewer for the specified scene handler.
+   dolly * Incremental dolly.
+   dollyTo * Dolly to specific coordinate.
+   flush * Compound command: "/vis/viewer/refresh" + "/vis/viewer/update".
+   list * Lists viewers(s).
+   pan * Incremental pan.
+   panTo * Pan to specific coordinate.
+   rebuild * Forces rebuild of graphical database.
+   refresh * Refreshes viewer.
+   reset * Resets viewer.
+   scale * Incremental (non-uniform) scaling.
+   scaleTo * Absolute (non-uniform) scaling.
+   select * Selects viewer.
+   update * Triggers graphical database post-processing for viewers
+using that technique.
+   zoom * Incremental zoom.
+   zoomTo * Absolute zoom.
+
+
+Command /vis/viewer/clear
+Guidance :
+Clears viewer.
+By default, clears current viewer.  Specified viewer becomes current.
+"/vis/viewer/list" to see  possible viewer names.
+
+Parameter : viewer-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : taken from the current value
+
+
+
+Command /vis/viewer/create
+Guidance :
+Creates a viewer for the specified scene handler.
+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.
+
+Parameter : scene-handler
+ Parameter type  : s
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : viewer-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : window-size-hint
+integer (pixels) for square window placed by window manager or X-Windows-type geometry string, e.g. 600x600-100+100
+ Parameter type  : s
+ Omittable       : True
+ Default value   : 600
+
+
+
+Command /vis/viewer/dolly
+Guidance :
+Incremental dolly.
+Moves the camera incrementally towards target point.
+
+Parameter : increment
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : m
+ Candidates      : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
+
+
+
+Command /vis/viewer/dollyTo
+Guidance :
+Dolly to specific coordinate.
+Places the camera towards target point relative to standard camera point.
+
+Parameter : distance
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : m
+ Candidates      : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
+
+
+
+Command /vis/viewer/flush
+Guidance :
+Compound command: "/vis/viewer/refresh" + "/vis/viewer/update".
+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.
+
+Parameter : viewer-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : taken from the current value
+
+
+
+Command /vis/viewer/list
+Guidance :
+Lists viewers(s).
+See "/vis/verbose" for definition of verbosity.
+
+Parameter : viewer-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+
+Parameter : verbosity
+ Parameter type  : s
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /vis/viewer/pan
+Guidance :
+Incremental pan.
+Moves the camera incrementally right and up by these amounts (as seen
+from viewpoint direction).
+
+Parameter : right-increment
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : up-increment
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : m
+
+
+
+Command /vis/viewer/panTo
+Guidance :
+Pan to specific coordinate.
+Places the camera in this position right and up relative to standard
+target point (as seen from viewpoint direction).
+
+Parameter : right
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : up
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : m
+
+
+
+Command /vis/viewer/rebuild
+Guidance :
+Forces rebuild of graphical database.
+By default, acts on current viewer.  "/vis/viewer/list"
+to see possible viewers.  Viewer becomes current.
+
+Parameter : viewer-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : taken from the current value
+
+
+
+Command /vis/viewer/refresh
+Guidance :
+Refreshes viewer.
+By default, acts on current viewer.  "/vis/viewer/list"
+to see possible viewers.  Viewer becomes current.
+
+Parameter : viewer-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : taken from the current value
+
+
+
+Command /vis/viewer/reset
+Guidance :
+Resets viewer.
+By default, acts on current viewer.  "/vis/viewer/list"
+to see possible viewers.  Viewer becomes current.
+
+Parameter : viewer-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : taken from the current value
+
+
+
+Command /vis/viewer/scale
+Guidance :
+Incremental (non-uniform) scaling.
+Multiplies components of current scaling by components of this factor.
+ Scales (x,y,z) by corresponding components of the resulting factor.
+
+
+Parameter : x-scale-multiplier
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : y-scale-multiplier
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : z-scale-multiplier
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+
+
+Command /vis/viewer/scaleTo
+Guidance :
+Absolute (non-uniform) scaling.
+Scales (x,y,z) by corresponding components of this factor.
+
+Parameter : x-scale-factor
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : y-scale-factor
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : z-scale-factor
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+
+
+Command /vis/viewer/select
+Guidance :
+Selects viewer.
+Specify viewer by name.  "/vis/viewer/list" to see possible viewers.
+
+Parameter : viewer-name
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/viewer/update
+Guidance :
+Triggers graphical database post-processing for viewers
+using that technique.
+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.
+
+Parameter : viewer-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : taken from the current value
+
+
+
+Command /vis/viewer/zoom
+Guidance :
+Incremental zoom.
+Multiplies current magnification by this factor.
+
+Parameter : multiplier
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+
+
+Command /vis/viewer/zoomTo
+Guidance :
+Absolute zoom.
+Magnifies standard magnification by this factor.
+
+Parameter : factor
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Command directory path : /vis/viewer/set/
+
+
+Guidance :
+Set view parameters of current viewer.
+
+ Sub-directories : 
+ Commands : 
+   all * Copies view parameters.
+   autoRefresh * Sets auto-refresh.
+   auxiliaryEdge * Sets visibility of auxiliary edges
+   culling * Set culling options.
+   edge *   default: true
+   globalMarkerScale * Multiplies marker sizes by this factor.
+   hiddenEdge * Edges become hidden/seen in wireframe or surface mode.
+   hiddenMarker * If true, closer objects hide markers. Otherwise, markers always show.
+   lightsMove * Lights move with camera or with object
+   lightsThetaPhi * Set direction from target to lights.
+   lightsVector * Set direction from target to lights.
+   lineSegmentsPerCircle * Set number of sides per circle for polygon/polyhedron drawing.
+   projection * Orthogonal or perspective projection.
+   sectionPlane * Set plane for drawing section (DCUT).
+   style * Set style of drawing.
+   upThetaPhi * Set up vector.
+   upVector * Set up vector.
+   viewpointThetaPhi * Set direction from target to camera.
+   viewpointVector * Set direction from target to camera.
+   background * Set background colour and transparency (default black and opaque).
+
+
+Command /vis/viewer/set/all
+Guidance :
+Copies view parameters.
+Copies view parameters (except the autoRefresh status) from
+from-viewer to current viewer.
+
+Parameter : from-viewer-name
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/viewer/set/autoRefresh
+Guidance :
+Sets auto-refresh.
+If true, view is automatically refreshed after a change of
+view parameters.
+
+Parameter : auto-refresh
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /vis/viewer/set/auxiliaryEdge
+Guidance :
+Sets visibility of auxiliary edges
+Auxiliary edges, i.e., those that are part of a curved surface,
+sometimes called soft edges, become visible/invisible.
+
+Parameter : edge
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /vis/viewer/set/culling
+Guidance :
+Set culling options.
+"global": enables/disables all other culling options.
+"coveredDaughters": culls, i.e., eliminates, volumes that would not
+be seen because covered by ancester volumes in surface drawing mode,
+and then only if the ancesters are visible and opaque, and then only
+if no sections or cutaways are in operation.  Intended solely to
+improve the speed of rendering visible volumes.
+"invisible": culls objects with the invisible attribute set.
+"density": culls volumes with density lower than threshold.  Useful
+for eliminating "container volumes" with no physical correspondence,
+whose material is usually air.  If this is selected, provide threshold
+density and unit (g/cm3 mg/cm3 or kg/m3).
+
+Parameter : culling-option
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : global coveredDaughters invisible density
+
+Parameter : action
+ Parameter type  : b
+ Omittable       : True
+ Default value   : true
+
+Parameter : density-threshold
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0.01
+
+Parameter : unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : g/cm3
+ Candidates      : g/cm3, mg/cm3 kg/m3
+
+
+
+Command /vis/viewer/set/edge
+Guidance :
+  default: true
+Edges become visible/invisible in surface mode.
+
+Parameter : edge
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /vis/viewer/set/globalMarkerScale
+Guidance :
+Multiplies marker sizes by this factor.
+
+Parameter : scale-factorr
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /vis/viewer/set/hiddenEdge
+Guidance :
+Edges become hidden/seen in wireframe or surface mode.
+
+Parameter : hidden-edge
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /vis/viewer/set/hiddenMarker
+Guidance :
+If true, closer objects hide markers. Otherwise, markers always show.
+
+Parameter : hidden-marker
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /vis/viewer/set/lightsMove
+Guidance :
+Lights move with camera or with object
+
+Parameter : lightsMove
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : cam camera with-camera obj object with-object
+
+
+
+Command /vis/viewer/set/lightsThetaPhi
+Guidance :
+Set direction from target to lights.
+
+Parameter : theta
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 60
+
+Parameter : phi
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 45
+
+Parameter : unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : deg
+
+
+
+Command /vis/viewer/set/lightsVector
+Guidance :
+Set direction from target to lights.
+
+Parameter : x
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+Parameter : y
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+Parameter : z
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /vis/viewer/set/lineSegmentsPerCircle
+Guidance :
+Set number of sides per circle for polygon/polyhedron drawing.
+Refers to graphical representation of objects with curved lines/surfaces.
+
+Parameter : line-segments
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 24
+
+
+
+Command /vis/viewer/set/projection
+Guidance :
+Orthogonal or perspective projection.
+
+Parameter : projection
+ Parameter type  : s
+ Omittable       : True
+ Default value   : orthogonal
+ Candidates      : o orthogonal p perspective
+
+Parameter : field-half-angle
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 30
+
+Parameter : unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : deg
+
+
+
+Command /vis/viewer/set/sectionPlane
+Guidance :
+Set plane for drawing section (DCUT).
+E.g., for a y-z plane at x = 1 cm:
+"/vis/viewer/set/sectionPlane on 1 0 0 cm 1 0 0".
+To turn off: /vis/viewer/set/sectionPlane off
+
+Parameter : Selector
+ Parameter type  : c
+ Omittable       : True
+ Default value   : on
+
+Parameter : x
+Coordinate of point on the plane.
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : y
+Coordinate of point on the plane.
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : z
+Coordinate of point on the plane.
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : unit
+Unit of point on the plane.
+ Parameter type  : s
+ Omittable       : True
+ Default value   : cm
+
+Parameter : nx
+Component of plane normal.
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+Parameter : ny
+Component of plane normal.
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : nz
+Component of plane normal.
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /vis/viewer/set/style
+Guidance :
+Set style of drawing.
+(Hidden line drawing is controlled by "/vis/viewer/set/hiddenEdge".)
+
+Parameter : style
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : w wireframe s surface
+
+
+
+Command /vis/viewer/set/upThetaPhi
+Guidance :
+Set up vector.
+Viewer will attempt always to show this direction upwards.
+
+Parameter : theta
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 90
+
+Parameter : phi
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 90
+
+Parameter : unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : deg
+
+
+
+Command /vis/viewer/set/upVector
+Guidance :
+Set up vector.
+Viewer will attempt always to show this direction upwards.
+
+Parameter : x
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : y
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+Parameter : z
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /vis/viewer/set/viewpointThetaPhi
+Guidance :
+Set direction from target to camera.
+Also changes lightpoint direction if lights are set to move with camera.
+
+Parameter : theta
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 60
+
+Parameter : phi
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 45
+
+Parameter : unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : deg
+
+
+
+Command /vis/viewer/set/viewpointVector
+Guidance :
+Set direction from target to camera.
+Also changes lightpoint direction if lights are set to move with camera.
+
+Parameter : x
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+Parameter : y
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+Parameter : z
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /vis/viewer/set/background
+Guidance :
+Set background colour and transparency (default black and opaque).
+Accepts (a) RGB triplet. e.g., ".3 .4 .5", or
+(b) string such as "white", "black", "grey", "red"...
+(c) an additional number for opacity, e.g., ".3 .4 .5 .6"
+    or "grey ! ! .6" (note "!"'s for unused green and blue parameters),
+    e.g. "! ! ! 0." for a transparent background.
+
+Parameter : red_or_string
+ Parameter type  : s
+ Omittable       : True
+ Default value   : 0.
+
+Parameter : green
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : blue
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : opacity
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+Command directory path : /vis/oglxm-viewer-0/
+
+
+Guidance :
+G4OpenGLXmViewer "viewer-0" commands.
+
+ Sub-directories : 
+   /vis/oglxm-viewer-0/set/   G4OpenGLXmViewer "viewer-0" set commands.
+ Commands : 
+Command directory path : /vis/oglxm-viewer-0/set/
+
+
+Guidance :
+G4OpenGLXmViewer "viewer-0" set commands.
+
+ Sub-directories : 
+ Commands : 
+   dolly-high * Higher limit of dolly slider.
+   dolly-low * Lower limit of dolly slider.
+   pan-high * Higher limit of pan slider.
+   rotation-high * Higher limit of rotation slider.
+   zoom-high * Higher limit of zoom slider.
+   zoom-low * Lower limit of zoom slider.
+
+
+Command /vis/oglxm-viewer-0/set/dolly-high
+Guidance :
+Higher limit of dolly slider.
+
+Parameter : dolly-high
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/oglxm-viewer-0/set/dolly-low
+Guidance :
+Lower limit of dolly slider.
+
+Parameter : dolly-low
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/oglxm-viewer-0/set/pan-high
+Guidance :
+Higher limit of pan slider.
+
+Parameter : pan-high
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/oglxm-viewer-0/set/rotation-high
+Guidance :
+Higher limit of rotation slider.
+
+Parameter : rotation-high
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/oglxm-viewer-0/set/zoom-high
+Guidance :
+Higher limit of zoom slider.
+
+Parameter : zoom-high
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/oglxm-viewer-0/set/zoom-low
+Guidance :
+Lower limit of zoom slider.
+
+Parameter : zoom-low
+ Parameter type  : d
+ Omittable       : False
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aBREPSolidPCone.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aBREPSolidPCone.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aBREPSolidPCone.txt	(revision 904)
@@ -0,0 +1,1 @@
+Graphics3D[{{Polygon[{{0., 0., 5.}, {0., 0., 5.}, {1.4585, 2.0305, 5.5}, {1.7678, 1.7678, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {1.1108, 2.2397, 5.5}, {1.4585, 2.0305, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {0.73381, 2.3899, 5.5}, {1.1108, 2.2397, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {0.3375, 2.4771, 5.5}, {0.73381, 2.3899, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {-0.067698, 2.4991, 5.5}, {0.3375, 2.4771, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {-0.47111, 2.4552, 5.5}, {-0.067698, 2.4991, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {-0.86212, 2.3466, 5.5}, {-0.47111, 2.4552, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {-1.2304, 2.1763, 5.5}, {-0.86212, 2.3466, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {-1.5663, 1.9485, 5.5}, {-1.2304, 2.1763, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {-1.8609, 1.6695, 5.5}, {-1.5663, 1.9485, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {-2.1065, 1.3464, 5.5}, {-1.8609, 1.6695, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {-2.2965, 0.9879, 5.5}, {-2.1065, 1.3464, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {-2.4261, 0.60334, 5.5}, {-2.2965, 0.9879, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {-2.4918, 0.2029, 5.5}, {-2.4261, 0.60334, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {-2.4918, -0.2029, 5.5}, {-2.4918, 0.2029, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {-2.4261, -0.60334, 5.5}, {-2.4918, -0.2029, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {-2.2965, -0.9879, 5.5}, {-2.4261, -0.60334, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {-2.1065, -1.3464, 5.5}, {-2.2965, -0.9879, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {-1.8609, -1.6695, 5.5}, {-2.1065, -1.3464, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {-1.5663, -1.9485, 5.5}, {-1.8609, -1.6695, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {-1.2304, -2.1763, 5.5}, {-1.5663, -1.9485, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {-0.86212, -2.3466, 5.5}, {-1.2304, -2.1763, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {-0.47111, -2.4552, 5.5}, {-0.86212, -2.3466, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {-0.067698, -2.4991, 5.5}, {-0.47111, -2.4552, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {0.3375, -2.4771, 5.5}, {-0.067698, -2.4991, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {0.73381, -2.3899, 5.5}, {0.3375, -2.4771, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {1.1108, -2.2397, 5.5}, {0.73381, -2.3899, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {1.4585, -2.0305, 5.5}, {1.1108, -2.2397, 5.5}}], Polygon[{{0., 0., 5.}, {0., 0., 5.}, {1.7678, -1.7678, 5.5}, {1.4585, -2.0305, 5.5}}], Polygon[{{1.7678, 1.7678, 5.5}, {1.4585, 2.0305, 5.5}, {2.917, 4.0609, 6.}, {3.5355, 3.5355, 6.}}], Polygon[{{1.4585, 2.0305, 5.5}, {1.1108, 2.2397, 5.5}, {2.2216, 4.4794, 6.}, {2.917, 4.0609, 6.}}], Polygon[{{1.1108, 2.2397, 5.5}, {0.73381, 2.3899, 5.5}, {1.4676, 4.7798, 6.}, {2.2216, 4.4794, 6.}}], Polygon[{{0.73381, 2.3899, 5.5}, {0.3375, 2.4771, 5.5}, {0.675, 4.9542, 6.}, {1.4676, 4.7798, 6.}}], Polygon[{{0.3375, 2.4771, 5.5}, {-0.067698, 2.4991, 5.5}, {-0.1354, 4.9982, 6.}, {0.675, 4.9542, 6.}}], Polygon[{{-0.067698, 2.4991, 5.5}, {-0.47111, 2.4552, 5.5}, {-0.94223, 4.9104, 6.}, {-0.1354, 4.9982, 6.}}], Polygon[{{-0.47111, 2.4552, 5.5}, {-0.86212, 2.3466, 5.5}, {-1.7242, 4.6933, 6.}, {-0.94223, 4.9104, 6.}}], Polygon[{{-0.86212, 2.3466, 5.5}, {-1.2304, 2.1763, 5.5}, {-2.4608, 4.3525, 6.}, {-1.7242, 4.6933, 6.}}], Polygon[{{-1.2304, 2.1763, 5.5}, {-1.5663, 1.9485, 5.5}, {-3.1325, 3.8971, 6.}, {-2.4608, 4.3525, 6.}}], Polygon[{{-1.5663, 1.9485, 5.5}, {-1.8609, 1.6695, 5.5}, {-3.7218, 3.3389, 6.}, {-3.1325, 3.8971, 6.}}], Polygon[{{-1.8609, 1.6695, 5.5}, {-2.1065, 1.3464, 5.5}, {-4.2129, 2.6928, 6.}, {-3.7218, 3.3389, 6.}}], Polygon[{{-2.1065, 1.3464, 5.5}, {-2.2965, 0.9879, 5.5}, {-4.5931, 1.9758, 6.}, {-4.2129, 2.6928, 6.}}], Polygon[{{-2.2965, 0.9879, 5.5}, {-2.4261, 0.60334, 5.5}, {-4.8522, 1.2067, 6.}, {-4.5931, 1.9758, 6.}}], Polygon[{{-2.4261, 0.60334, 5.5}, {-2.4918, 0.2029, 5.5}, {-4.9835, 0.40579, 6.}, {-4.8522, 1.2067, 6.}}], Polygon[{{-2.4918, 0.2029, 5.5}, {-2.4918, -0.2029, 5.5}, {-4.9835, -0.40579, 6.}, {-4.9835, 0.40579, 6.}}], Polygon[{{-2.4918, -0.2029, 5.5}, {-2.4261, -0.60334, 5.5}, {-4.8522, -1.2067, 6.}, {-4.9835, -0.40579, 6.}}], Polygon[{{-2.4261, -0.60334, 5.5}, {-2.2965, -0.9879, 5.5}, {-4.5931, -1.9758, 6.}, {-4.8522, -1.2067, 6.}}], Polygon[{{-2.2965, -0.9879, 5.5}, {-2.1065, -1.3464, 5.5}, {-4.2129, -2.6928, 6.}, {-4.5931, -1.9758, 6.}}], Polygon[{{-2.1065, -1.3464, 5.5}, {-1.8609, -1.6695, 5.5}, {-3.7218, -3.3389, 6.}, {-4.2129, -2.6928, 6.}}], Polygon[{{-1.8609, -1.6695, 5.5}, {-1.5663, -1.9485, 5.5}, {-3.1325, -3.8971, 6.}, {-3.7218, -3.3389, 6.}}], Polygon[{{-1.5663, -1.9485, 5.5}, {-1.2304, -2.1763, 5.5}, {-2.4608, -4.3525, 6.}, {-3.1325, -3.8971, 6.}}], Polygon[{{-1.2304, -2.1763, 5.5}, {-0.86212, -2.3466, 5.5}, {-1.7242, -4.6933, 6.}, {-2.4608, -4.3525, 6.}}], Polygon[{{-0.86212, -2.3466, 5.5}, {-0.47111, -2.4552, 5.5}, {-0.94223, -4.9104, 6.}, {-1.7242, -4.6933, 6.}}], Polygon[{{-0.47111, -2.4552, 5.5}, {-0.067698, -2.4991, 5.5}, {-0.1354, -4.9982, 6.}, {-0.94223, -4.9104, 6.}}], Polygon[{{-0.067698, -2.4991, 5.5}, {0.3375, -2.4771, 5.5}, {0.675, -4.9542, 6.}, {-0.1354, -4.9982, 6.}}], Polygon[{{0.3375, -2.4771, 5.5}, {0.73381, -2.3899, 5.5}, {1.4676, -4.7798, 6.}, {0.675, -4.9542, 6.}}], Polygon[{{0.73381, -2.3899, 5.5}, {1.1108, -2.2397, 5.5}, {2.2216, -4.4794, 6.}, {1.4676, -4.7798, 6.}}], Polygon[{{1.1108, -2.2397, 5.5}, {1.4585, -2.0305, 5.5}, {2.917, -4.0609, 6.}, {2.2216, -4.4794, 6.}}], Polygon[{{1.4585, -2.0305, 5.5}, {1.7678, -1.7678, 5.5}, {3.5355, -3.5355, 6.}, {2.917, -4.0609, 6.}}], Polygon[{{3.5355, 3.5355, 6.}, {2.917, 4.0609, 6.}, {4.3755, 6.0914, 6.5}, {5.3033, 5.3033, 6.5}}], Polygon[{{2.917, 4.0609, 6.}, {2.2216, 4.4794, 6.}, {3.3323, 6.719, 6.5}, {4.3755, 6.0914, 6.5}}], Polygon[{{2.2216, 4.4794, 6.}, {1.4676, 4.7798, 6.}, {2.2014, 7.1696, 6.5}, {3.3323, 6.719, 6.5}}], Polygon[{{1.4676, 4.7798, 6.}, {0.675, 4.9542, 6.}, {1.0125, 7.4313, 6.5}, {2.2014, 7.1696, 6.5}}], Polygon[{{0.675, 4.9542, 6.}, {-0.1354, 4.9982, 6.}, {-0.2031, 7.4972, 6.5}, {1.0125, 7.4313, 6.5}}], Polygon[{{-0.1354, 4.9982, 6.}, {-0.94223, 4.9104, 6.}, {-1.4133, 7.3656, 6.5}, {-0.2031, 7.4972, 6.5}}], Polygon[{{-0.94223, 4.9104, 6.}, {-1.7242, 4.6933, 6.}, {-2.5863, 7.0399, 6.5}, {-1.4133, 7.3656, 6.5}}], Polygon[{{-1.7242, 4.6933, 6.}, {-2.4608, 4.3525, 6.}, {-3.6912, 6.5288, 6.5}, {-2.5863, 7.0399, 6.5}}], Polygon[{{-2.4608, 4.3525, 6.}, {-3.1325, 3.8971, 6.}, {-4.6988, 5.8456, 6.5}, {-3.6912, 6.5288, 6.5}}], Polygon[{{-3.1325, 3.8971, 6.}, {-3.7218, 3.3389, 6.}, {-5.5826, 5.0084, 6.5}, {-4.6988, 5.8456, 6.5}}], Polygon[{{-3.7218, 3.3389, 6.}, {-4.2129, 2.6928, 6.}, {-6.3194, 4.0393, 6.5}, {-5.5826, 5.0084, 6.5}}], Polygon[{{-4.2129, 2.6928, 6.}, {-4.5931, 1.9758, 6.}, {-6.8896, 2.9637, 6.5}, {-6.3194, 4.0393, 6.5}}], Polygon[{{-4.5931, 1.9758, 6.}, {-4.8522, 1.2067, 6.}, {-7.2783, 1.81, 6.5}, {-6.8896, 2.9637, 6.5}}], Polygon[{{-4.8522, 1.2067, 6.}, {-4.9835, 0.40579, 6.}, {-7.4753, 0.60869, 6.5}, {-7.2783, 1.81, 6.5}}], Polygon[{{-4.9835, 0.40579, 6.}, {-4.9835, -0.40579, 6.}, {-7.4753, -0.60869, 6.5}, {-7.4753, 0.60869, 6.5}}], Polygon[{{-4.9835, -0.40579, 6.}, {-4.8522, -1.2067, 6.}, {-7.2783, -1.81, 6.5}, {-7.4753, -0.60869, 6.5}}], Polygon[{{-4.8522, -1.2067, 6.}, {-4.5931, -1.9758, 6.}, {-6.8896, -2.9637, 6.5}, {-7.2783, -1.81, 6.5}}], Polygon[{{-4.5931, -1.9758, 6.}, {-4.2129, -2.6928, 6.}, {-6.3194, -4.0393, 6.5}, {-6.8896, -2.9637, 6.5}}], Polygon[{{-4.2129, -2.6928, 6.}, {-3.7218, -3.3389, 6.}, {-5.5826, -5.0084, 6.5}, {-6.3194, -4.0393, 6.5}}], Polygon[{{-3.7218, -3.3389, 6.}, {-3.1325, -3.8971, 6.}, {-4.6988, -5.8456, 6.5}, {-5.5826, -5.0084, 6.5}}], Polygon[{{-3.1325, -3.8971, 6.}, {-2.4608, -4.3525, 6.}, {-3.6912, -6.5288, 6.5}, {-4.6988, -5.8456, 6.5}}], Polygon[{{-2.4608, -4.3525, 6.}, {-1.7242, -4.6933, 6.}, {-2.5863, -7.0399, 6.5}, {-3.6912, -6.5288, 6.5}}], Polygon[{{-1.7242, -4.6933, 6.}, {-0.94223, -4.9104, 6.}, {-1.4133, -7.3656, 6.5}, {-2.5863, -7.0399, 6.5}}], Polygon[{{-0.94223, -4.9104, 6.}, {-0.1354, -4.9982, 6.}, {-0.2031, -7.4972, 6.5}, {-1.4133, -7.3656, 6.5}}], Polygon[{{-0.1354, -4.9982, 6.}, {0.675, -4.9542, 6.}, {1.0125, -7.4313, 6.5}, {-0.2031, -7.4972, 6.5}}], Polygon[{{0.675, -4.9542, 6.}, {1.4676, -4.7798, 6.}, {2.2014, -7.1696, 6.5}, {1.0125, -7.4313, 6.5}}], Polygon[{{1.4676, -4.7798, 6.}, {2.2216, -4.4794, 6.}, {3.3323, -6.719, 6.5}, {2.2014, -7.1696, 6.5}}], Polygon[{{2.2216, -4.4794, 6.}, {2.917, -4.0609, 6.}, {4.3755, -6.0914, 6.5}, {3.3323, -6.719, 6.5}}], Polygon[{{2.917, -4.0609, 6.}, {3.5355, -3.5355, 6.}, {5.3033, -5.3033, 6.5}, {4.3755, -6.0914, 6.5}}], Polygon[{{5.3033, 5.3033, 6.5}, {4.3755, 6.0914, 6.5}, {5.8339, 8.1219, 7.}, {7.0711, 7.0711, 7.}}], Polygon[{{4.3755, 6.0914, 6.5}, {3.3323, 6.719, 6.5}, {4.4431, 8.9587, 7.}, {5.8339, 8.1219, 7.}}], Polygon[{{3.3323, 6.719, 6.5}, {2.2014, 7.1696, 6.5}, {2.9352, 9.5595, 7.}, {4.4431, 8.9587, 7.}}], Polygon[{{2.2014, 7.1696, 6.5}, {1.0125, 7.4313, 6.5}, {1.35, 9.9085, 7.}, {2.9352, 9.5595, 7.}}], Polygon[{{1.0125, 7.4313, 6.5}, {-0.2031, 7.4972, 6.5}, {-0.27079, 9.9963, 7.}, {1.35, 9.9085, 7.}}], Polygon[{{-0.2031, 7.4972, 6.5}, {-1.4133, 7.3656, 6.5}, {-1.8845, 9.8208, 7.}, {-0.27079, 9.9963, 7.}}], Polygon[{{-1.4133, 7.3656, 6.5}, {-2.5863, 7.0399, 6.5}, {-3.4485, 9.3866, 7.}, {-1.8845, 9.8208, 7.}}], Polygon[{{-2.5863, 7.0399, 6.5}, {-3.6912, 6.5288, 6.5}, {-4.9216, 8.705, 7.}, {-3.4485, 9.3866, 7.}}], Polygon[{{-3.6912, 6.5288, 6.5}, {-4.6988, 5.8456, 6.5}, {-6.2651, 7.7941, 7.}, {-4.9216, 8.705, 7.}}], Polygon[{{-4.6988, 5.8456, 6.5}, {-5.5826, 5.0084, 6.5}, {-7.4435, 6.6779, 7.}, {-6.2651, 7.7941, 7.}}], Polygon[{{-5.5826, 5.0084, 6.5}, {-6.3194, 4.0393, 6.5}, {-8.4258, 5.3857, 7.}, {-7.4435, 6.6779, 7.}}], Polygon[{{-6.3194, 4.0393, 6.5}, {-6.8896, 2.9637, 6.5}, {-9.1861, 3.9516, 7.}, {-8.4258, 5.3857, 7.}}], Polygon[{{-6.8896, 2.9637, 6.5}, {-7.2783, 1.81, 6.5}, {-9.7044, 2.4134, 7.}, {-9.1861, 3.9516, 7.}}], Polygon[{{-7.2783, 1.81, 6.5}, {-7.4753, 0.60869, 6.5}, {-9.967, 0.81159, 7.}, {-9.7044, 2.4134, 7.}}], Polygon[{{-7.4753, 0.60869, 6.5}, {-7.4753, -0.60869, 6.5}, {-9.967, -0.81159, 7.}, {-9.967, 0.81159, 7.}}], Polygon[{{-7.4753, -0.60869, 6.5}, {-7.2783, -1.81, 6.5}, {-9.7044, -2.4134, 7.}, {-9.967, -0.81159, 7.}}], Polygon[{{-7.2783, -1.81, 6.5}, {-6.8896, -2.9637, 6.5}, {-9.1861, -3.9516, 7.}, {-9.7044, -2.4134, 7.}}], Polygon[{{-6.8896, -2.9637, 6.5}, {-6.3194, -4.0393, 6.5}, {-8.4258, -5.3857, 7.}, {-9.1861, -3.9516, 7.}}], Polygon[{{-6.3194, -4.0393, 6.5}, {-5.5826, -5.0084, 6.5}, {-7.4435, -6.6779, 7.}, {-8.4258, -5.3857, 7.}}], Polygon[{{-5.5826, -5.0084, 6.5}, {-4.6988, -5.8456, 6.5}, {-6.2651, -7.7941, 7.}, {-7.4435, -6.6779, 7.}}], Polygon[{{-4.6988, -5.8456, 6.5}, {-3.6912, -6.5288, 6.5}, {-4.9216, -8.705, 7.}, {-6.2651, -7.7941, 7.}}], Polygon[{{-3.6912, -6.5288, 6.5}, {-2.5863, -7.0399, 6.5}, {-3.4485, -9.3866, 7.}, {-4.9216, -8.705, 7.}}], Polygon[{{-2.5863, -7.0399, 6.5}, {-1.4133, -7.3656, 6.5}, {-1.8845, -9.8208, 7.}, {-3.4485, -9.3866, 7.}}], Polygon[{{-1.4133, -7.3656, 6.5}, {-0.2031, -7.4972, 6.5}, {-0.27079, -9.9963, 7.}, {-1.8845, -9.8208, 7.}}], Polygon[{{-0.2031, -7.4972, 6.5}, {1.0125, -7.4313, 6.5}, {1.35, -9.9085, 7.}, {-0.27079, -9.9963, 7.}}], Polygon[{{1.0125, -7.4313, 6.5}, {2.2014, -7.1696, 6.5}, {2.9352, -9.5595, 7.}, {1.35, -9.9085, 7.}}], Polygon[{{2.2014, -7.1696, 6.5}, {3.3323, -6.719, 6.5}, {4.4431, -8.9587, 7.}, {2.9352, -9.5595, 7.}}], Polygon[{{3.3323, -6.719, 6.5}, {4.3755, -6.0914, 6.5}, {5.8339, -8.1219, 7.}, {4.4431, -8.9587, 7.}}], Polygon[{{4.3755, -6.0914, 6.5}, {5.3033, -5.3033, 6.5}, {7.0711, -7.0711, 7.}, {5.8339, -8.1219, 7.}}]}, {Polygon[{{0., 0., 5.}, {0., 0., 5.}, {7.0711, 7.0711, 7.}, {0., 0., 7.}}]}, {Polygon[{{0., 0., 5.}, {0., 0., 5.}, {7.0711, -7.0711, 7.}, {0., 0., 7.}}]}, {Polygon[{{7.0711, 7.0711, 7.}, {5.8339, 8.1219, 7.}, {5.8339, 8.1219, 7.5}, {7.0711, 7.0711, 7.5}}], Polygon[{{5.8339, 8.1219, 7.}, {4.4431, 8.9587, 7.}, {4.4431, 8.9587, 7.5}, {5.8339, 8.1219, 7.5}}], Polygon[{{4.4431, 8.9587, 7.}, {2.9352, 9.5595, 7.}, {2.9352, 9.5595, 7.5}, {4.4431, 8.9587, 7.5}}], Polygon[{{2.9352, 9.5595, 7.}, {1.35, 9.9085, 7.}, {1.35, 9.9085, 7.5}, {2.9352, 9.5595, 7.5}}], Polygon[{{1.35, 9.9085, 7.}, {-0.27079, 9.9963, 7.}, {-0.27079, 9.9963, 7.5}, {1.35, 9.9085, 7.5}}], Polygon[{{-0.27079, 9.9963, 7.}, {-1.8845, 9.8208, 7.}, {-1.8845, 9.8208, 7.5}, {-0.27079, 9.9963, 7.5}}], Polygon[{{-1.8845, 9.8208, 7.}, {-3.4485, 9.3866, 7.}, {-3.4485, 9.3866, 7.5}, {-1.8845, 9.8208, 7.5}}], Polygon[{{-3.4485, 9.3866, 7.}, {-4.9216, 8.705, 7.}, {-4.9216, 8.705, 7.5}, {-3.4485, 9.3866, 7.5}}], Polygon[{{-4.9216, 8.705, 7.}, {-6.2651, 7.7941, 7.}, {-6.2651, 7.7941, 7.5}, {-4.9216, 8.705, 7.5}}], Polygon[{{-6.2651, 7.7941, 7.}, {-7.4435, 6.6779, 7.}, {-7.4435, 6.6779, 7.5}, {-6.2651, 7.7941, 7.5}}], Polygon[{{-7.4435, 6.6779, 7.}, {-8.4258, 5.3857, 7.}, {-8.4258, 5.3857, 7.5}, {-7.4435, 6.6779, 7.5}}], Polygon[{{-8.4258, 5.3857, 7.}, {-9.1861, 3.9516, 7.}, {-9.1861, 3.9516, 7.5}, {-8.4258, 5.3857, 7.5}}], Polygon[{{-9.1861, 3.9516, 7.}, {-9.7044, 2.4134, 7.}, {-9.7044, 2.4134, 7.5}, {-9.1861, 3.9516, 7.5}}], Polygon[{{-9.7044, 2.4134, 7.}, {-9.967, 0.81159, 7.}, {-9.967, 0.81159, 7.5}, {-9.7044, 2.4134, 7.5}}], Polygon[{{-9.967, 0.81159, 7.}, {-9.967, -0.81159, 7.}, {-9.967, -0.81159, 7.5}, {-9.967, 0.81159, 7.5}}], Polygon[{{-9.967, -0.81159, 7.}, {-9.7044, -2.4134, 7.}, {-9.7044, -2.4134, 7.5}, {-9.967, -0.81159, 7.5}}], Polygon[{{-9.7044, -2.4134, 7.}, {-9.1861, -3.9516, 7.}, {-9.1861, -3.9516, 7.5}, {-9.7044, -2.4134, 7.5}}], Polygon[{{-9.1861, -3.9516, 7.}, {-8.4258, -5.3857, 7.}, {-8.4258, -5.3857, 7.5}, {-9.1861, -3.9516, 7.5}}], Polygon[{{-8.4258, -5.3857, 7.}, {-7.4435, -6.6779, 7.}, {-7.4435, -6.6779, 7.5}, {-8.4258, -5.3857, 7.5}}], Polygon[{{-7.4435, -6.6779, 7.}, {-6.2651, -7.7941, 7.}, {-6.2651, -7.7941, 7.5}, {-7.4435, -6.6779, 7.5}}], Polygon[{{-6.2651, -7.7941, 7.}, {-4.9216, -8.705, 7.}, {-4.9216, -8.705, 7.5}, {-6.2651, -7.7941, 7.5}}], Polygon[{{-4.9216, -8.705, 7.}, {-3.4485, -9.3866, 7.}, {-3.4485, -9.3866, 7.5}, {-4.9216, -8.705, 7.5}}], Polygon[{{-3.4485, -9.3866, 7.}, {-1.8845, -9.8208, 7.}, {-1.8845, -9.8208, 7.5}, {-3.4485, -9.3866, 7.5}}], Polygon[{{-1.8845, -9.8208, 7.}, {-0.27079, -9.9963, 7.}, {-0.27079, -9.9963, 7.5}, {-1.8845, -9.8208, 7.5}}], Polygon[{{-0.27079, -9.9963, 7.}, {1.35, -9.9085, 7.}, {1.35, -9.9085, 7.5}, {-0.27079, -9.9963, 7.5}}], Polygon[{{1.35, -9.9085, 7.}, {2.9352, -9.5595, 7.}, {2.9352, -9.5595, 7.5}, {1.35, -9.9085, 7.5}}], Polygon[{{2.9352, -9.5595, 7.}, {4.4431, -8.9587, 7.}, {4.4431, -8.9587, 7.5}, {2.9352, -9.5595, 7.5}}], Polygon[{{4.4431, -8.9587, 7.}, {5.8339, -8.1219, 7.}, {5.8339, -8.1219, 7.5}, {4.4431, -8.9587, 7.5}}], Polygon[{{5.8339, -8.1219, 7.}, {7.0711, -7.0711, 7.}, {7.0711, -7.0711, 7.5}, {5.8339, -8.1219, 7.5}}], Polygon[{{7.0711, 7.0711, 7.5}, {5.8339, 8.1219, 7.5}, {5.8339, 8.1219, 8.}, {7.0711, 7.0711, 8.}}], Polygon[{{5.8339, 8.1219, 7.5}, {4.4431, 8.9587, 7.5}, {4.4431, 8.9587, 8.}, {5.8339, 8.1219, 8.}}], Polygon[{{4.4431, 8.9587, 7.5}, {2.9352, 9.5595, 7.5}, {2.9352, 9.5595, 8.}, {4.4431, 8.9587, 8.}}], Polygon[{{2.9352, 9.5595, 7.5}, {1.35, 9.9085, 7.5}, {1.35, 9.9085, 8.}, {2.9352, 9.5595, 8.}}], Polygon[{{1.35, 9.9085, 7.5}, {-0.27079, 9.9963, 7.5}, {-0.27079, 9.9963, 8.}, {1.35, 9.9085, 8.}}], Polygon[{{-0.27079, 9.9963, 7.5}, {-1.8845, 9.8208, 7.5}, {-1.8845, 9.8208, 8.}, {-0.27079, 9.9963, 8.}}], Polygon[{{-1.8845, 9.8208, 7.5}, {-3.4485, 9.3866, 7.5}, {-3.4485, 9.3866, 8.}, {-1.8845, 9.8208, 8.}}], Polygon[{{-3.4485, 9.3866, 7.5}, {-4.9216, 8.705, 7.5}, {-4.9216, 8.705, 8.}, {-3.4485, 9.3866, 8.}}], Polygon[{{-4.9216, 8.705, 7.5}, {-6.2651, 7.7941, 7.5}, {-6.2651, 7.7941, 8.}, {-4.9216, 8.705, 8.}}], Polygon[{{-6.2651, 7.7941, 7.5}, {-7.4435, 6.6779, 7.5}, {-7.4435, 6.6779, 8.}, {-6.2651, 7.7941, 8.}}], Polygon[{{-7.4435, 6.6779, 7.5}, {-8.4258, 5.3857, 7.5}, {-8.4258, 5.3857, 8.}, {-7.4435, 6.6779, 8.}}], Polygon[{{-8.4258, 5.3857, 7.5}, {-9.1861, 3.9516, 7.5}, {-9.1861, 3.9516, 8.}, {-8.4258, 5.3857, 8.}}], Polygon[{{-9.1861, 3.9516, 7.5}, {-9.7044, 2.4134, 7.5}, {-9.7044, 2.4134, 8.}, {-9.1861, 3.9516, 8.}}], Polygon[{{-9.7044, 2.4134, 7.5}, {-9.967, 0.81159, 7.5}, {-9.967, 0.81159, 8.}, {-9.7044, 2.4134, 8.}}], Polygon[{{-9.967, 0.81159, 7.5}, {-9.967, -0.81159, 7.5}, {-9.967, -0.81159, 8.}, {-9.967, 0.81159, 8.}}], Polygon[{{-9.967, -0.81159, 7.5}, {-9.7044, -2.4134, 7.5}, {-9.7044, -2.4134, 8.}, {-9.967, -0.81159, 8.}}], Polygon[{{-9.7044, -2.4134, 7.5}, {-9.1861, -3.9516, 7.5}, {-9.1861, -3.9516, 8.}, {-9.7044, -2.4134, 8.}}], Polygon[{{-9.1861, -3.9516, 7.5}, {-8.4258, -5.3857, 7.5}, {-8.4258, -5.3857, 8.}, {-9.1861, -3.9516, 8.}}], Polygon[{{-8.4258, -5.3857, 7.5}, {-7.4435, -6.6779, 7.5}, {-7.4435, -6.6779, 8.}, {-8.4258, -5.3857, 8.}}], Polygon[{{-7.4435, -6.6779, 7.5}, {-6.2651, -7.7941, 7.5}, {-6.2651, -7.7941, 8.}, {-7.4435, -6.6779, 8.}}], Polygon[{{-6.2651, -7.7941, 7.5}, {-4.9216, -8.705, 7.5}, {-4.9216, -8.705, 8.}, {-6.2651, -7.7941, 8.}}], Polygon[{{-4.9216, -8.705, 7.5}, {-3.4485, -9.3866, 7.5}, {-3.4485, -9.3866, 8.}, {-4.9216, -8.705, 8.}}], Polygon[{{-3.4485, -9.3866, 7.5}, {-1.8845, -9.8208, 7.5}, {-1.8845, -9.8208, 8.}, {-3.4485, -9.3866, 8.}}], Polygon[{{-1.8845, -9.8208, 7.5}, {-0.27079, -9.9963, 7.5}, {-0.27079, -9.9963, 8.}, {-1.8845, -9.8208, 8.}}], Polygon[{{-0.27079, -9.9963, 7.5}, {1.35, -9.9085, 7.5}, {1.35, -9.9085, 8.}, {-0.27079, -9.9963, 8.}}], Polygon[{{1.35, -9.9085, 7.5}, {2.9352, -9.5595, 7.5}, {2.9352, -9.5595, 8.}, {1.35, -9.9085, 8.}}], Polygon[{{2.9352, -9.5595, 7.5}, {4.4431, -8.9587, 7.5}, {4.4431, -8.9587, 8.}, {2.9352, -9.5595, 8.}}], Polygon[{{4.4431, -8.9587, 7.5}, {5.8339, -8.1219, 7.5}, {5.8339, -8.1219, 8.}, {4.4431, -8.9587, 8.}}], Polygon[{{5.8339, -8.1219, 7.5}, {7.0711, -7.0711, 7.5}, {7.0711, -7.0711, 8.}, {5.8339, -8.1219, 8.}}], Polygon[{{7.0711, 7.0711, 8.}, {5.8339, 8.1219, 8.}, {5.8339, 8.1219, 8.5}, {7.0711, 7.0711, 8.5}}], Polygon[{{5.8339, 8.1219, 8.}, {4.4431, 8.9587, 8.}, {4.4431, 8.9587, 8.5}, {5.8339, 8.1219, 8.5}}], Polygon[{{4.4431, 8.9587, 8.}, {2.9352, 9.5595, 8.}, {2.9352, 9.5595, 8.5}, {4.4431, 8.9587, 8.5}}], Polygon[{{2.9352, 9.5595, 8.}, {1.35, 9.9085, 8.}, {1.35, 9.9085, 8.5}, {2.9352, 9.5595, 8.5}}], Polygon[{{1.35, 9.9085, 8.}, {-0.27079, 9.9963, 8.}, {-0.27079, 9.9963, 8.5}, {1.35, 9.9085, 8.5}}], Polygon[{{-0.27079, 9.9963, 8.}, {-1.8845, 9.8208, 8.}, {-1.8845, 9.8208, 8.5}, {-0.27079, 9.9963, 8.5}}], Polygon[{{-1.8845, 9.8208, 8.}, {-3.4485, 9.3866, 8.}, {-3.4485, 9.3866, 8.5}, {-1.8845, 9.8208, 8.5}}], Polygon[{{-3.4485, 9.3866, 8.}, {-4.9216, 8.705, 8.}, {-4.9216, 8.705, 8.5}, {-3.4485, 9.3866, 8.5}}], Polygon[{{-4.9216, 8.705, 8.}, {-6.2651, 7.7941, 8.}, {-6.2651, 7.7941, 8.5}, {-4.9216, 8.705, 8.5}}], Polygon[{{-6.2651, 7.7941, 8.}, {-7.4435, 6.6779, 8.}, {-7.4435, 6.6779, 8.5}, {-6.2651, 7.7941, 8.5}}], Polygon[{{-7.4435, 6.6779, 8.}, {-8.4258, 5.3857, 8.}, {-8.4258, 5.3857, 8.5}, {-7.4435, 6.6779, 8.5}}], Polygon[{{-8.4258, 5.3857, 8.}, {-9.1861, 3.9516, 8.}, {-9.1861, 3.9516, 8.5}, {-8.4258, 5.3857, 8.5}}], Polygon[{{-9.1861, 3.9516, 8.}, {-9.7044, 2.4134, 8.}, {-9.7044, 2.4134, 8.5}, {-9.1861, 3.9516, 8.5}}], Polygon[{{-9.7044, 2.4134, 8.}, {-9.967, 0.81159, 8.}, {-9.967, 0.81159, 8.5}, {-9.7044, 2.4134, 8.5}}], Polygon[{{-9.967, 0.81159, 8.}, {-9.967, -0.81159, 8.}, {-9.967, -0.81159, 8.5}, {-9.967, 0.81159, 8.5}}], Polygon[{{-9.967, -0.81159, 8.}, {-9.7044, -2.4134, 8.}, {-9.7044, -2.4134, 8.5}, {-9.967, -0.81159, 8.5}}], Polygon[{{-9.7044, -2.4134, 8.}, {-9.1861, -3.9516, 8.}, {-9.1861, -3.9516, 8.5}, {-9.7044, -2.4134, 8.5}}], Polygon[{{-9.1861, -3.9516, 8.}, {-8.4258, -5.3857, 8.}, {-8.4258, -5.3857, 8.5}, {-9.1861, -3.9516, 8.5}}], Polygon[{{-8.4258, -5.3857, 8.}, {-7.4435, -6.6779, 8.}, {-7.4435, -6.6779, 8.5}, {-8.4258, -5.3857, 8.5}}], Polygon[{{-7.4435, -6.6779, 8.}, {-6.2651, -7.7941, 8.}, {-6.2651, -7.7941, 8.5}, {-7.4435, -6.6779, 8.5}}], Polygon[{{-6.2651, -7.7941, 8.}, {-4.9216, -8.705, 8.}, {-4.9216, -8.705, 8.5}, {-6.2651, -7.7941, 8.5}}], Polygon[{{-4.9216, -8.705, 8.}, {-3.4485, -9.3866, 8.}, {-3.4485, -9.3866, 8.5}, {-4.9216, -8.705, 8.5}}], Polygon[{{-3.4485, -9.3866, 8.}, {-1.8845, -9.8208, 8.}, {-1.8845, -9.8208, 8.5}, {-3.4485, -9.3866, 8.5}}], Polygon[{{-1.8845, -9.8208, 8.}, {-0.27079, -9.9963, 8.}, {-0.27079, -9.9963, 8.5}, {-1.8845, -9.8208, 8.5}}], Polygon[{{-0.27079, -9.9963, 8.}, {1.35, -9.9085, 8.}, {1.35, -9.9085, 8.5}, {-0.27079, -9.9963, 8.5}}], Polygon[{{1.35, -9.9085, 8.}, {2.9352, -9.5595, 8.}, {2.9352, -9.5595, 8.5}, {1.35, -9.9085, 8.5}}], Polygon[{{2.9352, -9.5595, 8.}, {4.4431, -8.9587, 8.}, {4.4431, -8.9587, 8.5}, {2.9352, -9.5595, 8.5}}], Polygon[{{4.4431, -8.9587, 8.}, {5.8339, -8.1219, 8.}, {5.8339, -8.1219, 8.5}, {4.4431, -8.9587, 8.5}}], Polygon[{{5.8339, -8.1219, 8.}, {7.0711, -7.0711, 8.}, {7.0711, -7.0711, 8.5}, {5.8339, -8.1219, 8.5}}], Polygon[{{7.0711, 7.0711, 8.5}, {5.8339, 8.1219, 8.5}, {5.8339, 8.1219, 9.}, {7.0711, 7.0711, 9.}}], Polygon[{{5.8339, 8.1219, 8.5}, {4.4431, 8.9587, 8.5}, {4.4431, 8.9587, 9.}, {5.8339, 8.1219, 9.}}], Polygon[{{4.4431, 8.9587, 8.5}, {2.9352, 9.5595, 8.5}, {2.9352, 9.5595, 9.}, {4.4431, 8.9587, 9.}}], Polygon[{{2.9352, 9.5595, 8.5}, {1.35, 9.9085, 8.5}, {1.35, 9.9085, 9.}, {2.9352, 9.5595, 9.}}], Polygon[{{1.35, 9.9085, 8.5}, {-0.27079, 9.9963, 8.5}, {-0.27079, 9.9963, 9.}, {1.35, 9.9085, 9.}}], Polygon[{{-0.27079, 9.9963, 8.5}, {-1.8845, 9.8208, 8.5}, {-1.8845, 9.8208, 9.}, {-0.27079, 9.9963, 9.}}], Polygon[{{-1.8845, 9.8208, 8.5}, {-3.4485, 9.3866, 8.5}, {-3.4485, 9.3866, 9.}, {-1.8845, 9.8208, 9.}}], Polygon[{{-3.4485, 9.3866, 8.5}, {-4.9216, 8.705, 8.5}, {-4.9216, 8.705, 9.}, {-3.4485, 9.3866, 9.}}], Polygon[{{-4.9216, 8.705, 8.5}, {-6.2651, 7.7941, 8.5}, {-6.2651, 7.7941, 9.}, {-4.9216, 8.705, 9.}}], Polygon[{{-6.2651, 7.7941, 8.5}, {-7.4435, 6.6779, 8.5}, {-7.4435, 6.6779, 9.}, {-6.2651, 7.7941, 9.}}], Polygon[{{-7.4435, 6.6779, 8.5}, {-8.4258, 5.3857, 8.5}, {-8.4258, 5.3857, 9.}, {-7.4435, 6.6779, 9.}}], Polygon[{{-8.4258, 5.3857, 8.5}, {-9.1861, 3.9516, 8.5}, {-9.1861, 3.9516, 9.}, {-8.4258, 5.3857, 9.}}], Polygon[{{-9.1861, 3.9516, 8.5}, {-9.7044, 2.4134, 8.5}, {-9.7044, 2.4134, 9.}, {-9.1861, 3.9516, 9.}}], Polygon[{{-9.7044, 2.4134, 8.5}, {-9.967, 0.81159, 8.5}, {-9.967, 0.81159, 9.}, {-9.7044, 2.4134, 9.}}], Polygon[{{-9.967, 0.81159, 8.5}, {-9.967, -0.81159, 8.5}, {-9.967, -0.81159, 9.}, {-9.967, 0.81159, 9.}}], Polygon[{{-9.967, -0.81159, 8.5}, {-9.7044, -2.4134, 8.5}, {-9.7044, -2.4134, 9.}, {-9.967, -0.81159, 9.}}], Polygon[{{-9.7044, -2.4134, 8.5}, {-9.1861, -3.9516, 8.5}, {-9.1861, -3.9516, 9.}, {-9.7044, -2.4134, 9.}}], Polygon[{{-9.1861, -3.9516, 8.5}, {-8.4258, -5.3857, 8.5}, {-8.4258, -5.3857, 9.}, {-9.1861, -3.9516, 9.}}], Polygon[{{-8.4258, -5.3857, 8.5}, {-7.4435, -6.6779, 8.5}, {-7.4435, -6.6779, 9.}, {-8.4258, -5.3857, 9.}}], Polygon[{{-7.4435, -6.6779, 8.5}, {-6.2651, -7.7941, 8.5}, {-6.2651, -7.7941, 9.}, {-7.4435, -6.6779, 9.}}], Polygon[{{-6.2651, -7.7941, 8.5}, {-4.9216, -8.705, 8.5}, {-4.9216, -8.705, 9.}, {-6.2651, -7.7941, 9.}}], Polygon[{{-4.9216, -8.705, 8.5}, {-3.4485, -9.3866, 8.5}, {-3.4485, -9.3866, 9.}, {-4.9216, -8.705, 9.}}], Polygon[{{-3.4485, -9.3866, 8.5}, {-1.8845, -9.8208, 8.5}, {-1.8845, -9.8208, 9.}, {-3.4485, -9.3866, 9.}}], Polygon[{{-1.8845, -9.8208, 8.5}, {-0.27079, -9.9963, 8.5}, {-0.27079, -9.9963, 9.}, {-1.8845, -9.8208, 9.}}], Polygon[{{-0.27079, -9.9963, 8.5}, {1.35, -9.9085, 8.5}, {1.35, -9.9085, 9.}, {-0.27079, -9.9963, 9.}}], Polygon[{{1.35, -9.9085, 8.5}, {2.9352, -9.5595, 8.5}, {2.9352, -9.5595, 9.}, {1.35, -9.9085, 9.}}], Polygon[{{2.9352, -9.5595, 8.5}, {4.4431, -8.9587, 8.5}, {4.4431, -8.9587, 9.}, {2.9352, -9.5595, 9.}}], Polygon[{{4.4431, -8.9587, 8.5}, {5.8339, -8.1219, 8.5}, {5.8339, -8.1219, 9.}, {4.4431, -8.9587, 9.}}], Polygon[{{5.8339, -8.1219, 8.5}, {7.0711, -7.0711, 8.5}, {7.0711, -7.0711, 9.}, {5.8339, -8.1219, 9.}}]}, {Polygon[{{0., 0., 7.}, {7.0711, 7.0711, 7.}, {7.0711, 7.0711, 9.}, {0., 0., 9.}}]}, {Polygon[{{0., 0., 7.}, {7.0711, -7.0711, 7.}, {7.0711, -7.0711, 9.}, {0., 0., 9.}}]}, {Polygon[{{7.0711, 7.0711, 9.}, {5.8339, 8.1219, 9.}, {5.1047, 7.1067, 9.5}, {6.1872, 6.1872, 9.5}}], Polygon[{{5.8339, 8.1219, 9.}, {4.4431, 8.9587, 9.}, {3.8877, 7.8389, 9.5}, {5.1047, 7.1067, 9.5}}], Polygon[{{4.4431, 8.9587, 9.}, {2.9352, 9.5595, 9.}, {2.5683, 8.3646, 9.5}, {3.8877, 7.8389, 9.5}}], Polygon[{{2.9352, 9.5595, 9.}, {1.35, 9.9085, 9.}, {1.1813, 8.6699, 9.5}, {2.5683, 8.3646, 9.5}}], Polygon[{{1.35, 9.9085, 9.}, {-0.27079, 9.9963, 9.}, {-0.23694, 8.7468, 9.5}, {1.1813, 8.6699, 9.5}}], Polygon[{{-0.27079, 9.9963, 9.}, {-1.8845, 9.8208, 9.}, {-1.6489, 8.5932, 9.5}, {-0.23694, 8.7468, 9.5}}], Polygon[{{-1.8845, 9.8208, 9.}, {-3.4485, 9.3866, 9.}, {-3.0174, 8.2133, 9.5}, {-1.6489, 8.5932, 9.5}}], Polygon[{{-3.4485, 9.3866, 9.}, {-4.9216, 8.705, 9.}, {-4.3064, 7.6169, 9.5}, {-3.0174, 8.2133, 9.5}}], Polygon[{{-4.9216, 8.705, 9.}, {-6.2651, 7.7941, 9.}, {-5.482, 6.8199, 9.5}, {-4.3064, 7.6169, 9.5}}], Polygon[{{-6.2651, 7.7941, 9.}, {-7.4435, 6.6779, 9.}, {-6.5131, 5.8431, 9.5}, {-5.482, 6.8199, 9.5}}], Polygon[{{-7.4435, 6.6779, 9.}, {-8.4258, 5.3857, 9.}, {-7.3726, 4.7125, 9.5}, {-6.5131, 5.8431, 9.5}}], Polygon[{{-8.4258, 5.3857, 9.}, {-9.1861, 3.9516, 9.}, {-8.0379, 3.4576, 9.5}, {-7.3726, 4.7125, 9.5}}], Polygon[{{-9.1861, 3.9516, 9.}, {-9.7044, 2.4134, 9.}, {-8.4914, 2.1117, 9.5}, {-8.0379, 3.4576, 9.5}}], Polygon[{{-9.7044, 2.4134, 9.}, {-9.967, 0.81159, 9.}, {-8.7211, 0.71014, 9.5}, {-8.4914, 2.1117, 9.5}}], Polygon[{{-9.967, 0.81159, 9.}, {-9.967, -0.81159, 9.}, {-8.7211, -0.71014, 9.5}, {-8.7211, 0.71014, 9.5}}], Polygon[{{-9.967, -0.81159, 9.}, {-9.7044, -2.4134, 9.}, {-8.4914, -2.1117, 9.5}, {-8.7211, -0.71014, 9.5}}], Polygon[{{-9.7044, -2.4134, 9.}, {-9.1861, -3.9516, 9.}, {-8.0379, -3.4576, 9.5}, {-8.4914, -2.1117, 9.5}}], Polygon[{{-9.1861, -3.9516, 9.}, {-8.4258, -5.3857, 9.}, {-7.3726, -4.7125, 9.5}, {-8.0379, -3.4576, 9.5}}], Polygon[{{-8.4258, -5.3857, 9.}, {-7.4435, -6.6779, 9.}, {-6.5131, -5.8431, 9.5}, {-7.3726, -4.7125, 9.5}}], Polygon[{{-7.4435, -6.6779, 9.}, {-6.2651, -7.7941, 9.}, {-5.482, -6.8199, 9.5}, {-6.5131, -5.8431, 9.5}}], Polygon[{{-6.2651, -7.7941, 9.}, {-4.9216, -8.705, 9.}, {-4.3064, -7.6169, 9.5}, {-5.482, -6.8199, 9.5}}], Polygon[{{-4.9216, -8.705, 9.}, {-3.4485, -9.3866, 9.}, {-3.0174, -8.2133, 9.5}, {-4.3064, -7.6169, 9.5}}], Polygon[{{-3.4485, -9.3866, 9.}, {-1.8845, -9.8208, 9.}, {-1.6489, -8.5932, 9.5}, {-3.0174, -8.2133, 9.5}}], Polygon[{{-1.8845, -9.8208, 9.}, {-0.27079, -9.9963, 9.}, {-0.23694, -8.7468, 9.5}, {-1.6489, -8.5932, 9.5}}], Polygon[{{-0.27079, -9.9963, 9.}, {1.35, -9.9085, 9.}, {1.1813, -8.6699, 9.5}, {-0.23694, -8.7468, 9.5}}], Polygon[{{1.35, -9.9085, 9.}, {2.9352, -9.5595, 9.}, {2.5683, -8.3646, 9.5}, {1.1813, -8.6699, 9.5}}], Polygon[{{2.9352, -9.5595, 9.}, {4.4431, -8.9587, 9.}, {3.8877, -7.8389, 9.5}, {2.5683, -8.3646, 9.5}}], Polygon[{{4.4431, -8.9587, 9.}, {5.8339, -8.1219, 9.}, {5.1047, -7.1067, 9.5}, {3.8877, -7.8389, 9.5}}], Polygon[{{5.8339, -8.1219, 9.}, {7.0711, -7.0711, 9.}, {6.1872, -6.1872, 9.5}, {5.1047, -7.1067, 9.5}}], Polygon[{{6.1872, 6.1872, 9.5}, {5.1047, 7.1067, 9.5}, {4.3755, 6.0914, 10.}, {5.3033, 5.3033, 10.}}], Polygon[{{5.1047, 7.1067, 9.5}, {3.8877, 7.8389, 9.5}, {3.3323, 6.719, 10.}, {4.3755, 6.0914, 10.}}], Polygon[{{3.8877, 7.8389, 9.5}, {2.5683, 8.3646, 9.5}, {2.2014, 7.1696, 10.}, {3.3323, 6.719, 10.}}], Polygon[{{2.5683, 8.3646, 9.5}, {1.1813, 8.6699, 9.5}, {1.0125, 7.4313, 10.}, {2.2014, 7.1696, 10.}}], Polygon[{{1.1813, 8.6699, 9.5}, {-0.23694, 8.7468, 9.5}, {-0.2031, 7.4972, 10.}, {1.0125, 7.4313, 10.}}], Polygon[{{-0.23694, 8.7468, 9.5}, {-1.6489, 8.5932, 9.5}, {-1.4133, 7.3656, 10.}, {-0.2031, 7.4972, 10.}}], Polygon[{{-1.6489, 8.5932, 9.5}, {-3.0174, 8.2133, 9.5}, {-2.5863, 7.0399, 10.}, {-1.4133, 7.3656, 10.}}], Polygon[{{-3.0174, 8.2133, 9.5}, {-4.3064, 7.6169, 9.5}, {-3.6912, 6.5288, 10.}, {-2.5863, 7.0399, 10.}}], Polygon[{{-4.3064, 7.6169, 9.5}, {-5.482, 6.8199, 9.5}, {-4.6988, 5.8456, 10.}, {-3.6912, 6.5288, 10.}}], Polygon[{{-5.482, 6.8199, 9.5}, {-6.5131, 5.8431, 9.5}, {-5.5826, 5.0084, 10.}, {-4.6988, 5.8456, 10.}}], Polygon[{{-6.5131, 5.8431, 9.5}, {-7.3726, 4.7125, 9.5}, {-6.3194, 4.0393, 10.}, {-5.5826, 5.0084, 10.}}], Polygon[{{-7.3726, 4.7125, 9.5}, {-8.0379, 3.4576, 9.5}, {-6.8896, 2.9637, 10.}, {-6.3194, 4.0393, 10.}}], Polygon[{{-8.0379, 3.4576, 9.5}, {-8.4914, 2.1117, 9.5}, {-7.2783, 1.81, 10.}, {-6.8896, 2.9637, 10.}}], Polygon[{{-8.4914, 2.1117, 9.5}, {-8.7211, 0.71014, 9.5}, {-7.4753, 0.60869, 10.}, {-7.2783, 1.81, 10.}}], Polygon[{{-8.7211, 0.71014, 9.5}, {-8.7211, -0.71014, 9.5}, {-7.4753, -0.60869, 10.}, {-7.4753, 0.60869, 10.}}], Polygon[{{-8.7211, -0.71014, 9.5}, {-8.4914, -2.1117, 9.5}, {-7.2783, -1.81, 10.}, {-7.4753, -0.60869, 10.}}], Polygon[{{-8.4914, -2.1117, 9.5}, {-8.0379, -3.4576, 9.5}, {-6.8896, -2.9637, 10.}, {-7.2783, -1.81, 10.}}], Polygon[{{-8.0379, -3.4576, 9.5}, {-7.3726, -4.7125, 9.5}, {-6.3194, -4.0393, 10.}, {-6.8896, -2.9637, 10.}}], Polygon[{{-7.3726, -4.7125, 9.5}, {-6.5131, -5.8431, 9.5}, {-5.5826, -5.0084, 10.}, {-6.3194, -4.0393, 10.}}], Polygon[{{-6.5131, -5.8431, 9.5}, {-5.482, -6.8199, 9.5}, {-4.6988, -5.8456, 10.}, {-5.5826, -5.0084, 10.}}], Polygon[{{-5.482, -6.8199, 9.5}, {-4.3064, -7.6169, 9.5}, {-3.6912, -6.5288, 10.}, {-4.6988, -5.8456, 10.}}], Polygon[{{-4.3064, -7.6169, 9.5}, {-3.0174, -8.2133, 9.5}, {-2.5863, -7.0399, 10.}, {-3.6912, -6.5288, 10.}}], Polygon[{{-3.0174, -8.2133, 9.5}, {-1.6489, -8.5932, 9.5}, {-1.4133, -7.3656, 10.}, {-2.5863, -7.0399, 10.}}], Polygon[{{-1.6489, -8.5932, 9.5}, {-0.23694, -8.7468, 9.5}, {-0.2031, -7.4972, 10.}, {-1.4133, -7.3656, 10.}}], Polygon[{{-0.23694, -8.7468, 9.5}, {1.1813, -8.6699, 9.5}, {1.0125, -7.4313, 10.}, {-0.2031, -7.4972, 10.}}], Polygon[{{1.1813, -8.6699, 9.5}, {2.5683, -8.3646, 9.5}, {2.2014, -7.1696, 10.}, {1.0125, -7.4313, 10.}}], Polygon[{{2.5683, -8.3646, 9.5}, {3.8877, -7.8389, 9.5}, {3.3323, -6.719, 10.}, {2.2014, -7.1696, 10.}}], Polygon[{{3.8877, -7.8389, 9.5}, {5.1047, -7.1067, 9.5}, {4.3755, -6.0914, 10.}, {3.3323, -6.719, 10.}}], Polygon[{{5.1047, -7.1067, 9.5}, {6.1872, -6.1872, 9.5}, {5.3033, -5.3033, 10.}, {4.3755, -6.0914, 10.}}], Polygon[{{5.3033, 5.3033, 10.}, {4.3755, 6.0914, 10.}, {3.6462, 5.0762, 10.5}, {4.4194, 4.4194, 10.5}}], Polygon[{{4.3755, 6.0914, 10.}, {3.3323, 6.719, 10.}, {2.7769, 5.5992, 10.5}, {3.6462, 5.0762, 10.5}}], Polygon[{{3.3323, 6.719, 10.}, {2.2014, 7.1696, 10.}, {1.8345, 5.9747, 10.5}, {2.7769, 5.5992, 10.5}}], Polygon[{{2.2014, 7.1696, 10.}, {1.0125, 7.4313, 10.}, {0.84375, 6.1928, 10.5}, {1.8345, 5.9747, 10.5}}], Polygon[{{1.0125, 7.4313, 10.}, {-0.2031, 7.4972, 10.}, {-0.16925, 6.2477, 10.5}, {0.84375, 6.1928, 10.5}}], Polygon[{{-0.2031, 7.4972, 10.}, {-1.4133, 7.3656, 10.}, {-1.1778, 6.138, 10.5}, {-0.16925, 6.2477, 10.5}}], Polygon[{{-1.4133, 7.3656, 10.}, {-2.5863, 7.0399, 10.}, {-2.1553, 5.8666, 10.5}, {-1.1778, 6.138, 10.5}}], Polygon[{{-2.5863, 7.0399, 10.}, {-3.6912, 6.5288, 10.}, {-3.076, 5.4406, 10.5}, {-2.1553, 5.8666, 10.5}}], Polygon[{{-3.6912, 6.5288, 10.}, {-4.6988, 5.8456, 10.}, {-3.9157, 4.8713, 10.5}, {-3.076, 5.4406, 10.5}}], Polygon[{{-4.6988, 5.8456, 10.}, {-5.5826, 5.0084, 10.}, {-4.6522, 4.1737, 10.5}, {-3.9157, 4.8713, 10.5}}], Polygon[{{-5.5826, 5.0084, 10.}, {-6.3194, 4.0393, 10.}, {-5.2661, 3.366, 10.5}, {-4.6522, 4.1737, 10.5}}], Polygon[{{-6.3194, 4.0393, 10.}, {-6.8896, 2.9637, 10.}, {-5.7413, 2.4697, 10.5}, {-5.2661, 3.366, 10.5}}], Polygon[{{-6.8896, 2.9637, 10.}, {-7.2783, 1.81, 10.}, {-6.0653, 1.5084, 10.5}, {-5.7413, 2.4697, 10.5}}], Polygon[{{-7.2783, 1.81, 10.}, {-7.4753, 0.60869, 10.}, {-6.2294, 0.50724, 10.5}, {-6.0653, 1.5084, 10.5}}], Polygon[{{-7.4753, 0.60869, 10.}, {-7.4753, -0.60869, 10.}, {-6.2294, -0.50724, 10.5}, {-6.2294, 0.50724, 10.5}}], Polygon[{{-7.4753, -0.60869, 10.}, {-7.2783, -1.81, 10.}, {-6.0653, -1.5084, 10.5}, {-6.2294, -0.50724, 10.5}}], Polygon[{{-7.2783, -1.81, 10.}, {-6.8896, -2.9637, 10.}, {-5.7413, -2.4697, 10.5}, {-6.0653, -1.5084, 10.5}}], Polygon[{{-6.8896, -2.9637, 10.}, {-6.3194, -4.0393, 10.}, {-5.2661, -3.366, 10.5}, {-5.7413, -2.4697, 10.5}}], Polygon[{{-6.3194, -4.0393, 10.}, {-5.5826, -5.0084, 10.}, {-4.6522, -4.1737, 10.5}, {-5.2661, -3.366, 10.5}}], Polygon[{{-5.5826, -5.0084, 10.}, {-4.6988, -5.8456, 10.}, {-3.9157, -4.8713, 10.5}, {-4.6522, -4.1737, 10.5}}], Polygon[{{-4.6988, -5.8456, 10.}, {-3.6912, -6.5288, 10.}, {-3.076, -5.4406, 10.5}, {-3.9157, -4.8713, 10.5}}], Polygon[{{-3.6912, -6.5288, 10.}, {-2.5863, -7.0399, 10.}, {-2.1553, -5.8666, 10.5}, {-3.076, -5.4406, 10.5}}], Polygon[{{-2.5863, -7.0399, 10.}, {-1.4133, -7.3656, 10.}, {-1.1778, -6.138, 10.5}, {-2.1553, -5.8666, 10.5}}], Polygon[{{-1.4133, -7.3656, 10.}, {-0.2031, -7.4972, 10.}, {-0.16925, -6.2477, 10.5}, {-1.1778, -6.138, 10.5}}], Polygon[{{-0.2031, -7.4972, 10.}, {1.0125, -7.4313, 10.}, {0.84375, -6.1928, 10.5}, {-0.16925, -6.2477, 10.5}}], Polygon[{{1.0125, -7.4313, 10.}, {2.2014, -7.1696, 10.}, {1.8345, -5.9747, 10.5}, {0.84375, -6.1928, 10.5}}], Polygon[{{2.2014, -7.1696, 10.}, {3.3323, -6.719, 10.}, {2.7769, -5.5992, 10.5}, {1.8345, -5.9747, 10.5}}], Polygon[{{3.3323, -6.719, 10.}, {4.3755, -6.0914, 10.}, {3.6462, -5.0762, 10.5}, {2.7769, -5.5992, 10.5}}], Polygon[{{4.3755, -6.0914, 10.}, {5.3033, -5.3033, 10.}, {4.4194, -4.4194, 10.5}, {3.6462, -5.0762, 10.5}}], Polygon[{{4.4194, 4.4194, 10.5}, {3.6462, 5.0762, 10.5}, {2.917, 4.0609, 11.}, {3.5355, 3.5355, 11.}}], Polygon[{{3.6462, 5.0762, 10.5}, {2.7769, 5.5992, 10.5}, {2.2216, 4.4794, 11.}, {2.917, 4.0609, 11.}}], Polygon[{{2.7769, 5.5992, 10.5}, {1.8345, 5.9747, 10.5}, {1.4676, 4.7798, 11.}, {2.2216, 4.4794, 11.}}], Polygon[{{1.8345, 5.9747, 10.5}, {0.84375, 6.1928, 10.5}, {0.675, 4.9542, 11.}, {1.4676, 4.7798, 11.}}], Polygon[{{0.84375, 6.1928, 10.5}, {-0.16925, 6.2477, 10.5}, {-0.1354, 4.9982, 11.}, {0.675, 4.9542, 11.}}], Polygon[{{-0.16925, 6.2477, 10.5}, {-1.1778, 6.138, 10.5}, {-0.94223, 4.9104, 11.}, {-0.1354, 4.9982, 11.}}], Polygon[{{-1.1778, 6.138, 10.5}, {-2.1553, 5.8666, 10.5}, {-1.7242, 4.6933, 11.}, {-0.94223, 4.9104, 11.}}], Polygon[{{-2.1553, 5.8666, 10.5}, {-3.076, 5.4406, 10.5}, {-2.4608, 4.3525, 11.}, {-1.7242, 4.6933, 11.}}], Polygon[{{-3.076, 5.4406, 10.5}, {-3.9157, 4.8713, 10.5}, {-3.1325, 3.8971, 11.}, {-2.4608, 4.3525, 11.}}], Polygon[{{-3.9157, 4.8713, 10.5}, {-4.6522, 4.1737, 10.5}, {-3.7218, 3.3389, 11.}, {-3.1325, 3.8971, 11.}}], Polygon[{{-4.6522, 4.1737, 10.5}, {-5.2661, 3.366, 10.5}, {-4.2129, 2.6928, 11.}, {-3.7218, 3.3389, 11.}}], Polygon[{{-5.2661, 3.366, 10.5}, {-5.7413, 2.4697, 10.5}, {-4.5931, 1.9758, 11.}, {-4.2129, 2.6928, 11.}}], Polygon[{{-5.7413, 2.4697, 10.5}, {-6.0653, 1.5084, 10.5}, {-4.8522, 1.2067, 11.}, {-4.5931, 1.9758, 11.}}], Polygon[{{-6.0653, 1.5084, 10.5}, {-6.2294, 0.50724, 10.5}, {-4.9835, 0.40579, 11.}, {-4.8522, 1.2067, 11.}}], Polygon[{{-6.2294, 0.50724, 10.5}, {-6.2294, -0.50724, 10.5}, {-4.9835, -0.40579, 11.}, {-4.9835, 0.40579, 11.}}], Polygon[{{-6.2294, -0.50724, 10.5}, {-6.0653, -1.5084, 10.5}, {-4.8522, -1.2067, 11.}, {-4.9835, -0.40579, 11.}}], Polygon[{{-6.0653, -1.5084, 10.5}, {-5.7413, -2.4697, 10.5}, {-4.5931, -1.9758, 11.}, {-4.8522, -1.2067, 11.}}], Polygon[{{-5.7413, -2.4697, 10.5}, {-5.2661, -3.366, 10.5}, {-4.2129, -2.6928, 11.}, {-4.5931, -1.9758, 11.}}], Polygon[{{-5.2661, -3.366, 10.5}, {-4.6522, -4.1737, 10.5}, {-3.7218, -3.3389, 11.}, {-4.2129, -2.6928, 11.}}], Polygon[{{-4.6522, -4.1737, 10.5}, {-3.9157, -4.8713, 10.5}, {-3.1325, -3.8971, 11.}, {-3.7218, -3.3389, 11.}}], Polygon[{{-3.9157, -4.8713, 10.5}, {-3.076, -5.4406, 10.5}, {-2.4608, -4.3525, 11.}, {-3.1325, -3.8971, 11.}}], Polygon[{{-3.076, -5.4406, 10.5}, {-2.1553, -5.8666, 10.5}, {-1.7242, -4.6933, 11.}, {-2.4608, -4.3525, 11.}}], Polygon[{{-2.1553, -5.8666, 10.5}, {-1.1778, -6.138, 10.5}, {-0.94223, -4.9104, 11.}, {-1.7242, -4.6933, 11.}}], Polygon[{{-1.1778, -6.138, 10.5}, {-0.16925, -6.2477, 10.5}, {-0.1354, -4.9982, 11.}, {-0.94223, -4.9104, 11.}}], Polygon[{{-0.16925, -6.2477, 10.5}, {0.84375, -6.1928, 10.5}, {0.675, -4.9542, 11.}, {-0.1354, -4.9982, 11.}}], Polygon[{{0.84375, -6.1928, 10.5}, {1.8345, -5.9747, 10.5}, {1.4676, -4.7798, 11.}, {0.675, -4.9542, 11.}}], Polygon[{{1.8345, -5.9747, 10.5}, {2.7769, -5.5992, 10.5}, {2.2216, -4.4794, 11.}, {1.4676, -4.7798, 11.}}], Polygon[{{2.7769, -5.5992, 10.5}, {3.6462, -5.0762, 10.5}, {2.917, -4.0609, 11.}, {2.2216, -4.4794, 11.}}], Polygon[{{3.6462, -5.0762, 10.5}, {4.4194, -4.4194, 10.5}, {3.5355, -3.5355, 11.}, {2.917, -4.0609, 11.}}]}, {Polygon[{{0., 0., 9.}, {7.0711, 7.0711, 9.}, {3.5355, 3.5355, 11.}, {0., 0., 11.}}]}, {Polygon[{{0., 0., 9.}, {7.0711, -7.0711, 9.}, {3.5355, -3.5355, 11.}, {0., 0., 11.}}]}, {Polygon[{{3.5355, 3.5355, 11.}, {2.917, 4.0609, 11.}, {2.917, 4.0609, 14.5}, {3.5355, 3.5355, 14.5}}], Polygon[{{2.917, 4.0609, 11.}, {2.2216, 4.4794, 11.}, {2.2216, 4.4794, 14.5}, {2.917, 4.0609, 14.5}}], Polygon[{{2.2216, 4.4794, 11.}, {1.4676, 4.7798, 11.}, {1.4676, 4.7798, 14.5}, {2.2216, 4.4794, 14.5}}], Polygon[{{1.4676, 4.7798, 11.}, {0.675, 4.9542, 11.}, {0.675, 4.9542, 14.5}, {1.4676, 4.7798, 14.5}}], Polygon[{{0.675, 4.9542, 11.}, {-0.1354, 4.9982, 11.}, {-0.1354, 4.9982, 14.5}, {0.675, 4.9542, 14.5}}], Polygon[{{-0.1354, 4.9982, 11.}, {-0.94223, 4.9104, 11.}, {-0.94223, 4.9104, 14.5}, {-0.1354, 4.9982, 14.5}}], Polygon[{{-0.94223, 4.9104, 11.}, {-1.7242, 4.6933, 11.}, {-1.7242, 4.6933, 14.5}, {-0.94223, 4.9104, 14.5}}], Polygon[{{-1.7242, 4.6933, 11.}, {-2.4608, 4.3525, 11.}, {-2.4608, 4.3525, 14.5}, {-1.7242, 4.6933, 14.5}}], Polygon[{{-2.4608, 4.3525, 11.}, {-3.1325, 3.8971, 11.}, {-3.1325, 3.8971, 14.5}, {-2.4608, 4.3525, 14.5}}], Polygon[{{-3.1325, 3.8971, 11.}, {-3.7218, 3.3389, 11.}, {-3.7218, 3.3389, 14.5}, {-3.1325, 3.8971, 14.5}}], Polygon[{{-3.7218, 3.3389, 11.}, {-4.2129, 2.6928, 11.}, {-4.2129, 2.6928, 14.5}, {-3.7218, 3.3389, 14.5}}], Polygon[{{-4.2129, 2.6928, 11.}, {-4.5931, 1.9758, 11.}, {-4.5931, 1.9758, 14.5}, {-4.2129, 2.6928, 14.5}}], Polygon[{{-4.5931, 1.9758, 11.}, {-4.8522, 1.2067, 11.}, {-4.8522, 1.2067, 14.5}, {-4.5931, 1.9758, 14.5}}], Polygon[{{-4.8522, 1.2067, 11.}, {-4.9835, 0.40579, 11.}, {-4.9835, 0.40579, 14.5}, {-4.8522, 1.2067, 14.5}}], Polygon[{{-4.9835, 0.40579, 11.}, {-4.9835, -0.40579, 11.}, {-4.9835, -0.40579, 14.5}, {-4.9835, 0.40579, 14.5}}], Polygon[{{-4.9835, -0.40579, 11.}, {-4.8522, -1.2067, 11.}, {-4.8522, -1.2067, 14.5}, {-4.9835, -0.40579, 14.5}}], Polygon[{{-4.8522, -1.2067, 11.}, {-4.5931, -1.9758, 11.}, {-4.5931, -1.9758, 14.5}, {-4.8522, -1.2067, 14.5}}], Polygon[{{-4.5931, -1.9758, 11.}, {-4.2129, -2.6928, 11.}, {-4.2129, -2.6928, 14.5}, {-4.5931, -1.9758, 14.5}}], Polygon[{{-4.2129, -2.6928, 11.}, {-3.7218, -3.3389, 11.}, {-3.7218, -3.3389, 14.5}, {-4.2129, -2.6928, 14.5}}], Polygon[{{-3.7218, -3.3389, 11.}, {-3.1325, -3.8971, 11.}, {-3.1325, -3.8971, 14.5}, {-3.7218, -3.3389, 14.5}}], Polygon[{{-3.1325, -3.8971, 11.}, {-2.4608, -4.3525, 11.}, {-2.4608, -4.3525, 14.5}, {-3.1325, -3.8971, 14.5}}], Polygon[{{-2.4608, -4.3525, 11.}, {-1.7242, -4.6933, 11.}, {-1.7242, -4.6933, 14.5}, {-2.4608, -4.3525, 14.5}}], Polygon[{{-1.7242, -4.6933, 11.}, {-0.94223, -4.9104, 11.}, {-0.94223, -4.9104, 14.5}, {-1.7242, -4.6933, 14.5}}], Polygon[{{-0.94223, -4.9104, 11.}, {-0.1354, -4.9982, 11.}, {-0.1354, -4.9982, 14.5}, {-0.94223, -4.9104, 14.5}}], Polygon[{{-0.1354, -4.9982, 11.}, {0.675, -4.9542, 11.}, {0.675, -4.9542, 14.5}, {-0.1354, -4.9982, 14.5}}], Polygon[{{0.675, -4.9542, 11.}, {1.4676, -4.7798, 11.}, {1.4676, -4.7798, 14.5}, {0.675, -4.9542, 14.5}}], Polygon[{{1.4676, -4.7798, 11.}, {2.2216, -4.4794, 11.}, {2.2216, -4.4794, 14.5}, {1.4676, -4.7798, 14.5}}], Polygon[{{2.2216, -4.4794, 11.}, {2.917, -4.0609, 11.}, {2.917, -4.0609, 14.5}, {2.2216, -4.4794, 14.5}}], Polygon[{{2.917, -4.0609, 11.}, {3.5355, -3.5355, 11.}, {3.5355, -3.5355, 14.5}, {2.917, -4.0609, 14.5}}], Polygon[{{3.5355, 3.5355, 14.5}, {2.917, 4.0609, 14.5}, {2.917, 4.0609, 18.}, {3.5355, 3.5355, 18.}}], Polygon[{{2.917, 4.0609, 14.5}, {2.2216, 4.4794, 14.5}, {2.2216, 4.4794, 18.}, {2.917, 4.0609, 18.}}], Polygon[{{2.2216, 4.4794, 14.5}, {1.4676, 4.7798, 14.5}, {1.4676, 4.7798, 18.}, {2.2216, 4.4794, 18.}}], Polygon[{{1.4676, 4.7798, 14.5}, {0.675, 4.9542, 14.5}, {0.675, 4.9542, 18.}, {1.4676, 4.7798, 18.}}], Polygon[{{0.675, 4.9542, 14.5}, {-0.1354, 4.9982, 14.5}, {-0.1354, 4.9982, 18.}, {0.675, 4.9542, 18.}}], Polygon[{{-0.1354, 4.9982, 14.5}, {-0.94223, 4.9104, 14.5}, {-0.94223, 4.9104, 18.}, {-0.1354, 4.9982, 18.}}], Polygon[{{-0.94223, 4.9104, 14.5}, {-1.7242, 4.6933, 14.5}, {-1.7242, 4.6933, 18.}, {-0.94223, 4.9104, 18.}}], Polygon[{{-1.7242, 4.6933, 14.5}, {-2.4608, 4.3525, 14.5}, {-2.4608, 4.3525, 18.}, {-1.7242, 4.6933, 18.}}], Polygon[{{-2.4608, 4.3525, 14.5}, {-3.1325, 3.8971, 14.5}, {-3.1325, 3.8971, 18.}, {-2.4608, 4.3525, 18.}}], Polygon[{{-3.1325, 3.8971, 14.5}, {-3.7218, 3.3389, 14.5}, {-3.7218, 3.3389, 18.}, {-3.1325, 3.8971, 18.}}], Polygon[{{-3.7218, 3.3389, 14.5}, {-4.2129, 2.6928, 14.5}, {-4.2129, 2.6928, 18.}, {-3.7218, 3.3389, 18.}}], Polygon[{{-4.2129, 2.6928, 14.5}, {-4.5931, 1.9758, 14.5}, {-4.5931, 1.9758, 18.}, {-4.2129, 2.6928, 18.}}], Polygon[{{-4.5931, 1.9758, 14.5}, {-4.8522, 1.2067, 14.5}, {-4.8522, 1.2067, 18.}, {-4.5931, 1.9758, 18.}}], Polygon[{{-4.8522, 1.2067, 14.5}, {-4.9835, 0.40579, 14.5}, {-4.9835, 0.40579, 18.}, {-4.8522, 1.2067, 18.}}], Polygon[{{-4.9835, 0.40579, 14.5}, {-4.9835, -0.40579, 14.5}, {-4.9835, -0.40579, 18.}, {-4.9835, 0.40579, 18.}}], Polygon[{{-4.9835, -0.40579, 14.5}, {-4.8522, -1.2067, 14.5}, {-4.8522, -1.2067, 18.}, {-4.9835, -0.40579, 18.}}], Polygon[{{-4.8522, -1.2067, 14.5}, {-4.5931, -1.9758, 14.5}, {-4.5931, -1.9758, 18.}, {-4.8522, -1.2067, 18.}}], Polygon[{{-4.5931, -1.9758, 14.5}, {-4.2129, -2.6928, 14.5}, {-4.2129, -2.6928, 18.}, {-4.5931, -1.9758, 18.}}], Polygon[{{-4.2129, -2.6928, 14.5}, {-3.7218, -3.3389, 14.5}, {-3.7218, -3.3389, 18.}, {-4.2129, -2.6928, 18.}}], Polygon[{{-3.7218, -3.3389, 14.5}, {-3.1325, -3.8971, 14.5}, {-3.1325, -3.8971, 18.}, {-3.7218, -3.3389, 18.}}], Polygon[{{-3.1325, -3.8971, 14.5}, {-2.4608, -4.3525, 14.5}, {-2.4608, -4.3525, 18.}, {-3.1325, -3.8971, 18.}}], Polygon[{{-2.4608, -4.3525, 14.5}, {-1.7242, -4.6933, 14.5}, {-1.7242, -4.6933, 18.}, {-2.4608, -4.3525, 18.}}], Polygon[{{-1.7242, -4.6933, 14.5}, {-0.94223, -4.9104, 14.5}, {-0.94223, -4.9104, 18.}, {-1.7242, -4.6933, 18.}}], Polygon[{{-0.94223, -4.9104, 14.5}, {-0.1354, -4.9982, 14.5}, {-0.1354, -4.9982, 18.}, {-0.94223, -4.9104, 18.}}], Polygon[{{-0.1354, -4.9982, 14.5}, {0.675, -4.9542, 14.5}, {0.675, -4.9542, 18.}, {-0.1354, -4.9982, 18.}}], Polygon[{{0.675, -4.9542, 14.5}, {1.4676, -4.7798, 14.5}, {1.4676, -4.7798, 18.}, {0.675, -4.9542, 18.}}], Polygon[{{1.4676, -4.7798, 14.5}, {2.2216, -4.4794, 14.5}, {2.2216, -4.4794, 18.}, {1.4676, -4.7798, 18.}}], Polygon[{{2.2216, -4.4794, 14.5}, {2.917, -4.0609, 14.5}, {2.917, -4.0609, 18.}, {2.2216, -4.4794, 18.}}], Polygon[{{2.917, -4.0609, 14.5}, {3.5355, -3.5355, 14.5}, {3.5355, -3.5355, 18.}, {2.917, -4.0609, 18.}}], Polygon[{{3.5355, 3.5355, 18.}, {2.917, 4.0609, 18.}, {2.917, 4.0609, 21.5}, {3.5355, 3.5355, 21.5}}], Polygon[{{2.917, 4.0609, 18.}, {2.2216, 4.4794, 18.}, {2.2216, 4.4794, 21.5}, {2.917, 4.0609, 21.5}}], Polygon[{{2.2216, 4.4794, 18.}, {1.4676, 4.7798, 18.}, {1.4676, 4.7798, 21.5}, {2.2216, 4.4794, 21.5}}], Polygon[{{1.4676, 4.7798, 18.}, {0.675, 4.9542, 18.}, {0.675, 4.9542, 21.5}, {1.4676, 4.7798, 21.5}}], Polygon[{{0.675, 4.9542, 18.}, {-0.1354, 4.9982, 18.}, {-0.1354, 4.9982, 21.5}, {0.675, 4.9542, 21.5}}], Polygon[{{-0.1354, 4.9982, 18.}, {-0.94223, 4.9104, 18.}, {-0.94223, 4.9104, 21.5}, {-0.1354, 4.9982, 21.5}}], Polygon[{{-0.94223, 4.9104, 18.}, {-1.7242, 4.6933, 18.}, {-1.7242, 4.6933, 21.5}, {-0.94223, 4.9104, 21.5}}], Polygon[{{-1.7242, 4.6933, 18.}, {-2.4608, 4.3525, 18.}, {-2.4608, 4.3525, 21.5}, {-1.7242, 4.6933, 21.5}}], Polygon[{{-2.4608, 4.3525, 18.}, {-3.1325, 3.8971, 18.}, {-3.1325, 3.8971, 21.5}, {-2.4608, 4.3525, 21.5}}], Polygon[{{-3.1325, 3.8971, 18.}, {-3.7218, 3.3389, 18.}, {-3.7218, 3.3389, 21.5}, {-3.1325, 3.8971, 21.5}}], Polygon[{{-3.7218, 3.3389, 18.}, {-4.2129, 2.6928, 18.}, {-4.2129, 2.6928, 21.5}, {-3.7218, 3.3389, 21.5}}], Polygon[{{-4.2129, 2.6928, 18.}, {-4.5931, 1.9758, 18.}, {-4.5931, 1.9758, 21.5}, {-4.2129, 2.6928, 21.5}}], Polygon[{{-4.5931, 1.9758, 18.}, {-4.8522, 1.2067, 18.}, {-4.8522, 1.2067, 21.5}, {-4.5931, 1.9758, 21.5}}], Polygon[{{-4.8522, 1.2067, 18.}, {-4.9835, 0.40579, 18.}, {-4.9835, 0.40579, 21.5}, {-4.8522, 1.2067, 21.5}}], Polygon[{{-4.9835, 0.40579, 18.}, {-4.9835, -0.40579, 18.}, {-4.9835, -0.40579, 21.5}, {-4.9835, 0.40579, 21.5}}], Polygon[{{-4.9835, -0.40579, 18.}, {-4.8522, -1.2067, 18.}, {-4.8522, -1.2067, 21.5}, {-4.9835, -0.40579, 21.5}}], Polygon[{{-4.8522, -1.2067, 18.}, {-4.5931, -1.9758, 18.}, {-4.5931, -1.9758, 21.5}, {-4.8522, -1.2067, 21.5}}], Polygon[{{-4.5931, -1.9758, 18.}, {-4.2129, -2.6928, 18.}, {-4.2129, -2.6928, 21.5}, {-4.5931, -1.9758, 21.5}}], Polygon[{{-4.2129, -2.6928, 18.}, {-3.7218, -3.3389, 18.}, {-3.7218, -3.3389, 21.5}, {-4.2129, -2.6928, 21.5}}], Polygon[{{-3.7218, -3.3389, 18.}, {-3.1325, -3.8971, 18.}, {-3.1325, -3.8971, 21.5}, {-3.7218, -3.3389, 21.5}}], Polygon[{{-3.1325, -3.8971, 18.}, {-2.4608, -4.3525, 18.}, {-2.4608, -4.3525, 21.5}, {-3.1325, -3.8971, 21.5}}], Polygon[{{-2.4608, -4.3525, 18.}, {-1.7242, -4.6933, 18.}, {-1.7242, -4.6933, 21.5}, {-2.4608, -4.3525, 21.5}}], Polygon[{{-1.7242, -4.6933, 18.}, {-0.94223, -4.9104, 18.}, {-0.94223, -4.9104, 21.5}, {-1.7242, -4.6933, 21.5}}], Polygon[{{-0.94223, -4.9104, 18.}, {-0.1354, -4.9982, 18.}, {-0.1354, -4.9982, 21.5}, {-0.94223, -4.9104, 21.5}}], Polygon[{{-0.1354, -4.9982, 18.}, {0.675, -4.9542, 18.}, {0.675, -4.9542, 21.5}, {-0.1354, -4.9982, 21.5}}], Polygon[{{0.675, -4.9542, 18.}, {1.4676, -4.7798, 18.}, {1.4676, -4.7798, 21.5}, {0.675, -4.9542, 21.5}}], Polygon[{{1.4676, -4.7798, 18.}, {2.2216, -4.4794, 18.}, {2.2216, -4.4794, 21.5}, {1.4676, -4.7798, 21.5}}], Polygon[{{2.2216, -4.4794, 18.}, {2.917, -4.0609, 18.}, {2.917, -4.0609, 21.5}, {2.2216, -4.4794, 21.5}}], Polygon[{{2.917, -4.0609, 18.}, {3.5355, -3.5355, 18.}, {3.5355, -3.5355, 21.5}, {2.917, -4.0609, 21.5}}], Polygon[{{3.5355, 3.5355, 21.5}, {2.917, 4.0609, 21.5}, {2.917, 4.0609, 25.}, {3.5355, 3.5355, 25.}}], Polygon[{{2.917, 4.0609, 21.5}, {2.2216, 4.4794, 21.5}, {2.2216, 4.4794, 25.}, {2.917, 4.0609, 25.}}], Polygon[{{2.2216, 4.4794, 21.5}, {1.4676, 4.7798, 21.5}, {1.4676, 4.7798, 25.}, {2.2216, 4.4794, 25.}}], Polygon[{{1.4676, 4.7798, 21.5}, {0.675, 4.9542, 21.5}, {0.675, 4.9542, 25.}, {1.4676, 4.7798, 25.}}], Polygon[{{0.675, 4.9542, 21.5}, {-0.1354, 4.9982, 21.5}, {-0.1354, 4.9982, 25.}, {0.675, 4.9542, 25.}}], Polygon[{{-0.1354, 4.9982, 21.5}, {-0.94223, 4.9104, 21.5}, {-0.94223, 4.9104, 25.}, {-0.1354, 4.9982, 25.}}], Polygon[{{-0.94223, 4.9104, 21.5}, {-1.7242, 4.6933, 21.5}, {-1.7242, 4.6933, 25.}, {-0.94223, 4.9104, 25.}}], Polygon[{{-1.7242, 4.6933, 21.5}, {-2.4608, 4.3525, 21.5}, {-2.4608, 4.3525, 25.}, {-1.7242, 4.6933, 25.}}], Polygon[{{-2.4608, 4.3525, 21.5}, {-3.1325, 3.8971, 21.5}, {-3.1325, 3.8971, 25.}, {-2.4608, 4.3525, 25.}}], Polygon[{{-3.1325, 3.8971, 21.5}, {-3.7218, 3.3389, 21.5}, {-3.7218, 3.3389, 25.}, {-3.1325, 3.8971, 25.}}], Polygon[{{-3.7218, 3.3389, 21.5}, {-4.2129, 2.6928, 21.5}, {-4.2129, 2.6928, 25.}, {-3.7218, 3.3389, 25.}}], Polygon[{{-4.2129, 2.6928, 21.5}, {-4.5931, 1.9758, 21.5}, {-4.5931, 1.9758, 25.}, {-4.2129, 2.6928, 25.}}], Polygon[{{-4.5931, 1.9758, 21.5}, {-4.8522, 1.2067, 21.5}, {-4.8522, 1.2067, 25.}, {-4.5931, 1.9758, 25.}}], Polygon[{{-4.8522, 1.2067, 21.5}, {-4.9835, 0.40579, 21.5}, {-4.9835, 0.40579, 25.}, {-4.8522, 1.2067, 25.}}], Polygon[{{-4.9835, 0.40579, 21.5}, {-4.9835, -0.40579, 21.5}, {-4.9835, -0.40579, 25.}, {-4.9835, 0.40579, 25.}}], Polygon[{{-4.9835, -0.40579, 21.5}, {-4.8522, -1.2067, 21.5}, {-4.8522, -1.2067, 25.}, {-4.9835, -0.40579, 25.}}], Polygon[{{-4.8522, -1.2067, 21.5}, {-4.5931, -1.9758, 21.5}, {-4.5931, -1.9758, 25.}, {-4.8522, -1.2067, 25.}}], Polygon[{{-4.5931, -1.9758, 21.5}, {-4.2129, -2.6928, 21.5}, {-4.2129, -2.6928, 25.}, {-4.5931, -1.9758, 25.}}], Polygon[{{-4.2129, -2.6928, 21.5}, {-3.7218, -3.3389, 21.5}, {-3.7218, -3.3389, 25.}, {-4.2129, -2.6928, 25.}}], Polygon[{{-3.7218, -3.3389, 21.5}, {-3.1325, -3.8971, 21.5}, {-3.1325, -3.8971, 25.}, {-3.7218, -3.3389, 25.}}], Polygon[{{-3.1325, -3.8971, 21.5}, {-2.4608, -4.3525, 21.5}, {-2.4608, -4.3525, 25.}, {-3.1325, -3.8971, 25.}}], Polygon[{{-2.4608, -4.3525, 21.5}, {-1.7242, -4.6933, 21.5}, {-1.7242, -4.6933, 25.}, {-2.4608, -4.3525, 25.}}], Polygon[{{-1.7242, -4.6933, 21.5}, {-0.94223, -4.9104, 21.5}, {-0.94223, -4.9104, 25.}, {-1.7242, -4.6933, 25.}}], Polygon[{{-0.94223, -4.9104, 21.5}, {-0.1354, -4.9982, 21.5}, {-0.1354, -4.9982, 25.}, {-0.94223, -4.9104, 25.}}], Polygon[{{-0.1354, -4.9982, 21.5}, {0.675, -4.9542, 21.5}, {0.675, -4.9542, 25.}, {-0.1354, -4.9982, 25.}}], Polygon[{{0.675, -4.9542, 21.5}, {1.4676, -4.7798, 21.5}, {1.4676, -4.7798, 25.}, {0.675, -4.9542, 25.}}], Polygon[{{1.4676, -4.7798, 21.5}, {2.2216, -4.4794, 21.5}, {2.2216, -4.4794, 25.}, {1.4676, -4.7798, 25.}}], Polygon[{{2.2216, -4.4794, 21.5}, {2.917, -4.0609, 21.5}, {2.917, -4.0609, 25.}, {2.2216, -4.4794, 25.}}], Polygon[{{2.917, -4.0609, 21.5}, {3.5355, -3.5355, 21.5}, {3.5355, -3.5355, 25.}, {2.917, -4.0609, 25.}}]}, {Polygon[{{0., 0., 11.}, {3.5355, 3.5355, 11.}, {3.5355, 3.5355, 14.5}, {0., 0., 14.5}}], Polygon[{{0., 0., 14.5}, {3.5355, 3.5355, 14.5}, {3.5355, 3.5355, 18.}, {0., 0., 18.}}], Polygon[{{0., 0., 18.}, {3.5355, 3.5355, 18.}, {3.5355, 3.5355, 21.5}, {0., 0., 21.5}}], Polygon[{{0., 0., 21.5}, {3.5355, 3.5355, 21.5}, {3.5355, 3.5355, 25.}, {0., 0., 25.}}]}, {Polygon[{{0., 0., 11.}, {3.5355, -3.5355, 11.}, {3.5355, -3.5355, 14.5}, {0., 0., 14.5}}], Polygon[{{0., 0., 14.5}, {3.5355, -3.5355, 14.5}, {3.5355, -3.5355, 18.}, {0., 0., 18.}}], Polygon[{{0., 0., 18.}, {3.5355, -3.5355, 18.}, {3.5355, -3.5355, 21.5}, {0., 0., 21.5}}], Polygon[{{0., 0., 21.5}, {3.5355, -3.5355, 21.5}, {3.5355, -3.5355, 25.}, {0., 0., 25.}}]}, {Polygon[{{3.5355, 3.5355, 25.}, {2.917, 4.0609, 25.}, {3.6462, 5.0762, 25.5}, {4.4194, 4.4194, 25.5}}], Polygon[{{2.917, 4.0609, 25.}, {2.2216, 4.4794, 25.}, {2.7769, 5.5992, 25.5}, {3.6462, 5.0762, 25.5}}], Polygon[{{2.2216, 4.4794, 25.}, {1.4676, 4.7798, 25.}, {1.8345, 5.9747, 25.5}, {2.7769, 5.5992, 25.5}}], Polygon[{{1.4676, 4.7798, 25.}, {0.675, 4.9542, 25.}, {0.84375, 6.1928, 25.5}, {1.8345, 5.9747, 25.5}}], Polygon[{{0.675, 4.9542, 25.}, {-0.1354, 4.9982, 25.}, {-0.16925, 6.2477, 25.5}, {0.84375, 6.1928, 25.5}}], Polygon[{{-0.1354, 4.9982, 25.}, {-0.94223, 4.9104, 25.}, {-1.1778, 6.138, 25.5}, {-0.16925, 6.2477, 25.5}}], Polygon[{{-0.94223, 4.9104, 25.}, {-1.7242, 4.6933, 25.}, {-2.1553, 5.8666, 25.5}, {-1.1778, 6.138, 25.5}}], Polygon[{{-1.7242, 4.6933, 25.}, {-2.4608, 4.3525, 25.}, {-3.076, 5.4406, 25.5}, {-2.1553, 5.8666, 25.5}}], Polygon[{{-2.4608, 4.3525, 25.}, {-3.1325, 3.8971, 25.}, {-3.9157, 4.8713, 25.5}, {-3.076, 5.4406, 25.5}}], Polygon[{{-3.1325, 3.8971, 25.}, {-3.7218, 3.3389, 25.}, {-4.6522, 4.1737, 25.5}, {-3.9157, 4.8713, 25.5}}], Polygon[{{-3.7218, 3.3389, 25.}, {-4.2129, 2.6928, 25.}, {-5.2661, 3.366, 25.5}, {-4.6522, 4.1737, 25.5}}], Polygon[{{-4.2129, 2.6928, 25.}, {-4.5931, 1.9758, 25.}, {-5.7413, 2.4697, 25.5}, {-5.2661, 3.366, 25.5}}], Polygon[{{-4.5931, 1.9758, 25.}, {-4.8522, 1.2067, 25.}, {-6.0653, 1.5084, 25.5}, {-5.7413, 2.4697, 25.5}}], Polygon[{{-4.8522, 1.2067, 25.}, {-4.9835, 0.40579, 25.}, {-6.2294, 0.50724, 25.5}, {-6.0653, 1.5084, 25.5}}], Polygon[{{-4.9835, 0.40579, 25.}, {-4.9835, -0.40579, 25.}, {-6.2294, -0.50724, 25.5}, {-6.2294, 0.50724, 25.5}}], Polygon[{{-4.9835, -0.40579, 25.}, {-4.8522, -1.2067, 25.}, {-6.0653, -1.5084, 25.5}, {-6.2294, -0.50724, 25.5}}], Polygon[{{-4.8522, -1.2067, 25.}, {-4.5931, -1.9758, 25.}, {-5.7413, -2.4697, 25.5}, {-6.0653, -1.5084, 25.5}}], Polygon[{{-4.5931, -1.9758, 25.}, {-4.2129, -2.6928, 25.}, {-5.2661, -3.366, 25.5}, {-5.7413, -2.4697, 25.5}}], Polygon[{{-4.2129, -2.6928, 25.}, {-3.7218, -3.3389, 25.}, {-4.6522, -4.1737, 25.5}, {-5.2661, -3.366, 25.5}}], Polygon[{{-3.7218, -3.3389, 25.}, {-3.1325, -3.8971, 25.}, {-3.9157, -4.8713, 25.5}, {-4.6522, -4.1737, 25.5}}], Polygon[{{-3.1325, -3.8971, 25.}, {-2.4608, -4.3525, 25.}, {-3.076, -5.4406, 25.5}, {-3.9157, -4.8713, 25.5}}], Polygon[{{-2.4608, -4.3525, 25.}, {-1.7242, -4.6933, 25.}, {-2.1553, -5.8666, 25.5}, {-3.076, -5.4406, 25.5}}], Polygon[{{-1.7242, -4.6933, 25.}, {-0.94223, -4.9104, 25.}, {-1.1778, -6.138, 25.5}, {-2.1553, -5.8666, 25.5}}], Polygon[{{-0.94223, -4.9104, 25.}, {-0.1354, -4.9982, 25.}, {-0.16925, -6.2477, 25.5}, {-1.1778, -6.138, 25.5}}], Polygon[{{-0.1354, -4.9982, 25.}, {0.675, -4.9542, 25.}, {0.84375, -6.1928, 25.5}, {-0.16925, -6.2477, 25.5}}], Polygon[{{0.675, -4.9542, 25.}, {1.4676, -4.7798, 25.}, {1.8345, -5.9747, 25.5}, {0.84375, -6.1928, 25.5}}], Polygon[{{1.4676, -4.7798, 25.}, {2.2216, -4.4794, 25.}, {2.7769, -5.5992, 25.5}, {1.8345, -5.9747, 25.5}}], Polygon[{{2.2216, -4.4794, 25.}, {2.917, -4.0609, 25.}, {3.6462, -5.0762, 25.5}, {2.7769, -5.5992, 25.5}}], Polygon[{{2.917, -4.0609, 25.}, {3.5355, -3.5355, 25.}, {4.4194, -4.4194, 25.5}, {3.6462, -5.0762, 25.5}}], Polygon[{{4.4194, 4.4194, 25.5}, {3.6462, 5.0762, 25.5}, {4.3755, 6.0914, 26.}, {5.3033, 5.3033, 26.}}], Polygon[{{3.6462, 5.0762, 25.5}, {2.7769, 5.5992, 25.5}, {3.3323, 6.719, 26.}, {4.3755, 6.0914, 26.}}], Polygon[{{2.7769, 5.5992, 25.5}, {1.8345, 5.9747, 25.5}, {2.2014, 7.1696, 26.}, {3.3323, 6.719, 26.}}], Polygon[{{1.8345, 5.9747, 25.5}, {0.84375, 6.1928, 25.5}, {1.0125, 7.4313, 26.}, {2.2014, 7.1696, 26.}}], Polygon[{{0.84375, 6.1928, 25.5}, {-0.16925, 6.2477, 25.5}, {-0.2031, 7.4972, 26.}, {1.0125, 7.4313, 26.}}], Polygon[{{-0.16925, 6.2477, 25.5}, {-1.1778, 6.138, 25.5}, {-1.4133, 7.3656, 26.}, {-0.2031, 7.4972, 26.}}], Polygon[{{-1.1778, 6.138, 25.5}, {-2.1553, 5.8666, 25.5}, {-2.5863, 7.0399, 26.}, {-1.4133, 7.3656, 26.}}], Polygon[{{-2.1553, 5.8666, 25.5}, {-3.076, 5.4406, 25.5}, {-3.6912, 6.5288, 26.}, {-2.5863, 7.0399, 26.}}], Polygon[{{-3.076, 5.4406, 25.5}, {-3.9157, 4.8713, 25.5}, {-4.6988, 5.8456, 26.}, {-3.6912, 6.5288, 26.}}], Polygon[{{-3.9157, 4.8713, 25.5}, {-4.6522, 4.1737, 25.5}, {-5.5826, 5.0084, 26.}, {-4.6988, 5.8456, 26.}}], Polygon[{{-4.6522, 4.1737, 25.5}, {-5.2661, 3.366, 25.5}, {-6.3194, 4.0393, 26.}, {-5.5826, 5.0084, 26.}}], Polygon[{{-5.2661, 3.366, 25.5}, {-5.7413, 2.4697, 25.5}, {-6.8896, 2.9637, 26.}, {-6.3194, 4.0393, 26.}}], Polygon[{{-5.7413, 2.4697, 25.5}, {-6.0653, 1.5084, 25.5}, {-7.2783, 1.81, 26.}, {-6.8896, 2.9637, 26.}}], Polygon[{{-6.0653, 1.5084, 25.5}, {-6.2294, 0.50724, 25.5}, {-7.4753, 0.60869, 26.}, {-7.2783, 1.81, 26.}}], Polygon[{{-6.2294, 0.50724, 25.5}, {-6.2294, -0.50724, 25.5}, {-7.4753, -0.60869, 26.}, {-7.4753, 0.60869, 26.}}], Polygon[{{-6.2294, -0.50724, 25.5}, {-6.0653, -1.5084, 25.5}, {-7.2783, -1.81, 26.}, {-7.4753, -0.60869, 26.}}], Polygon[{{-6.0653, -1.5084, 25.5}, {-5.7413, -2.4697, 25.5}, {-6.8896, -2.9637, 26.}, {-7.2783, -1.81, 26.}}], Polygon[{{-5.7413, -2.4697, 25.5}, {-5.2661, -3.366, 25.5}, {-6.3194, -4.0393, 26.}, {-6.8896, -2.9637, 26.}}], Polygon[{{-5.2661, -3.366, 25.5}, {-4.6522, -4.1737, 25.5}, {-5.5826, -5.0084, 26.}, {-6.3194, -4.0393, 26.}}], Polygon[{{-4.6522, -4.1737, 25.5}, {-3.9157, -4.8713, 25.5}, {-4.6988, -5.8456, 26.}, {-5.5826, -5.0084, 26.}}], Polygon[{{-3.9157, -4.8713, 25.5}, {-3.076, -5.4406, 25.5}, {-3.6912, -6.5288, 26.}, {-4.6988, -5.8456, 26.}}], Polygon[{{-3.076, -5.4406, 25.5}, {-2.1553, -5.8666, 25.5}, {-2.5863, -7.0399, 26.}, {-3.6912, -6.5288, 26.}}], Polygon[{{-2.1553, -5.8666, 25.5}, {-1.1778, -6.138, 25.5}, {-1.4133, -7.3656, 26.}, {-2.5863, -7.0399, 26.}}], Polygon[{{-1.1778, -6.138, 25.5}, {-0.16925, -6.2477, 25.5}, {-0.2031, -7.4972, 26.}, {-1.4133, -7.3656, 26.}}], Polygon[{{-0.16925, -6.2477, 25.5}, {0.84375, -6.1928, 25.5}, {1.0125, -7.4313, 26.}, {-0.2031, -7.4972, 26.}}], Polygon[{{0.84375, -6.1928, 25.5}, {1.8345, -5.9747, 25.5}, {2.2014, -7.1696, 26.}, {1.0125, -7.4313, 26.}}], Polygon[{{1.8345, -5.9747, 25.5}, {2.7769, -5.5992, 25.5}, {3.3323, -6.719, 26.}, {2.2014, -7.1696, 26.}}], Polygon[{{2.7769, -5.5992, 25.5}, {3.6462, -5.0762, 25.5}, {4.3755, -6.0914, 26.}, {3.3323, -6.719, 26.}}], Polygon[{{3.6462, -5.0762, 25.5}, {4.4194, -4.4194, 25.5}, {5.3033, -5.3033, 26.}, {4.3755, -6.0914, 26.}}], Polygon[{{5.3033, 5.3033, 26.}, {4.3755, 6.0914, 26.}, {5.1047, 7.1067, 26.5}, {6.1872, 6.1872, 26.5}}], Polygon[{{4.3755, 6.0914, 26.}, {3.3323, 6.719, 26.}, {3.8877, 7.8389, 26.5}, {5.1047, 7.1067, 26.5}}], Polygon[{{3.3323, 6.719, 26.}, {2.2014, 7.1696, 26.}, {2.5683, 8.3646, 26.5}, {3.8877, 7.8389, 26.5}}], Polygon[{{2.2014, 7.1696, 26.}, {1.0125, 7.4313, 26.}, {1.1813, 8.6699, 26.5}, {2.5683, 8.3646, 26.5}}], Polygon[{{1.0125, 7.4313, 26.}, {-0.2031, 7.4972, 26.}, {-0.23694, 8.7468, 26.5}, {1.1813, 8.6699, 26.5}}], Polygon[{{-0.2031, 7.4972, 26.}, {-1.4133, 7.3656, 26.}, {-1.6489, 8.5932, 26.5}, {-0.23694, 8.7468, 26.5}}], Polygon[{{-1.4133, 7.3656, 26.}, {-2.5863, 7.0399, 26.}, {-3.0174, 8.2133, 26.5}, {-1.6489, 8.5932, 26.5}}], Polygon[{{-2.5863, 7.0399, 26.}, {-3.6912, 6.5288, 26.}, {-4.3064, 7.6169, 26.5}, {-3.0174, 8.2133, 26.5}}], Polygon[{{-3.6912, 6.5288, 26.}, {-4.6988, 5.8456, 26.}, {-5.482, 6.8199, 26.5}, {-4.3064, 7.6169, 26.5}}], Polygon[{{-4.6988, 5.8456, 26.}, {-5.5826, 5.0084, 26.}, {-6.5131, 5.8431, 26.5}, {-5.482, 6.8199, 26.5}}], Polygon[{{-5.5826, 5.0084, 26.}, {-6.3194, 4.0393, 26.}, {-7.3726, 4.7125, 26.5}, {-6.5131, 5.8431, 26.5}}], Polygon[{{-6.3194, 4.0393, 26.}, {-6.8896, 2.9637, 26.}, {-8.0379, 3.4576, 26.5}, {-7.3726, 4.7125, 26.5}}], Polygon[{{-6.8896, 2.9637, 26.}, {-7.2783, 1.81, 26.}, {-8.4914, 2.1117, 26.5}, {-8.0379, 3.4576, 26.5}}], Polygon[{{-7.2783, 1.81, 26.}, {-7.4753, 0.60869, 26.}, {-8.7211, 0.71014, 26.5}, {-8.4914, 2.1117, 26.5}}], Polygon[{{-7.4753, 0.60869, 26.}, {-7.4753, -0.60869, 26.}, {-8.7211, -0.71014, 26.5}, {-8.7211, 0.71014, 26.5}}], Polygon[{{-7.4753, -0.60869, 26.}, {-7.2783, -1.81, 26.}, {-8.4914, -2.1117, 26.5}, {-8.7211, -0.71014, 26.5}}], Polygon[{{-7.2783, -1.81, 26.}, {-6.8896, -2.9637, 26.}, {-8.0379, -3.4576, 26.5}, {-8.4914, -2.1117, 26.5}}], Polygon[{{-6.8896, -2.9637, 26.}, {-6.3194, -4.0393, 26.}, {-7.3726, -4.7125, 26.5}, {-8.0379, -3.4576, 26.5}}], Polygon[{{-6.3194, -4.0393, 26.}, {-5.5826, -5.0084, 26.}, {-6.5131, -5.8431, 26.5}, {-7.3726, -4.7125, 26.5}}], Polygon[{{-5.5826, -5.0084, 26.}, {-4.6988, -5.8456, 26.}, {-5.482, -6.8199, 26.5}, {-6.5131, -5.8431, 26.5}}], Polygon[{{-4.6988, -5.8456, 26.}, {-3.6912, -6.5288, 26.}, {-4.3064, -7.6169, 26.5}, {-5.482, -6.8199, 26.5}}], Polygon[{{-3.6912, -6.5288, 26.}, {-2.5863, -7.0399, 26.}, {-3.0174, -8.2133, 26.5}, {-4.3064, -7.6169, 26.5}}], Polygon[{{-2.5863, -7.0399, 26.}, {-1.4133, -7.3656, 26.}, {-1.6489, -8.5932, 26.5}, {-3.0174, -8.2133, 26.5}}], Polygon[{{-1.4133, -7.3656, 26.}, {-0.2031, -7.4972, 26.}, {-0.23694, -8.7468, 26.5}, {-1.6489, -8.5932, 26.5}}], Polygon[{{-0.2031, -7.4972, 26.}, {1.0125, -7.4313, 26.}, {1.1813, -8.6699, 26.5}, {-0.23694, -8.7468, 26.5}}], Polygon[{{1.0125, -7.4313, 26.}, {2.2014, -7.1696, 26.}, {2.5683, -8.3646, 26.5}, {1.1813, -8.6699, 26.5}}], Polygon[{{2.2014, -7.1696, 26.}, {3.3323, -6.719, 26.}, {3.8877, -7.8389, 26.5}, {2.5683, -8.3646, 26.5}}], Polygon[{{3.3323, -6.719, 26.}, {4.3755, -6.0914, 26.}, {5.1047, -7.1067, 26.5}, {3.8877, -7.8389, 26.5}}], Polygon[{{4.3755, -6.0914, 26.}, {5.3033, -5.3033, 26.}, {6.1872, -6.1872, 26.5}, {5.1047, -7.1067, 26.5}}], Polygon[{{6.1872, 6.1872, 26.5}, {5.1047, 7.1067, 26.5}, {5.8339, 8.1219, 27.}, {7.0711, 7.0711, 27.}}], Polygon[{{5.1047, 7.1067, 26.5}, {3.8877, 7.8389, 26.5}, {4.4431, 8.9587, 27.}, {5.8339, 8.1219, 27.}}], Polygon[{{3.8877, 7.8389, 26.5}, {2.5683, 8.3646, 26.5}, {2.9352, 9.5595, 27.}, {4.4431, 8.9587, 27.}}], Polygon[{{2.5683, 8.3646, 26.5}, {1.1813, 8.6699, 26.5}, {1.35, 9.9085, 27.}, {2.9352, 9.5595, 27.}}], Polygon[{{1.1813, 8.6699, 26.5}, {-0.23694, 8.7468, 26.5}, {-0.27079, 9.9963, 27.}, {1.35, 9.9085, 27.}}], Polygon[{{-0.23694, 8.7468, 26.5}, {-1.6489, 8.5932, 26.5}, {-1.8845, 9.8208, 27.}, {-0.27079, 9.9963, 27.}}], Polygon[{{-1.6489, 8.5932, 26.5}, {-3.0174, 8.2133, 26.5}, {-3.4485, 9.3866, 27.}, {-1.8845, 9.8208, 27.}}], Polygon[{{-3.0174, 8.2133, 26.5}, {-4.3064, 7.6169, 26.5}, {-4.9216, 8.705, 27.}, {-3.4485, 9.3866, 27.}}], Polygon[{{-4.3064, 7.6169, 26.5}, {-5.482, 6.8199, 26.5}, {-6.2651, 7.7941, 27.}, {-4.9216, 8.705, 27.}}], Polygon[{{-5.482, 6.8199, 26.5}, {-6.5131, 5.8431, 26.5}, {-7.4435, 6.6779, 27.}, {-6.2651, 7.7941, 27.}}], Polygon[{{-6.5131, 5.8431, 26.5}, {-7.3726, 4.7125, 26.5}, {-8.4258, 5.3857, 27.}, {-7.4435, 6.6779, 27.}}], Polygon[{{-7.3726, 4.7125, 26.5}, {-8.0379, 3.4576, 26.5}, {-9.1861, 3.9516, 27.}, {-8.4258, 5.3857, 27.}}], Polygon[{{-8.0379, 3.4576, 26.5}, {-8.4914, 2.1117, 26.5}, {-9.7044, 2.4134, 27.}, {-9.1861, 3.9516, 27.}}], Polygon[{{-8.4914, 2.1117, 26.5}, {-8.7211, 0.71014, 26.5}, {-9.967, 0.81159, 27.}, {-9.7044, 2.4134, 27.}}], Polygon[{{-8.7211, 0.71014, 26.5}, {-8.7211, -0.71014, 26.5}, {-9.967, -0.81159, 27.}, {-9.967, 0.81159, 27.}}], Polygon[{{-8.7211, -0.71014, 26.5}, {-8.4914, -2.1117, 26.5}, {-9.7044, -2.4134, 27.}, {-9.967, -0.81159, 27.}}], Polygon[{{-8.4914, -2.1117, 26.5}, {-8.0379, -3.4576, 26.5}, {-9.1861, -3.9516, 27.}, {-9.7044, -2.4134, 27.}}], Polygon[{{-8.0379, -3.4576, 26.5}, {-7.3726, -4.7125, 26.5}, {-8.4258, -5.3857, 27.}, {-9.1861, -3.9516, 27.}}], Polygon[{{-7.3726, -4.7125, 26.5}, {-6.5131, -5.8431, 26.5}, {-7.4435, -6.6779, 27.}, {-8.4258, -5.3857, 27.}}], Polygon[{{-6.5131, -5.8431, 26.5}, {-5.482, -6.8199, 26.5}, {-6.2651, -7.7941, 27.}, {-7.4435, -6.6779, 27.}}], Polygon[{{-5.482, -6.8199, 26.5}, {-4.3064, -7.6169, 26.5}, {-4.9216, -8.705, 27.}, {-6.2651, -7.7941, 27.}}], Polygon[{{-4.3064, -7.6169, 26.5}, {-3.0174, -8.2133, 26.5}, {-3.4485, -9.3866, 27.}, {-4.9216, -8.705, 27.}}], Polygon[{{-3.0174, -8.2133, 26.5}, {-1.6489, -8.5932, 26.5}, {-1.8845, -9.8208, 27.}, {-3.4485, -9.3866, 27.}}], Polygon[{{-1.6489, -8.5932, 26.5}, {-0.23694, -8.7468, 26.5}, {-0.27079, -9.9963, 27.}, {-1.8845, -9.8208, 27.}}], Polygon[{{-0.23694, -8.7468, 26.5}, {1.1813, -8.6699, 26.5}, {1.35, -9.9085, 27.}, {-0.27079, -9.9963, 27.}}], Polygon[{{1.1813, -8.6699, 26.5}, {2.5683, -8.3646, 26.5}, {2.9352, -9.5595, 27.}, {1.35, -9.9085, 27.}}], Polygon[{{2.5683, -8.3646, 26.5}, {3.8877, -7.8389, 26.5}, {4.4431, -8.9587, 27.}, {2.9352, -9.5595, 27.}}], Polygon[{{3.8877, -7.8389, 26.5}, {5.1047, -7.1067, 26.5}, {5.8339, -8.1219, 27.}, {4.4431, -8.9587, 27.}}], Polygon[{{5.1047, -7.1067, 26.5}, {6.1872, -6.1872, 26.5}, {7.0711, -7.0711, 27.}, {5.8339, -8.1219, 27.}}]}, {Polygon[{{0., 0., 25.}, {3.5355, 3.5355, 25.}, {7.0711, 7.0711, 27.}, {0., 0., 27.}}]}, {Polygon[{{0., 0., 25.}, {3.5355, -3.5355, 25.}, {7.0711, -7.0711, 27.}, {0., 0., 27.}}]}, {Polygon[{{7.0711, 7.0711, 27.}, {5.8339, 8.1219, 27.}, {5.8339, 8.1219, 27.5}, {7.0711, 7.0711, 27.5}}], Polygon[{{5.8339, 8.1219, 27.}, {4.4431, 8.9587, 27.}, {4.4431, 8.9587, 27.5}, {5.8339, 8.1219, 27.5}}], Polygon[{{4.4431, 8.9587, 27.}, {2.9352, 9.5595, 27.}, {2.9352, 9.5595, 27.5}, {4.4431, 8.9587, 27.5}}], Polygon[{{2.9352, 9.5595, 27.}, {1.35, 9.9085, 27.}, {1.35, 9.9085, 27.5}, {2.9352, 9.5595, 27.5}}], Polygon[{{1.35, 9.9085, 27.}, {-0.27079, 9.9963, 27.}, {-0.27079, 9.9963, 27.5}, {1.35, 9.9085, 27.5}}], Polygon[{{-0.27079, 9.9963, 27.}, {-1.8845, 9.8208, 27.}, {-1.8845, 9.8208, 27.5}, {-0.27079, 9.9963, 27.5}}], Polygon[{{-1.8845, 9.8208, 27.}, {-3.4485, 9.3866, 27.}, {-3.4485, 9.3866, 27.5}, {-1.8845, 9.8208, 27.5}}], Polygon[{{-3.4485, 9.3866, 27.}, {-4.9216, 8.705, 27.}, {-4.9216, 8.705, 27.5}, {-3.4485, 9.3866, 27.5}}], Polygon[{{-4.9216, 8.705, 27.}, {-6.2651, 7.7941, 27.}, {-6.2651, 7.7941, 27.5}, {-4.9216, 8.705, 27.5}}], Polygon[{{-6.2651, 7.7941, 27.}, {-7.4435, 6.6779, 27.}, {-7.4435, 6.6779, 27.5}, {-6.2651, 7.7941, 27.5}}], Polygon[{{-7.4435, 6.6779, 27.}, {-8.4258, 5.3857, 27.}, {-8.4258, 5.3857, 27.5}, {-7.4435, 6.6779, 27.5}}], Polygon[{{-8.4258, 5.3857, 27.}, {-9.1861, 3.9516, 27.}, {-9.1861, 3.9516, 27.5}, {-8.4258, 5.3857, 27.5}}], Polygon[{{-9.1861, 3.9516, 27.}, {-9.7044, 2.4134, 27.}, {-9.7044, 2.4134, 27.5}, {-9.1861, 3.9516, 27.5}}], Polygon[{{-9.7044, 2.4134, 27.}, {-9.967, 0.81159, 27.}, {-9.967, 0.81159, 27.5}, {-9.7044, 2.4134, 27.5}}], Polygon[{{-9.967, 0.81159, 27.}, {-9.967, -0.81159, 27.}, {-9.967, -0.81159, 27.5}, {-9.967, 0.81159, 27.5}}], Polygon[{{-9.967, -0.81159, 27.}, {-9.7044, -2.4134, 27.}, {-9.7044, -2.4134, 27.5}, {-9.967, -0.81159, 27.5}}], Polygon[{{-9.7044, -2.4134, 27.}, {-9.1861, -3.9516, 27.}, {-9.1861, -3.9516, 27.5}, {-9.7044, -2.4134, 27.5}}], Polygon[{{-9.1861, -3.9516, 27.}, {-8.4258, -5.3857, 27.}, {-8.4258, -5.3857, 27.5}, {-9.1861, -3.9516, 27.5}}], Polygon[{{-8.4258, -5.3857, 27.}, {-7.4435, -6.6779, 27.}, {-7.4435, -6.6779, 27.5}, {-8.4258, -5.3857, 27.5}}], Polygon[{{-7.4435, -6.6779, 27.}, {-6.2651, -7.7941, 27.}, {-6.2651, -7.7941, 27.5}, {-7.4435, -6.6779, 27.5}}], Polygon[{{-6.2651, -7.7941, 27.}, {-4.9216, -8.705, 27.}, {-4.9216, -8.705, 27.5}, {-6.2651, -7.7941, 27.5}}], Polygon[{{-4.9216, -8.705, 27.}, {-3.4485, -9.3866, 27.}, {-3.4485, -9.3866, 27.5}, {-4.9216, -8.705, 27.5}}], Polygon[{{-3.4485, -9.3866, 27.}, {-1.8845, -9.8208, 27.}, {-1.8845, -9.8208, 27.5}, {-3.4485, -9.3866, 27.5}}], Polygon[{{-1.8845, -9.8208, 27.}, {-0.27079, -9.9963, 27.}, {-0.27079, -9.9963, 27.5}, {-1.8845, -9.8208, 27.5}}], Polygon[{{-0.27079, -9.9963, 27.}, {1.35, -9.9085, 27.}, {1.35, -9.9085, 27.5}, {-0.27079, -9.9963, 27.5}}], Polygon[{{1.35, -9.9085, 27.}, {2.9352, -9.5595, 27.}, {2.9352, -9.5595, 27.5}, {1.35, -9.9085, 27.5}}], Polygon[{{2.9352, -9.5595, 27.}, {4.4431, -8.9587, 27.}, {4.4431, -8.9587, 27.5}, {2.9352, -9.5595, 27.5}}], Polygon[{{4.4431, -8.9587, 27.}, {5.8339, -8.1219, 27.}, {5.8339, -8.1219, 27.5}, {4.4431, -8.9587, 27.5}}], Polygon[{{5.8339, -8.1219, 27.}, {7.0711, -7.0711, 27.}, {7.0711, -7.0711, 27.5}, {5.8339, -8.1219, 27.5}}], Polygon[{{7.0711, 7.0711, 27.5}, {5.8339, 8.1219, 27.5}, {5.8339, 8.1219, 28.}, {7.0711, 7.0711, 28.}}], Polygon[{{5.8339, 8.1219, 27.5}, {4.4431, 8.9587, 27.5}, {4.4431, 8.9587, 28.}, {5.8339, 8.1219, 28.}}], Polygon[{{4.4431, 8.9587, 27.5}, {2.9352, 9.5595, 27.5}, {2.9352, 9.5595, 28.}, {4.4431, 8.9587, 28.}}], Polygon[{{2.9352, 9.5595, 27.5}, {1.35, 9.9085, 27.5}, {1.35, 9.9085, 28.}, {2.9352, 9.5595, 28.}}], Polygon[{{1.35, 9.9085, 27.5}, {-0.27079, 9.9963, 27.5}, {-0.27079, 9.9963, 28.}, {1.35, 9.9085, 28.}}], Polygon[{{-0.27079, 9.9963, 27.5}, {-1.8845, 9.8208, 27.5}, {-1.8845, 9.8208, 28.}, {-0.27079, 9.9963, 28.}}], Polygon[{{-1.8845, 9.8208, 27.5}, {-3.4485, 9.3866, 27.5}, {-3.4485, 9.3866, 28.}, {-1.8845, 9.8208, 28.}}], Polygon[{{-3.4485, 9.3866, 27.5}, {-4.9216, 8.705, 27.5}, {-4.9216, 8.705, 28.}, {-3.4485, 9.3866, 28.}}], Polygon[{{-4.9216, 8.705, 27.5}, {-6.2651, 7.7941, 27.5}, {-6.2651, 7.7941, 28.}, {-4.9216, 8.705, 28.}}], Polygon[{{-6.2651, 7.7941, 27.5}, {-7.4435, 6.6779, 27.5}, {-7.4435, 6.6779, 28.}, {-6.2651, 7.7941, 28.}}], Polygon[{{-7.4435, 6.6779, 27.5}, {-8.4258, 5.3857, 27.5}, {-8.4258, 5.3857, 28.}, {-7.4435, 6.6779, 28.}}], Polygon[{{-8.4258, 5.3857, 27.5}, {-9.1861, 3.9516, 27.5}, {-9.1861, 3.9516, 28.}, {-8.4258, 5.3857, 28.}}], Polygon[{{-9.1861, 3.9516, 27.5}, {-9.7044, 2.4134, 27.5}, {-9.7044, 2.4134, 28.}, {-9.1861, 3.9516, 28.}}], Polygon[{{-9.7044, 2.4134, 27.5}, {-9.967, 0.81159, 27.5}, {-9.967, 0.81159, 28.}, {-9.7044, 2.4134, 28.}}], Polygon[{{-9.967, 0.81159, 27.5}, {-9.967, -0.81159, 27.5}, {-9.967, -0.81159, 28.}, {-9.967, 0.81159, 28.}}], Polygon[{{-9.967, -0.81159, 27.5}, {-9.7044, -2.4134, 27.5}, {-9.7044, -2.4134, 28.}, {-9.967, -0.81159, 28.}}], Polygon[{{-9.7044, -2.4134, 27.5}, {-9.1861, -3.9516, 27.5}, {-9.1861, -3.9516, 28.}, {-9.7044, -2.4134, 28.}}], Polygon[{{-9.1861, -3.9516, 27.5}, {-8.4258, -5.3857, 27.5}, {-8.4258, -5.3857, 28.}, {-9.1861, -3.9516, 28.}}], Polygon[{{-8.4258, -5.3857, 27.5}, {-7.4435, -6.6779, 27.5}, {-7.4435, -6.6779, 28.}, {-8.4258, -5.3857, 28.}}], Polygon[{{-7.4435, -6.6779, 27.5}, {-6.2651, -7.7941, 27.5}, {-6.2651, -7.7941, 28.}, {-7.4435, -6.6779, 28.}}], Polygon[{{-6.2651, -7.7941, 27.5}, {-4.9216, -8.705, 27.5}, {-4.9216, -8.705, 28.}, {-6.2651, -7.7941, 28.}}], Polygon[{{-4.9216, -8.705, 27.5}, {-3.4485, -9.3866, 27.5}, {-3.4485, -9.3866, 28.}, {-4.9216, -8.705, 28.}}], Polygon[{{-3.4485, -9.3866, 27.5}, {-1.8845, -9.8208, 27.5}, {-1.8845, -9.8208, 28.}, {-3.4485, -9.3866, 28.}}], Polygon[{{-1.8845, -9.8208, 27.5}, {-0.27079, -9.9963, 27.5}, {-0.27079, -9.9963, 28.}, {-1.8845, -9.8208, 28.}}], Polygon[{{-0.27079, -9.9963, 27.5}, {1.35, -9.9085, 27.5}, {1.35, -9.9085, 28.}, {-0.27079, -9.9963, 28.}}], Polygon[{{1.35, -9.9085, 27.5}, {2.9352, -9.5595, 27.5}, {2.9352, -9.5595, 28.}, {1.35, -9.9085, 28.}}], Polygon[{{2.9352, -9.5595, 27.5}, {4.4431, -8.9587, 27.5}, {4.4431, -8.9587, 28.}, {2.9352, -9.5595, 28.}}], Polygon[{{4.4431, -8.9587, 27.5}, {5.8339, -8.1219, 27.5}, {5.8339, -8.1219, 28.}, {4.4431, -8.9587, 28.}}], Polygon[{{5.8339, -8.1219, 27.5}, {7.0711, -7.0711, 27.5}, {7.0711, -7.0711, 28.}, {5.8339, -8.1219, 28.}}], Polygon[{{7.0711, 7.0711, 28.}, {5.8339, 8.1219, 28.}, {5.8339, 8.1219, 28.5}, {7.0711, 7.0711, 28.5}}], Polygon[{{5.8339, 8.1219, 28.}, {4.4431, 8.9587, 28.}, {4.4431, 8.9587, 28.5}, {5.8339, 8.1219, 28.5}}], Polygon[{{4.4431, 8.9587, 28.}, {2.9352, 9.5595, 28.}, {2.9352, 9.5595, 28.5}, {4.4431, 8.9587, 28.5}}], Polygon[{{2.9352, 9.5595, 28.}, {1.35, 9.9085, 28.}, {1.35, 9.9085, 28.5}, {2.9352, 9.5595, 28.5}}], Polygon[{{1.35, 9.9085, 28.}, {-0.27079, 9.9963, 28.}, {-0.27079, 9.9963, 28.5}, {1.35, 9.9085, 28.5}}], Polygon[{{-0.27079, 9.9963, 28.}, {-1.8845, 9.8208, 28.}, {-1.8845, 9.8208, 28.5}, {-0.27079, 9.9963, 28.5}}], Polygon[{{-1.8845, 9.8208, 28.}, {-3.4485, 9.3866, 28.}, {-3.4485, 9.3866, 28.5}, {-1.8845, 9.8208, 28.5}}], Polygon[{{-3.4485, 9.3866, 28.}, {-4.9216, 8.705, 28.}, {-4.9216, 8.705, 28.5}, {-3.4485, 9.3866, 28.5}}], Polygon[{{-4.9216, 8.705, 28.}, {-6.2651, 7.7941, 28.}, {-6.2651, 7.7941, 28.5}, {-4.9216, 8.705, 28.5}}], Polygon[{{-6.2651, 7.7941, 28.}, {-7.4435, 6.6779, 28.}, {-7.4435, 6.6779, 28.5}, {-6.2651, 7.7941, 28.5}}], Polygon[{{-7.4435, 6.6779, 28.}, {-8.4258, 5.3857, 28.}, {-8.4258, 5.3857, 28.5}, {-7.4435, 6.6779, 28.5}}], Polygon[{{-8.4258, 5.3857, 28.}, {-9.1861, 3.9516, 28.}, {-9.1861, 3.9516, 28.5}, {-8.4258, 5.3857, 28.5}}], Polygon[{{-9.1861, 3.9516, 28.}, {-9.7044, 2.4134, 28.}, {-9.7044, 2.4134, 28.5}, {-9.1861, 3.9516, 28.5}}], Polygon[{{-9.7044, 2.4134, 28.}, {-9.967, 0.81159, 28.}, {-9.967, 0.81159, 28.5}, {-9.7044, 2.4134, 28.5}}], Polygon[{{-9.967, 0.81159, 28.}, {-9.967, -0.81159, 28.}, {-9.967, -0.81159, 28.5}, {-9.967, 0.81159, 28.5}}], Polygon[{{-9.967, -0.81159, 28.}, {-9.7044, -2.4134, 28.}, {-9.7044, -2.4134, 28.5}, {-9.967, -0.81159, 28.5}}], Polygon[{{-9.7044, -2.4134, 28.}, {-9.1861, -3.9516, 28.}, {-9.1861, -3.9516, 28.5}, {-9.7044, -2.4134, 28.5}}], Polygon[{{-9.1861, -3.9516, 28.}, {-8.4258, -5.3857, 28.}, {-8.4258, -5.3857, 28.5}, {-9.1861, -3.9516, 28.5}}], Polygon[{{-8.4258, -5.3857, 28.}, {-7.4435, -6.6779, 28.}, {-7.4435, -6.6779, 28.5}, {-8.4258, -5.3857, 28.5}}], Polygon[{{-7.4435, -6.6779, 28.}, {-6.2651, -7.7941, 28.}, {-6.2651, -7.7941, 28.5}, {-7.4435, -6.6779, 28.5}}], Polygon[{{-6.2651, -7.7941, 28.}, {-4.9216, -8.705, 28.}, {-4.9216, -8.705, 28.5}, {-6.2651, -7.7941, 28.5}}], Polygon[{{-4.9216, -8.705, 28.}, {-3.4485, -9.3866, 28.}, {-3.4485, -9.3866, 28.5}, {-4.9216, -8.705, 28.5}}], Polygon[{{-3.4485, -9.3866, 28.}, {-1.8845, -9.8208, 28.}, {-1.8845, -9.8208, 28.5}, {-3.4485, -9.3866, 28.5}}], Polygon[{{-1.8845, -9.8208, 28.}, {-0.27079, -9.9963, 28.}, {-0.27079, -9.9963, 28.5}, {-1.8845, -9.8208, 28.5}}], Polygon[{{-0.27079, -9.9963, 28.}, {1.35, -9.9085, 28.}, {1.35, -9.9085, 28.5}, {-0.27079, -9.9963, 28.5}}], Polygon[{{1.35, -9.9085, 28.}, {2.9352, -9.5595, 28.}, {2.9352, -9.5595, 28.5}, {1.35, -9.9085, 28.5}}], Polygon[{{2.9352, -9.5595, 28.}, {4.4431, -8.9587, 28.}, {4.4431, -8.9587, 28.5}, {2.9352, -9.5595, 28.5}}], Polygon[{{4.4431, -8.9587, 28.}, {5.8339, -8.1219, 28.}, {5.8339, -8.1219, 28.5}, {4.4431, -8.9587, 28.5}}], Polygon[{{5.8339, -8.1219, 28.}, {7.0711, -7.0711, 28.}, {7.0711, -7.0711, 28.5}, {5.8339, -8.1219, 28.5}}], Polygon[{{7.0711, 7.0711, 28.5}, {5.8339, 8.1219, 28.5}, {5.8339, 8.1219, 29.}, {7.0711, 7.0711, 29.}}], Polygon[{{5.8339, 8.1219, 28.5}, {4.4431, 8.9587, 28.5}, {4.4431, 8.9587, 29.}, {5.8339, 8.1219, 29.}}], Polygon[{{4.4431, 8.9587, 28.5}, {2.9352, 9.5595, 28.5}, {2.9352, 9.5595, 29.}, {4.4431, 8.9587, 29.}}], Polygon[{{2.9352, 9.5595, 28.5}, {1.35, 9.9085, 28.5}, {1.35, 9.9085, 29.}, {2.9352, 9.5595, 29.}}], Polygon[{{1.35, 9.9085, 28.5}, {-0.27079, 9.9963, 28.5}, {-0.27079, 9.9963, 29.}, {1.35, 9.9085, 29.}}], Polygon[{{-0.27079, 9.9963, 28.5}, {-1.8845, 9.8208, 28.5}, {-1.8845, 9.8208, 29.}, {-0.27079, 9.9963, 29.}}], Polygon[{{-1.8845, 9.8208, 28.5}, {-3.4485, 9.3866, 28.5}, {-3.4485, 9.3866, 29.}, {-1.8845, 9.8208, 29.}}], Polygon[{{-3.4485, 9.3866, 28.5}, {-4.9216, 8.705, 28.5}, {-4.9216, 8.705, 29.}, {-3.4485, 9.3866, 29.}}], Polygon[{{-4.9216, 8.705, 28.5}, {-6.2651, 7.7941, 28.5}, {-6.2651, 7.7941, 29.}, {-4.9216, 8.705, 29.}}], Polygon[{{-6.2651, 7.7941, 28.5}, {-7.4435, 6.6779, 28.5}, {-7.4435, 6.6779, 29.}, {-6.2651, 7.7941, 29.}}], Polygon[{{-7.4435, 6.6779, 28.5}, {-8.4258, 5.3857, 28.5}, {-8.4258, 5.3857, 29.}, {-7.4435, 6.6779, 29.}}], Polygon[{{-8.4258, 5.3857, 28.5}, {-9.1861, 3.9516, 28.5}, {-9.1861, 3.9516, 29.}, {-8.4258, 5.3857, 29.}}], Polygon[{{-9.1861, 3.9516, 28.5}, {-9.7044, 2.4134, 28.5}, {-9.7044, 2.4134, 29.}, {-9.1861, 3.9516, 29.}}], Polygon[{{-9.7044, 2.4134, 28.5}, {-9.967, 0.81159, 28.5}, {-9.967, 0.81159, 29.}, {-9.7044, 2.4134, 29.}}], Polygon[{{-9.967, 0.81159, 28.5}, {-9.967, -0.81159, 28.5}, {-9.967, -0.81159, 29.}, {-9.967, 0.81159, 29.}}], Polygon[{{-9.967, -0.81159, 28.5}, {-9.7044, -2.4134, 28.5}, {-9.7044, -2.4134, 29.}, {-9.967, -0.81159, 29.}}], Polygon[{{-9.7044, -2.4134, 28.5}, {-9.1861, -3.9516, 28.5}, {-9.1861, -3.9516, 29.}, {-9.7044, -2.4134, 29.}}], Polygon[{{-9.1861, -3.9516, 28.5}, {-8.4258, -5.3857, 28.5}, {-8.4258, -5.3857, 29.}, {-9.1861, -3.9516, 29.}}], Polygon[{{-8.4258, -5.3857, 28.5}, {-7.4435, -6.6779, 28.5}, {-7.4435, -6.6779, 29.}, {-8.4258, -5.3857, 29.}}], Polygon[{{-7.4435, -6.6779, 28.5}, {-6.2651, -7.7941, 28.5}, {-6.2651, -7.7941, 29.}, {-7.4435, -6.6779, 29.}}], Polygon[{{-6.2651, -7.7941, 28.5}, {-4.9216, -8.705, 28.5}, {-4.9216, -8.705, 29.}, {-6.2651, -7.7941, 29.}}], Polygon[{{-4.9216, -8.705, 28.5}, {-3.4485, -9.3866, 28.5}, {-3.4485, -9.3866, 29.}, {-4.9216, -8.705, 29.}}], Polygon[{{-3.4485, -9.3866, 28.5}, {-1.8845, -9.8208, 28.5}, {-1.8845, -9.8208, 29.}, {-3.4485, -9.3866, 29.}}], Polygon[{{-1.8845, -9.8208, 28.5}, {-0.27079, -9.9963, 28.5}, {-0.27079, -9.9963, 29.}, {-1.8845, -9.8208, 29.}}], Polygon[{{-0.27079, -9.9963, 28.5}, {1.35, -9.9085, 28.5}, {1.35, -9.9085, 29.}, {-0.27079, -9.9963, 29.}}], Polygon[{{1.35, -9.9085, 28.5}, {2.9352, -9.5595, 28.5}, {2.9352, -9.5595, 29.}, {1.35, -9.9085, 29.}}], Polygon[{{2.9352, -9.5595, 28.5}, {4.4431, -8.9587, 28.5}, {4.4431, -8.9587, 29.}, {2.9352, -9.5595, 29.}}], Polygon[{{4.4431, -8.9587, 28.5}, {5.8339, -8.1219, 28.5}, {5.8339, -8.1219, 29.}, {4.4431, -8.9587, 29.}}], Polygon[{{5.8339, -8.1219, 28.5}, {7.0711, -7.0711, 28.5}, {7.0711, -7.0711, 29.}, {5.8339, -8.1219, 29.}}]}, {Polygon[{{0., 0., 27.}, {7.0711, 7.0711, 27.}, {7.0711, 7.0711, 29.}, {0., 0., 29.}}]}, {Polygon[{{0., 0., 27.}, {7.0711, -7.0711, 27.}, {7.0711, -7.0711, 29.}, {0., 0., 29.}}]}, {Polygon[{{7.0711, 7.0711, 29.}, {5.8339, 8.1219, 29.}, {4.6672, 6.4975, 29.5}, {5.6569, 5.6569, 29.5}}], Polygon[{{5.8339, 8.1219, 29.}, {4.4431, 8.9587, 29.}, {3.5545, 7.167, 29.5}, {4.6672, 6.4975, 29.5}}], Polygon[{{4.4431, 8.9587, 29.}, {2.9352, 9.5595, 29.}, {2.3482, 7.6476, 29.5}, {3.5545, 7.167, 29.5}}], Polygon[{{2.9352, 9.5595, 29.}, {1.35, 9.9085, 29.}, {1.08, 7.9268, 29.5}, {2.3482, 7.6476, 29.5}}], Polygon[{{1.35, 9.9085, 29.}, {-0.27079, 9.9963, 29.}, {-0.21664, 7.9971, 29.5}, {1.08, 7.9268, 29.5}}], Polygon[{{-0.27079, 9.9963, 29.}, {-1.8845, 9.8208, 29.}, {-1.5076, 7.8567, 29.5}, {-0.21664, 7.9971, 29.5}}], Polygon[{{-1.8845, 9.8208, 29.}, {-3.4485, 9.3866, 29.}, {-2.7588, 7.5093, 29.5}, {-1.5076, 7.8567, 29.5}}], Polygon[{{-3.4485, 9.3866, 29.}, {-4.9216, 8.705, 29.}, {-3.9373, 6.964, 29.5}, {-2.7588, 7.5093, 29.5}}], Polygon[{{-4.9216, 8.705, 29.}, {-6.2651, 7.7941, 29.}, {-5.0121, 6.2353, 29.5}, {-3.9373, 6.964, 29.5}}], Polygon[{{-6.2651, 7.7941, 29.}, {-7.4435, 6.6779, 29.}, {-5.9548, 5.3423, 29.5}, {-5.0121, 6.2353, 29.5}}], Polygon[{{-7.4435, 6.6779, 29.}, {-8.4258, 5.3857, 29.}, {-6.7407, 4.3085, 29.5}, {-5.9548, 5.3423, 29.5}}], Polygon[{{-8.4258, 5.3857, 29.}, {-9.1861, 3.9516, 29.}, {-7.3489, 3.1613, 29.5}, {-6.7407, 4.3085, 29.5}}], Polygon[{{-9.1861, 3.9516, 29.}, {-9.7044, 2.4134, 29.}, {-7.7635, 1.9307, 29.5}, {-7.3489, 3.1613, 29.5}}], Polygon[{{-9.7044, 2.4134, 29.}, {-9.967, 0.81159, 29.}, {-7.9736, 0.64927, 29.5}, {-7.7635, 1.9307, 29.5}}], Polygon[{{-9.967, 0.81159, 29.}, {-9.967, -0.81159, 29.}, {-7.9736, -0.64927, 29.5}, {-7.9736, 0.64927, 29.5}}], Polygon[{{-9.967, -0.81159, 29.}, {-9.7044, -2.4134, 29.}, {-7.7635, -1.9307, 29.5}, {-7.9736, -0.64927, 29.5}}], Polygon[{{-9.7044, -2.4134, 29.}, {-9.1861, -3.9516, 29.}, {-7.3489, -3.1613, 29.5}, {-7.7635, -1.9307, 29.5}}], Polygon[{{-9.1861, -3.9516, 29.}, {-8.4258, -5.3857, 29.}, {-6.7407, -4.3085, 29.5}, {-7.3489, -3.1613, 29.5}}], Polygon[{{-8.4258, -5.3857, 29.}, {-7.4435, -6.6779, 29.}, {-5.9548, -5.3423, 29.5}, {-6.7407, -4.3085, 29.5}}], Polygon[{{-7.4435, -6.6779, 29.}, {-6.2651, -7.7941, 29.}, {-5.0121, -6.2353, 29.5}, {-5.9548, -5.3423, 29.5}}], Polygon[{{-6.2651, -7.7941, 29.}, {-4.9216, -8.705, 29.}, {-3.9373, -6.964, 29.5}, {-5.0121, -6.2353, 29.5}}], Polygon[{{-4.9216, -8.705, 29.}, {-3.4485, -9.3866, 29.}, {-2.7588, -7.5093, 29.5}, {-3.9373, -6.964, 29.5}}], Polygon[{{-3.4485, -9.3866, 29.}, {-1.8845, -9.8208, 29.}, {-1.5076, -7.8567, 29.5}, {-2.7588, -7.5093, 29.5}}], Polygon[{{-1.8845, -9.8208, 29.}, {-0.27079, -9.9963, 29.}, {-0.21664, -7.9971, 29.5}, {-1.5076, -7.8567, 29.5}}], Polygon[{{-0.27079, -9.9963, 29.}, {1.35, -9.9085, 29.}, {1.08, -7.9268, 29.5}, {-0.21664, -7.9971, 29.5}}], Polygon[{{1.35, -9.9085, 29.}, {2.9352, -9.5595, 29.}, {2.3482, -7.6476, 29.5}, {1.08, -7.9268, 29.5}}], Polygon[{{2.9352, -9.5595, 29.}, {4.4431, -8.9587, 29.}, {3.5545, -7.167, 29.5}, {2.3482, -7.6476, 29.5}}], Polygon[{{4.4431, -8.9587, 29.}, {5.8339, -8.1219, 29.}, {4.6672, -6.4975, 29.5}, {3.5545, -7.167, 29.5}}], Polygon[{{5.8339, -8.1219, 29.}, {7.0711, -7.0711, 29.}, {5.6569, -5.6569, 29.5}, {4.6672, -6.4975, 29.5}}], Polygon[{{5.6569, 5.6569, 29.5}, {4.6672, 6.4975, 29.5}, {3.5004, 4.8731, 30.}, {4.2426, 4.2426, 30.}}], Polygon[{{4.6672, 6.4975, 29.5}, {3.5545, 7.167, 29.5}, {2.6659, 5.3752, 30.}, {3.5004, 4.8731, 30.}}], Polygon[{{3.5545, 7.167, 29.5}, {2.3482, 7.6476, 29.5}, {1.7611, 5.7357, 30.}, {2.6659, 5.3752, 30.}}], Polygon[{{2.3482, 7.6476, 29.5}, {1.08, 7.9268, 29.5}, {0.81, 5.9451, 30.}, {1.7611, 5.7357, 30.}}], Polygon[{{1.08, 7.9268, 29.5}, {-0.21664, 7.9971, 29.5}, {-0.16248, 5.9978, 30.}, {0.81, 5.9451, 30.}}], Polygon[{{-0.21664, 7.9971, 29.5}, {-1.5076, 7.8567, 29.5}, {-1.1307, 5.8925, 30.}, {-0.16248, 5.9978, 30.}}], Polygon[{{-1.5076, 7.8567, 29.5}, {-2.7588, 7.5093, 29.5}, {-2.0691, 5.632, 30.}, {-1.1307, 5.8925, 30.}}], Polygon[{{-2.7588, 7.5093, 29.5}, {-3.9373, 6.964, 29.5}, {-2.953, 5.223, 30.}, {-2.0691, 5.632, 30.}}], Polygon[{{-3.9373, 6.964, 29.5}, {-5.0121, 6.2353, 29.5}, {-3.7591, 4.6765, 30.}, {-2.953, 5.223, 30.}}], Polygon[{{-5.0121, 6.2353, 29.5}, {-5.9548, 5.3423, 29.5}, {-4.4661, 4.0067, 30.}, {-3.7591, 4.6765, 30.}}], Polygon[{{-5.9548, 5.3423, 29.5}, {-6.7407, 4.3085, 29.5}, {-5.0555, 3.2314, 30.}, {-4.4661, 4.0067, 30.}}], Polygon[{{-6.7407, 4.3085, 29.5}, {-7.3489, 3.1613, 29.5}, {-5.5117, 2.371, 30.}, {-5.0555, 3.2314, 30.}}], Polygon[{{-7.3489, 3.1613, 29.5}, {-7.7635, 1.9307, 29.5}, {-5.8226, 1.448, 30.}, {-5.5117, 2.371, 30.}}], Polygon[{{-7.7635, 1.9307, 29.5}, {-7.9736, 0.64927, 29.5}, {-5.9802, 0.48695, 30.}, {-5.8226, 1.448, 30.}}], Polygon[{{-7.9736, 0.64927, 29.5}, {-7.9736, -0.64927, 29.5}, {-5.9802, -0.48695, 30.}, {-5.9802, 0.48695, 30.}}], Polygon[{{-7.9736, -0.64927, 29.5}, {-7.7635, -1.9307, 29.5}, {-5.8226, -1.448, 30.}, {-5.9802, -0.48695, 30.}}], Polygon[{{-7.7635, -1.9307, 29.5}, {-7.3489, -3.1613, 29.5}, {-5.5117, -2.371, 30.}, {-5.8226, -1.448, 30.}}], Polygon[{{-7.3489, -3.1613, 29.5}, {-6.7407, -4.3085, 29.5}, {-5.0555, -3.2314, 30.}, {-5.5117, -2.371, 30.}}], Polygon[{{-6.7407, -4.3085, 29.5}, {-5.9548, -5.3423, 29.5}, {-4.4661, -4.0067, 30.}, {-5.0555, -3.2314, 30.}}], Polygon[{{-5.9548, -5.3423, 29.5}, {-5.0121, -6.2353, 29.5}, {-3.7591, -4.6765, 30.}, {-4.4661, -4.0067, 30.}}], Polygon[{{-5.0121, -6.2353, 29.5}, {-3.9373, -6.964, 29.5}, {-2.953, -5.223, 30.}, {-3.7591, -4.6765, 30.}}], Polygon[{{-3.9373, -6.964, 29.5}, {-2.7588, -7.5093, 29.5}, {-2.0691, -5.632, 30.}, {-2.953, -5.223, 30.}}], Polygon[{{-2.7588, -7.5093, 29.5}, {-1.5076, -7.8567, 29.5}, {-1.1307, -5.8925, 30.}, {-2.0691, -5.632, 30.}}], Polygon[{{-1.5076, -7.8567, 29.5}, {-0.21664, -7.9971, 29.5}, {-0.16248, -5.9978, 30.}, {-1.1307, -5.8925, 30.}}], Polygon[{{-0.21664, -7.9971, 29.5}, {1.08, -7.9268, 29.5}, {0.81, -5.9451, 30.}, {-0.16248, -5.9978, 30.}}], Polygon[{{1.08, -7.9268, 29.5}, {2.3482, -7.6476, 29.5}, {1.7611, -5.7357, 30.}, {0.81, -5.9451, 30.}}], Polygon[{{2.3482, -7.6476, 29.5}, {3.5545, -7.167, 29.5}, {2.6659, -5.3752, 30.}, {1.7611, -5.7357, 30.}}], Polygon[{{3.5545, -7.167, 29.5}, {4.6672, -6.4975, 29.5}, {3.5004, -4.8731, 30.}, {2.6659, -5.3752, 30.}}], Polygon[{{4.6672, -6.4975, 29.5}, {5.6569, -5.6569, 29.5}, {4.2426, -4.2426, 30.}, {3.5004, -4.8731, 30.}}], Polygon[{{4.2426, 4.2426, 30.}, {3.5004, 4.8731, 30.}, {2.3336, 3.2488, 30.5}, {2.8284, 2.8284, 30.5}}], Polygon[{{3.5004, 4.8731, 30.}, {2.6659, 5.3752, 30.}, {1.7772, 3.5835, 30.5}, {2.3336, 3.2488, 30.5}}], Polygon[{{2.6659, 5.3752, 30.}, {1.7611, 5.7357, 30.}, {1.1741, 3.8238, 30.5}, {1.7772, 3.5835, 30.5}}], Polygon[{{1.7611, 5.7357, 30.}, {0.81, 5.9451, 30.}, {0.54, 3.9634, 30.5}, {1.1741, 3.8238, 30.5}}], Polygon[{{0.81, 5.9451, 30.}, {-0.16248, 5.9978, 30.}, {-0.10832, 3.9985, 30.5}, {0.54, 3.9634, 30.5}}], Polygon[{{-0.16248, 5.9978, 30.}, {-1.1307, 5.8925, 30.}, {-0.75378, 3.9283, 30.5}, {-0.10832, 3.9985, 30.5}}], Polygon[{{-1.1307, 5.8925, 30.}, {-2.0691, 5.632, 30.}, {-1.3794, 3.7546, 30.5}, {-0.75378, 3.9283, 30.5}}], Polygon[{{-2.0691, 5.632, 30.}, {-2.953, 5.223, 30.}, {-1.9686, 3.482, 30.5}, {-1.3794, 3.7546, 30.5}}], Polygon[{{-2.953, 5.223, 30.}, {-3.7591, 4.6765, 30.}, {-2.506, 3.1177, 30.5}, {-1.9686, 3.482, 30.5}}], Polygon[{{-3.7591, 4.6765, 30.}, {-4.4661, 4.0067, 30.}, {-2.9774, 2.6712, 30.5}, {-2.506, 3.1177, 30.5}}], Polygon[{{-4.4661, 4.0067, 30.}, {-5.0555, 3.2314, 30.}, {-3.3703, 2.1543, 30.5}, {-2.9774, 2.6712, 30.5}}], Polygon[{{-5.0555, 3.2314, 30.}, {-5.5117, 2.371, 30.}, {-3.6745, 1.5806, 30.5}, {-3.3703, 2.1543, 30.5}}], Polygon[{{-5.5117, 2.371, 30.}, {-5.8226, 1.448, 30.}, {-3.8818, 0.96535, 30.5}, {-3.6745, 1.5806, 30.5}}], Polygon[{{-5.8226, 1.448, 30.}, {-5.9802, 0.48695, 30.}, {-3.9868, 0.32463, 30.5}, {-3.8818, 0.96535, 30.5}}], Polygon[{{-5.9802, 0.48695, 30.}, {-5.9802, -0.48695, 30.}, {-3.9868, -0.32463, 30.5}, {-3.9868, 0.32463, 30.5}}], Polygon[{{-5.9802, -0.48695, 30.}, {-5.8226, -1.448, 30.}, {-3.8818, -0.96535, 30.5}, {-3.9868, -0.32463, 30.5}}], Polygon[{{-5.8226, -1.448, 30.}, {-5.5117, -2.371, 30.}, {-3.6745, -1.5806, 30.5}, {-3.8818, -0.96535, 30.5}}], Polygon[{{-5.5117, -2.371, 30.}, {-5.0555, -3.2314, 30.}, {-3.3703, -2.1543, 30.5}, {-3.6745, -1.5806, 30.5}}], Polygon[{{-5.0555, -3.2314, 30.}, {-4.4661, -4.0067, 30.}, {-2.9774, -2.6712, 30.5}, {-3.3703, -2.1543, 30.5}}], Polygon[{{-4.4661, -4.0067, 30.}, {-3.7591, -4.6765, 30.}, {-2.506, -3.1177, 30.5}, {-2.9774, -2.6712, 30.5}}], Polygon[{{-3.7591, -4.6765, 30.}, {-2.953, -5.223, 30.}, {-1.9686, -3.482, 30.5}, {-2.506, -3.1177, 30.5}}], Polygon[{{-2.953, -5.223, 30.}, {-2.0691, -5.632, 30.}, {-1.3794, -3.7546, 30.5}, {-1.9686, -3.482, 30.5}}], Polygon[{{-2.0691, -5.632, 30.}, {-1.1307, -5.8925, 30.}, {-0.75378, -3.9283, 30.5}, {-1.3794, -3.7546, 30.5}}], Polygon[{{-1.1307, -5.8925, 30.}, {-0.16248, -5.9978, 30.}, {-0.10832, -3.9985, 30.5}, {-0.75378, -3.9283, 30.5}}], Polygon[{{-0.16248, -5.9978, 30.}, {0.81, -5.9451, 30.}, {0.54, -3.9634, 30.5}, {-0.10832, -3.9985, 30.5}}], Polygon[{{0.81, -5.9451, 30.}, {1.7611, -5.7357, 30.}, {1.1741, -3.8238, 30.5}, {0.54, -3.9634, 30.5}}], Polygon[{{1.7611, -5.7357, 30.}, {2.6659, -5.3752, 30.}, {1.7772, -3.5835, 30.5}, {1.1741, -3.8238, 30.5}}], Polygon[{{2.6659, -5.3752, 30.}, {3.5004, -4.8731, 30.}, {2.3336, -3.2488, 30.5}, {1.7772, -3.5835, 30.5}}], Polygon[{{3.5004, -4.8731, 30.}, {4.2426, -4.2426, 30.}, {2.8284, -2.8284, 30.5}, {2.3336, -3.2488, 30.5}}], Polygon[{{2.8284, 2.8284, 30.5}, {2.3336, 3.2488, 30.5}, {1.1668, 1.6244, 31.}, {1.4142, 1.4142, 31.}}], Polygon[{{2.3336, 3.2488, 30.5}, {1.7772, 3.5835, 30.5}, {0.88862, 1.7917, 31.}, {1.1668, 1.6244, 31.}}], Polygon[{{1.7772, 3.5835, 30.5}, {1.1741, 3.8238, 30.5}, {0.58705, 1.9119, 31.}, {0.88862, 1.7917, 31.}}], Polygon[{{1.1741, 3.8238, 30.5}, {0.54, 3.9634, 30.5}, {0.27, 1.9817, 31.}, {0.58705, 1.9119, 31.}}], Polygon[{{0.54, 3.9634, 30.5}, {-0.10832, 3.9985, 30.5}, {-0.054159, 1.9993, 31.}, {0.27, 1.9817, 31.}}], Polygon[{{-0.10832, 3.9985, 30.5}, {-0.75378, 3.9283, 30.5}, {-0.37689, 1.9642, 31.}, {-0.054159, 1.9993, 31.}}], Polygon[{{-0.75378, 3.9283, 30.5}, {-1.3794, 3.7546, 30.5}, {-0.68969, 1.8773, 31.}, {-0.37689, 1.9642, 31.}}], Polygon[{{-1.3794, 3.7546, 30.5}, {-1.9686, 3.482, 30.5}, {-0.98432, 1.741, 31.}, {-0.68969, 1.8773, 31.}}], Polygon[{{-1.9686, 3.482, 30.5}, {-2.506, 3.1177, 30.5}, {-1.253, 1.5588, 31.}, {-0.98432, 1.741, 31.}}], Polygon[{{-2.506, 3.1177, 30.5}, {-2.9774, 2.6712, 30.5}, {-1.4887, 1.3356, 31.}, {-1.253, 1.5588, 31.}}], Polygon[{{-2.9774, 2.6712, 30.5}, {-3.3703, 2.1543, 30.5}, {-1.6852, 1.0771, 31.}, {-1.4887, 1.3356, 31.}}], Polygon[{{-3.3703, 2.1543, 30.5}, {-3.6745, 1.5806, 30.5}, {-1.8372, 0.79032, 31.}, {-1.6852, 1.0771, 31.}}], Polygon[{{-3.6745, 1.5806, 30.5}, {-3.8818, 0.96535, 30.5}, {-1.9409, 0.48268, 31.}, {-1.8372, 0.79032, 31.}}], Polygon[{{-3.8818, 0.96535, 30.5}, {-3.9868, 0.32463, 30.5}, {-1.9934, 0.16232, 31.}, {-1.9409, 0.48268, 31.}}], Polygon[{{-3.9868, 0.32463, 30.5}, {-3.9868, -0.32463, 30.5}, {-1.9934, -0.16232, 31.}, {-1.9934, 0.16232, 31.}}], Polygon[{{-3.9868, -0.32463, 30.5}, {-3.8818, -0.96535, 30.5}, {-1.9409, -0.48268, 31.}, {-1.9934, -0.16232, 31.}}], Polygon[{{-3.8818, -0.96535, 30.5}, {-3.6745, -1.5806, 30.5}, {-1.8372, -0.79032, 31.}, {-1.9409, -0.48268, 31.}}], Polygon[{{-3.6745, -1.5806, 30.5}, {-3.3703, -2.1543, 30.5}, {-1.6852, -1.0771, 31.}, {-1.8372, -0.79032, 31.}}], Polygon[{{-3.3703, -2.1543, 30.5}, {-2.9774, -2.6712, 30.5}, {-1.4887, -1.3356, 31.}, {-1.6852, -1.0771, 31.}}], Polygon[{{-2.9774, -2.6712, 30.5}, {-2.506, -3.1177, 30.5}, {-1.253, -1.5588, 31.}, {-1.4887, -1.3356, 31.}}], Polygon[{{-2.506, -3.1177, 30.5}, {-1.9686, -3.482, 30.5}, {-0.98432, -1.741, 31.}, {-1.253, -1.5588, 31.}}], Polygon[{{-1.9686, -3.482, 30.5}, {-1.3794, -3.7546, 30.5}, {-0.68969, -1.8773, 31.}, {-0.98432, -1.741, 31.}}], Polygon[{{-1.3794, -3.7546, 30.5}, {-0.75378, -3.9283, 30.5}, {-0.37689, -1.9642, 31.}, {-0.68969, -1.8773, 31.}}], Polygon[{{-0.75378, -3.9283, 30.5}, {-0.10832, -3.9985, 30.5}, {-0.054159, -1.9993, 31.}, {-0.37689, -1.9642, 31.}}], Polygon[{{-0.10832, -3.9985, 30.5}, {0.54, -3.9634, 30.5}, {0.27, -1.9817, 31.}, {-0.054159, -1.9993, 31.}}], Polygon[{{0.54, -3.9634, 30.5}, {1.1741, -3.8238, 30.5}, {0.58705, -1.9119, 31.}, {0.27, -1.9817, 31.}}], Polygon[{{1.1741, -3.8238, 30.5}, {1.7772, -3.5835, 30.5}, {0.88862, -1.7917, 31.}, {0.58705, -1.9119, 31.}}], Polygon[{{1.7772, -3.5835, 30.5}, {2.3336, -3.2488, 30.5}, {1.1668, -1.6244, 31.}, {0.88862, -1.7917, 31.}}], Polygon[{{2.3336, -3.2488, 30.5}, {2.8284, -2.8284, 30.5}, {1.4142, -1.4142, 31.}, {1.1668, -1.6244, 31.}}]}, {Polygon[{{0., 0., 29.}, {7.0711, 7.0711, 29.}, {1.4142, 1.4142, 31.}, {0., 0., 31.}}]}, {Polygon[{{0., 0., 29.}, {7.0711, -7.0711, 29.}, {1.4142, -1.4142, 31.}, {0., 0., 31.}}]}, {Polygon[{{1.4142, 1.4142, 31.}, {1.1668, 1.6244, 31.}, {1.1668, 1.6244, 32.}, {1.4142, 1.4142, 32.}}], Polygon[{{1.1668, 1.6244, 31.}, {0.88862, 1.7917, 31.}, {0.88862, 1.7917, 32.}, {1.1668, 1.6244, 32.}}], Polygon[{{0.88862, 1.7917, 31.}, {0.58705, 1.9119, 31.}, {0.58705, 1.9119, 32.}, {0.88862, 1.7917, 32.}}], Polygon[{{0.58705, 1.9119, 31.}, {0.27, 1.9817, 31.}, {0.27, 1.9817, 32.}, {0.58705, 1.9119, 32.}}], Polygon[{{0.27, 1.9817, 31.}, {-0.054159, 1.9993, 31.}, {-0.054159, 1.9993, 32.}, {0.27, 1.9817, 32.}}], Polygon[{{-0.054159, 1.9993, 31.}, {-0.37689, 1.9642, 31.}, {-0.37689, 1.9642, 32.}, {-0.054159, 1.9993, 32.}}], Polygon[{{-0.37689, 1.9642, 31.}, {-0.68969, 1.8773, 31.}, {-0.68969, 1.8773, 32.}, {-0.37689, 1.9642, 32.}}], Polygon[{{-0.68969, 1.8773, 31.}, {-0.98432, 1.741, 31.}, {-0.98432, 1.741, 32.}, {-0.68969, 1.8773, 32.}}], Polygon[{{-0.98432, 1.741, 31.}, {-1.253, 1.5588, 31.}, {-1.253, 1.5588, 32.}, {-0.98432, 1.741, 32.}}], Polygon[{{-1.253, 1.5588, 31.}, {-1.4887, 1.3356, 31.}, {-1.4887, 1.3356, 32.}, {-1.253, 1.5588, 32.}}], Polygon[{{-1.4887, 1.3356, 31.}, {-1.6852, 1.0771, 31.}, {-1.6852, 1.0771, 32.}, {-1.4887, 1.3356, 32.}}], Polygon[{{-1.6852, 1.0771, 31.}, {-1.8372, 0.79032, 31.}, {-1.8372, 0.79032, 32.}, {-1.6852, 1.0771, 32.}}], Polygon[{{-1.8372, 0.79032, 31.}, {-1.9409, 0.48268, 31.}, {-1.9409, 0.48268, 32.}, {-1.8372, 0.79032, 32.}}], Polygon[{{-1.9409, 0.48268, 31.}, {-1.9934, 0.16232, 31.}, {-1.9934, 0.16232, 32.}, {-1.9409, 0.48268, 32.}}], Polygon[{{-1.9934, 0.16232, 31.}, {-1.9934, -0.16232, 31.}, {-1.9934, -0.16232, 32.}, {-1.9934, 0.16232, 32.}}], Polygon[{{-1.9934, -0.16232, 31.}, {-1.9409, -0.48268, 31.}, {-1.9409, -0.48268, 32.}, {-1.9934, -0.16232, 32.}}], Polygon[{{-1.9409, -0.48268, 31.}, {-1.8372, -0.79032, 31.}, {-1.8372, -0.79032, 32.}, {-1.9409, -0.48268, 32.}}], Polygon[{{-1.8372, -0.79032, 31.}, {-1.6852, -1.0771, 31.}, {-1.6852, -1.0771, 32.}, {-1.8372, -0.79032, 32.}}], Polygon[{{-1.6852, -1.0771, 31.}, {-1.4887, -1.3356, 31.}, {-1.4887, -1.3356, 32.}, {-1.6852, -1.0771, 32.}}], Polygon[{{-1.4887, -1.3356, 31.}, {-1.253, -1.5588, 31.}, {-1.253, -1.5588, 32.}, {-1.4887, -1.3356, 32.}}], Polygon[{{-1.253, -1.5588, 31.}, {-0.98432, -1.741, 31.}, {-0.98432, -1.741, 32.}, {-1.253, -1.5588, 32.}}], Polygon[{{-0.98432, -1.741, 31.}, {-0.68969, -1.8773, 31.}, {-0.68969, -1.8773, 32.}, {-0.98432, -1.741, 32.}}], Polygon[{{-0.68969, -1.8773, 31.}, {-0.37689, -1.9642, 31.}, {-0.37689, -1.9642, 32.}, {-0.68969, -1.8773, 32.}}], Polygon[{{-0.37689, -1.9642, 31.}, {-0.054159, -1.9993, 31.}, {-0.054159, -1.9993, 32.}, {-0.37689, -1.9642, 32.}}], Polygon[{{-0.054159, -1.9993, 31.}, {0.27, -1.9817, 31.}, {0.27, -1.9817, 32.}, {-0.054159, -1.9993, 32.}}], Polygon[{{0.27, -1.9817, 31.}, {0.58705, -1.9119, 31.}, {0.58705, -1.9119, 32.}, {0.27, -1.9817, 32.}}], Polygon[{{0.58705, -1.9119, 31.}, {0.88862, -1.7917, 31.}, {0.88862, -1.7917, 32.}, {0.58705, -1.9119, 32.}}], Polygon[{{0.88862, -1.7917, 31.}, {1.1668, -1.6244, 31.}, {1.1668, -1.6244, 32.}, {0.88862, -1.7917, 32.}}], Polygon[{{1.1668, -1.6244, 31.}, {1.4142, -1.4142, 31.}, {1.4142, -1.4142, 32.}, {1.1668, -1.6244, 32.}}], Polygon[{{1.4142, 1.4142, 32.}, {1.1668, 1.6244, 32.}, {1.1668, 1.6244, 33.}, {1.4142, 1.4142, 33.}}], Polygon[{{1.1668, 1.6244, 32.}, {0.88862, 1.7917, 32.}, {0.88862, 1.7917, 33.}, {1.1668, 1.6244, 33.}}], Polygon[{{0.88862, 1.7917, 32.}, {0.58705, 1.9119, 32.}, {0.58705, 1.9119, 33.}, {0.88862, 1.7917, 33.}}], Polygon[{{0.58705, 1.9119, 32.}, {0.27, 1.9817, 32.}, {0.27, 1.9817, 33.}, {0.58705, 1.9119, 33.}}], Polygon[{{0.27, 1.9817, 32.}, {-0.054159, 1.9993, 32.}, {-0.054159, 1.9993, 33.}, {0.27, 1.9817, 33.}}], Polygon[{{-0.054159, 1.9993, 32.}, {-0.37689, 1.9642, 32.}, {-0.37689, 1.9642, 33.}, {-0.054159, 1.9993, 33.}}], Polygon[{{-0.37689, 1.9642, 32.}, {-0.68969, 1.8773, 32.}, {-0.68969, 1.8773, 33.}, {-0.37689, 1.9642, 33.}}], Polygon[{{-0.68969, 1.8773, 32.}, {-0.98432, 1.741, 32.}, {-0.98432, 1.741, 33.}, {-0.68969, 1.8773, 33.}}], Polygon[{{-0.98432, 1.741, 32.}, {-1.253, 1.5588, 32.}, {-1.253, 1.5588, 33.}, {-0.98432, 1.741, 33.}}], Polygon[{{-1.253, 1.5588, 32.}, {-1.4887, 1.3356, 32.}, {-1.4887, 1.3356, 33.}, {-1.253, 1.5588, 33.}}], Polygon[{{-1.4887, 1.3356, 32.}, {-1.6852, 1.0771, 32.}, {-1.6852, 1.0771, 33.}, {-1.4887, 1.3356, 33.}}], Polygon[{{-1.6852, 1.0771, 32.}, {-1.8372, 0.79032, 32.}, {-1.8372, 0.79032, 33.}, {-1.6852, 1.0771, 33.}}], Polygon[{{-1.8372, 0.79032, 32.}, {-1.9409, 0.48268, 32.}, {-1.9409, 0.48268, 33.}, {-1.8372, 0.79032, 33.}}], Polygon[{{-1.9409, 0.48268, 32.}, {-1.9934, 0.16232, 32.}, {-1.9934, 0.16232, 33.}, {-1.9409, 0.48268, 33.}}], Polygon[{{-1.9934, 0.16232, 32.}, {-1.9934, -0.16232, 32.}, {-1.9934, -0.16232, 33.}, {-1.9934, 0.16232, 33.}}], Polygon[{{-1.9934, -0.16232, 32.}, {-1.9409, -0.48268, 32.}, {-1.9409, -0.48268, 33.}, {-1.9934, -0.16232, 33.}}], Polygon[{{-1.9409, -0.48268, 32.}, {-1.8372, -0.79032, 32.}, {-1.8372, -0.79032, 33.}, {-1.9409, -0.48268, 33.}}], Polygon[{{-1.8372, -0.79032, 32.}, {-1.6852, -1.0771, 32.}, {-1.6852, -1.0771, 33.}, {-1.8372, -0.79032, 33.}}], Polygon[{{-1.6852, -1.0771, 32.}, {-1.4887, -1.3356, 32.}, {-1.4887, -1.3356, 33.}, {-1.6852, -1.0771, 33.}}], Polygon[{{-1.4887, -1.3356, 32.}, {-1.253, -1.5588, 32.}, {-1.253, -1.5588, 33.}, {-1.4887, -1.3356, 33.}}], Polygon[{{-1.253, -1.5588, 32.}, {-0.98432, -1.741, 32.}, {-0.98432, -1.741, 33.}, {-1.253, -1.5588, 33.}}], Polygon[{{-0.98432, -1.741, 32.}, {-0.68969, -1.8773, 32.}, {-0.68969, -1.8773, 33.}, {-0.98432, -1.741, 33.}}], Polygon[{{-0.68969, -1.8773, 32.}, {-0.37689, -1.9642, 32.}, {-0.37689, -1.9642, 33.}, {-0.68969, -1.8773, 33.}}], Polygon[{{-0.37689, -1.9642, 32.}, {-0.054159, -1.9993, 32.}, {-0.054159, -1.9993, 33.}, {-0.37689, -1.9642, 33.}}], Polygon[{{-0.054159, -1.9993, 32.}, {0.27, -1.9817, 32.}, {0.27, -1.9817, 33.}, {-0.054159, -1.9993, 33.}}], Polygon[{{0.27, -1.9817, 32.}, {0.58705, -1.9119, 32.}, {0.58705, -1.9119, 33.}, {0.27, -1.9817, 33.}}], Polygon[{{0.58705, -1.9119, 32.}, {0.88862, -1.7917, 32.}, {0.88862, -1.7917, 33.}, {0.58705, -1.9119, 33.}}], Polygon[{{0.88862, -1.7917, 32.}, {1.1668, -1.6244, 32.}, {1.1668, -1.6244, 33.}, {0.88862, -1.7917, 33.}}], Polygon[{{1.1668, -1.6244, 32.}, {1.4142, -1.4142, 32.}, {1.4142, -1.4142, 33.}, {1.1668, -1.6244, 33.}}], Polygon[{{1.4142, 1.4142, 33.}, {1.1668, 1.6244, 33.}, {1.1668, 1.6244, 34.}, {1.4142, 1.4142, 34.}}], Polygon[{{1.1668, 1.6244, 33.}, {0.88862, 1.7917, 33.}, {0.88862, 1.7917, 34.}, {1.1668, 1.6244, 34.}}], Polygon[{{0.88862, 1.7917, 33.}, {0.58705, 1.9119, 33.}, {0.58705, 1.9119, 34.}, {0.88862, 1.7917, 34.}}], Polygon[{{0.58705, 1.9119, 33.}, {0.27, 1.9817, 33.}, {0.27, 1.9817, 34.}, {0.58705, 1.9119, 34.}}], Polygon[{{0.27, 1.9817, 33.}, {-0.054159, 1.9993, 33.}, {-0.054159, 1.9993, 34.}, {0.27, 1.9817, 34.}}], Polygon[{{-0.054159, 1.9993, 33.}, {-0.37689, 1.9642, 33.}, {-0.37689, 1.9642, 34.}, {-0.054159, 1.9993, 34.}}], Polygon[{{-0.37689, 1.9642, 33.}, {-0.68969, 1.8773, 33.}, {-0.68969, 1.8773, 34.}, {-0.37689, 1.9642, 34.}}], Polygon[{{-0.68969, 1.8773, 33.}, {-0.98432, 1.741, 33.}, {-0.98432, 1.741, 34.}, {-0.68969, 1.8773, 34.}}], Polygon[{{-0.98432, 1.741, 33.}, {-1.253, 1.5588, 33.}, {-1.253, 1.5588, 34.}, {-0.98432, 1.741, 34.}}], Polygon[{{-1.253, 1.5588, 33.}, {-1.4887, 1.3356, 33.}, {-1.4887, 1.3356, 34.}, {-1.253, 1.5588, 34.}}], Polygon[{{-1.4887, 1.3356, 33.}, {-1.6852, 1.0771, 33.}, {-1.6852, 1.0771, 34.}, {-1.4887, 1.3356, 34.}}], Polygon[{{-1.6852, 1.0771, 33.}, {-1.8372, 0.79032, 33.}, {-1.8372, 0.79032, 34.}, {-1.6852, 1.0771, 34.}}], Polygon[{{-1.8372, 0.79032, 33.}, {-1.9409, 0.48268, 33.}, {-1.9409, 0.48268, 34.}, {-1.8372, 0.79032, 34.}}], Polygon[{{-1.9409, 0.48268, 33.}, {-1.9934, 0.16232, 33.}, {-1.9934, 0.16232, 34.}, {-1.9409, 0.48268, 34.}}], Polygon[{{-1.9934, 0.16232, 33.}, {-1.9934, -0.16232, 33.}, {-1.9934, -0.16232, 34.}, {-1.9934, 0.16232, 34.}}], Polygon[{{-1.9934, -0.16232, 33.}, {-1.9409, -0.48268, 33.}, {-1.9409, -0.48268, 34.}, {-1.9934, -0.16232, 34.}}], Polygon[{{-1.9409, -0.48268, 33.}, {-1.8372, -0.79032, 33.}, {-1.8372, -0.79032, 34.}, {-1.9409, -0.48268, 34.}}], Polygon[{{-1.8372, -0.79032, 33.}, {-1.6852, -1.0771, 33.}, {-1.6852, -1.0771, 34.}, {-1.8372, -0.79032, 34.}}], Polygon[{{-1.6852, -1.0771, 33.}, {-1.4887, -1.3356, 33.}, {-1.4887, -1.3356, 34.}, {-1.6852, -1.0771, 34.}}], Polygon[{{-1.4887, -1.3356, 33.}, {-1.253, -1.5588, 33.}, {-1.253, -1.5588, 34.}, {-1.4887, -1.3356, 34.}}], Polygon[{{-1.253, -1.5588, 33.}, {-0.98432, -1.741, 33.}, {-0.98432, -1.741, 34.}, {-1.253, -1.5588, 34.}}], Polygon[{{-0.98432, -1.741, 33.}, {-0.68969, -1.8773, 33.}, {-0.68969, -1.8773, 34.}, {-0.98432, -1.741, 34.}}], Polygon[{{-0.68969, -1.8773, 33.}, {-0.37689, -1.9642, 33.}, {-0.37689, -1.9642, 34.}, {-0.68969, -1.8773, 34.}}], Polygon[{{-0.37689, -1.9642, 33.}, {-0.054159, -1.9993, 33.}, {-0.054159, -1.9993, 34.}, {-0.37689, -1.9642, 34.}}], Polygon[{{-0.054159, -1.9993, 33.}, {0.27, -1.9817, 33.}, {0.27, -1.9817, 34.}, {-0.054159, -1.9993, 34.}}], Polygon[{{0.27, -1.9817, 33.}, {0.58705, -1.9119, 33.}, {0.58705, -1.9119, 34.}, {0.27, -1.9817, 34.}}], Polygon[{{0.58705, -1.9119, 33.}, {0.88862, -1.7917, 33.}, {0.88862, -1.7917, 34.}, {0.58705, -1.9119, 34.}}], Polygon[{{0.88862, -1.7917, 33.}, {1.1668, -1.6244, 33.}, {1.1668, -1.6244, 34.}, {0.88862, -1.7917, 34.}}], Polygon[{{1.1668, -1.6244, 33.}, {1.4142, -1.4142, 33.}, {1.4142, -1.4142, 34.}, {1.1668, -1.6244, 34.}}], Polygon[{{1.4142, 1.4142, 34.}, {1.1668, 1.6244, 34.}, {1.1668, 1.6244, 35.}, {1.4142, 1.4142, 35.}}], Polygon[{{1.1668, 1.6244, 34.}, {0.88862, 1.7917, 34.}, {0.88862, 1.7917, 35.}, {1.1668, 1.6244, 35.}}], Polygon[{{0.88862, 1.7917, 34.}, {0.58705, 1.9119, 34.}, {0.58705, 1.9119, 35.}, {0.88862, 1.7917, 35.}}], Polygon[{{0.58705, 1.9119, 34.}, {0.27, 1.9817, 34.}, {0.27, 1.9817, 35.}, {0.58705, 1.9119, 35.}}], Polygon[{{0.27, 1.9817, 34.}, {-0.054159, 1.9993, 34.}, {-0.054159, 1.9993, 35.}, {0.27, 1.9817, 35.}}], Polygon[{{-0.054159, 1.9993, 34.}, {-0.37689, 1.9642, 34.}, {-0.37689, 1.9642, 35.}, {-0.054159, 1.9993, 35.}}], Polygon[{{-0.37689, 1.9642, 34.}, {-0.68969, 1.8773, 34.}, {-0.68969, 1.8773, 35.}, {-0.37689, 1.9642, 35.}}], Polygon[{{-0.68969, 1.8773, 34.}, {-0.98432, 1.741, 34.}, {-0.98432, 1.741, 35.}, {-0.68969, 1.8773, 35.}}], Polygon[{{-0.98432, 1.741, 34.}, {-1.253, 1.5588, 34.}, {-1.253, 1.5588, 35.}, {-0.98432, 1.741, 35.}}], Polygon[{{-1.253, 1.5588, 34.}, {-1.4887, 1.3356, 34.}, {-1.4887, 1.3356, 35.}, {-1.253, 1.5588, 35.}}], Polygon[{{-1.4887, 1.3356, 34.}, {-1.6852, 1.0771, 34.}, {-1.6852, 1.0771, 35.}, {-1.4887, 1.3356, 35.}}], Polygon[{{-1.6852, 1.0771, 34.}, {-1.8372, 0.79032, 34.}, {-1.8372, 0.79032, 35.}, {-1.6852, 1.0771, 35.}}], Polygon[{{-1.8372, 0.79032, 34.}, {-1.9409, 0.48268, 34.}, {-1.9409, 0.48268, 35.}, {-1.8372, 0.79032, 35.}}], Polygon[{{-1.9409, 0.48268, 34.}, {-1.9934, 0.16232, 34.}, {-1.9934, 0.16232, 35.}, {-1.9409, 0.48268, 35.}}], Polygon[{{-1.9934, 0.16232, 34.}, {-1.9934, -0.16232, 34.}, {-1.9934, -0.16232, 35.}, {-1.9934, 0.16232, 35.}}], Polygon[{{-1.9934, -0.16232, 34.}, {-1.9409, -0.48268, 34.}, {-1.9409, -0.48268, 35.}, {-1.9934, -0.16232, 35.}}], Polygon[{{-1.9409, -0.48268, 34.}, {-1.8372, -0.79032, 34.}, {-1.8372, -0.79032, 35.}, {-1.9409, -0.48268, 35.}}], Polygon[{{-1.8372, -0.79032, 34.}, {-1.6852, -1.0771, 34.}, {-1.6852, -1.0771, 35.}, {-1.8372, -0.79032, 35.}}], Polygon[{{-1.6852, -1.0771, 34.}, {-1.4887, -1.3356, 34.}, {-1.4887, -1.3356, 35.}, {-1.6852, -1.0771, 35.}}], Polygon[{{-1.4887, -1.3356, 34.}, {-1.253, -1.5588, 34.}, {-1.253, -1.5588, 35.}, {-1.4887, -1.3356, 35.}}], Polygon[{{-1.253, -1.5588, 34.}, {-0.98432, -1.741, 34.}, {-0.98432, -1.741, 35.}, {-1.253, -1.5588, 35.}}], Polygon[{{-0.98432, -1.741, 34.}, {-0.68969, -1.8773, 34.}, {-0.68969, -1.8773, 35.}, {-0.98432, -1.741, 35.}}], Polygon[{{-0.68969, -1.8773, 34.}, {-0.37689, -1.9642, 34.}, {-0.37689, -1.9642, 35.}, {-0.68969, -1.8773, 35.}}], Polygon[{{-0.37689, -1.9642, 34.}, {-0.054159, -1.9993, 34.}, {-0.054159, -1.9993, 35.}, {-0.37689, -1.9642, 35.}}], Polygon[{{-0.054159, -1.9993, 34.}, {0.27, -1.9817, 34.}, {0.27, -1.9817, 35.}, {-0.054159, -1.9993, 35.}}], Polygon[{{0.27, -1.9817, 34.}, {0.58705, -1.9119, 34.}, {0.58705, -1.9119, 35.}, {0.27, -1.9817, 35.}}], Polygon[{{0.58705, -1.9119, 34.}, {0.88862, -1.7917, 34.}, {0.88862, -1.7917, 35.}, {0.58705, -1.9119, 35.}}], Polygon[{{0.88862, -1.7917, 34.}, {1.1668, -1.6244, 34.}, {1.1668, -1.6244, 35.}, {0.88862, -1.7917, 35.}}], Polygon[{{1.1668, -1.6244, 34.}, {1.4142, -1.4142, 34.}, {1.4142, -1.4142, 35.}, {1.1668, -1.6244, 35.}}]}, {Polygon[{{0., 0., 31.}, {1.4142, 1.4142, 31.}, {1.4142, 1.4142, 35.}, {0., 0., 35.}}]}, {Polygon[{{0., 0., 31.}, {1.4142, -1.4142, 31.}, {1.4142, -1.4142, 35.}, {0., 0., 35.}}]}, {Polygon[{{0., 0., 35.}, {0., 0., 35.}, {0.2917, 0.40609, 35.}, {0.35355, 0.35355, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {0.22216, 0.44794, 35.}, {0.2917, 0.40609, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {0.14676, 0.47798, 35.}, {0.22216, 0.44794, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {0.0675, 0.49542, 35.}, {0.14676, 0.47798, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {-0.01354, 0.49982, 35.}, {0.0675, 0.49542, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {-0.094223, 0.49104, 35.}, {-0.01354, 0.49982, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {-0.17242, 0.46933, 35.}, {-0.094223, 0.49104, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {-0.24608, 0.43525, 35.}, {-0.17242, 0.46933, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {-0.31325, 0.38971, 35.}, {-0.24608, 0.43525, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {-0.37218, 0.33389, 35.}, {-0.31325, 0.38971, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {-0.42129, 0.26928, 35.}, {-0.37218, 0.33389, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {-0.45931, 0.19758, 35.}, {-0.42129, 0.26928, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {-0.48522, 0.12067, 35.}, {-0.45931, 0.19758, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {-0.49835, 0.040579, 35.}, {-0.48522, 0.12067, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {-0.49835, -0.040579, 35.}, {-0.49835, 0.040579, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {-0.48522, -0.12067, 35.}, {-0.49835, -0.040579, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {-0.45931, -0.19758, 35.}, {-0.48522, -0.12067, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {-0.42129, -0.26928, 35.}, {-0.45931, -0.19758, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {-0.37218, -0.33389, 35.}, {-0.42129, -0.26928, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {-0.31325, -0.38971, 35.}, {-0.37218, -0.33389, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {-0.24608, -0.43525, 35.}, {-0.31325, -0.38971, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {-0.17242, -0.46933, 35.}, {-0.24608, -0.43525, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {-0.094223, -0.49104, 35.}, {-0.17242, -0.46933, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {-0.01354, -0.49982, 35.}, {-0.094223, -0.49104, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {0.0675, -0.49542, 35.}, {-0.01354, -0.49982, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {0.14676, -0.47798, 35.}, {0.0675, -0.49542, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {0.22216, -0.44794, 35.}, {0.14676, -0.47798, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {0.2917, -0.40609, 35.}, {0.22216, -0.44794, 35.}}], Polygon[{{0., 0., 35.}, {0., 0., 35.}, {0.35355, -0.35355, 35.}, {0.2917, -0.40609, 35.}}], Polygon[{{0.35355, 0.35355, 35.}, {0.2917, 0.40609, 35.}, {0.58339, 0.81219, 35.}, {0.70711, 0.70711, 35.}}], Polygon[{{0.2917, 0.40609, 35.}, {0.22216, 0.44794, 35.}, {0.44431, 0.89587, 35.}, {0.58339, 0.81219, 35.}}], Polygon[{{0.22216, 0.44794, 35.}, {0.14676, 0.47798, 35.}, {0.29352, 0.95595, 35.}, {0.44431, 0.89587, 35.}}], Polygon[{{0.14676, 0.47798, 35.}, {0.0675, 0.49542, 35.}, {0.135, 0.99085, 35.}, {0.29352, 0.95595, 35.}}], Polygon[{{0.0675, 0.49542, 35.}, {-0.01354, 0.49982, 35.}, {-0.027079, 0.99963, 35.}, {0.135, 0.99085, 35.}}], Polygon[{{-0.01354, 0.49982, 35.}, {-0.094223, 0.49104, 35.}, {-0.18845, 0.98208, 35.}, {-0.027079, 0.99963, 35.}}], Polygon[{{-0.094223, 0.49104, 35.}, {-0.17242, 0.46933, 35.}, {-0.34485, 0.93866, 35.}, {-0.18845, 0.98208, 35.}}], Polygon[{{-0.17242, 0.46933, 35.}, {-0.24608, 0.43525, 35.}, {-0.49216, 0.8705, 35.}, {-0.34485, 0.93866, 35.}}], Polygon[{{-0.24608, 0.43525, 35.}, {-0.31325, 0.38971, 35.}, {-0.62651, 0.77941, 35.}, {-0.49216, 0.8705, 35.}}], Polygon[{{-0.31325, 0.38971, 35.}, {-0.37218, 0.33389, 35.}, {-0.74435, 0.66779, 35.}, {-0.62651, 0.77941, 35.}}], Polygon[{{-0.37218, 0.33389, 35.}, {-0.42129, 0.26928, 35.}, {-0.84258, 0.53857, 35.}, {-0.74435, 0.66779, 35.}}], Polygon[{{-0.42129, 0.26928, 35.}, {-0.45931, 0.19758, 35.}, {-0.91861, 0.39516, 35.}, {-0.84258, 0.53857, 35.}}], Polygon[{{-0.45931, 0.19758, 35.}, {-0.48522, 0.12067, 35.}, {-0.97044, 0.24134, 35.}, {-0.91861, 0.39516, 35.}}], Polygon[{{-0.48522, 0.12067, 35.}, {-0.49835, 0.040579, 35.}, {-0.9967, 0.081159, 35.}, {-0.97044, 0.24134, 35.}}], Polygon[{{-0.49835, 0.040579, 35.}, {-0.49835, -0.040579, 35.}, {-0.9967, -0.081159, 35.}, {-0.9967, 0.081159, 35.}}], Polygon[{{-0.49835, -0.040579, 35.}, {-0.48522, -0.12067, 35.}, {-0.97044, -0.24134, 35.}, {-0.9967, -0.081159, 35.}}], Polygon[{{-0.48522, -0.12067, 35.}, {-0.45931, -0.19758, 35.}, {-0.91861, -0.39516, 35.}, {-0.97044, -0.24134, 35.}}], Polygon[{{-0.45931, -0.19758, 35.}, {-0.42129, -0.26928, 35.}, {-0.84258, -0.53857, 35.}, {-0.91861, -0.39516, 35.}}], Polygon[{{-0.42129, -0.26928, 35.}, {-0.37218, -0.33389, 35.}, {-0.74435, -0.66779, 35.}, {-0.84258, -0.53857, 35.}}], Polygon[{{-0.37218, -0.33389, 35.}, {-0.31325, -0.38971, 35.}, {-0.62651, -0.77941, 35.}, {-0.74435, -0.66779, 35.}}], Polygon[{{-0.31325, -0.38971, 35.}, {-0.24608, -0.43525, 35.}, {-0.49216, -0.8705, 35.}, {-0.62651, -0.77941, 35.}}], Polygon[{{-0.24608, -0.43525, 35.}, {-0.17242, -0.46933, 35.}, {-0.34485, -0.93866, 35.}, {-0.49216, -0.8705, 35.}}], Polygon[{{-0.17242, -0.46933, 35.}, {-0.094223, -0.49104, 35.}, {-0.18845, -0.98208, 35.}, {-0.34485, -0.93866, 35.}}], Polygon[{{-0.094223, -0.49104, 35.}, {-0.01354, -0.49982, 35.}, {-0.027079, -0.99963, 35.}, {-0.18845, -0.98208, 35.}}], Polygon[{{-0.01354, -0.49982, 35.}, {0.0675, -0.49542, 35.}, {0.135, -0.99085, 35.}, {-0.027079, -0.99963, 35.}}], Polygon[{{0.0675, -0.49542, 35.}, {0.14676, -0.47798, 35.}, {0.29352, -0.95595, 35.}, {0.135, -0.99085, 35.}}], Polygon[{{0.14676, -0.47798, 35.}, {0.22216, -0.44794, 35.}, {0.44431, -0.89587, 35.}, {0.29352, -0.95595, 35.}}], Polygon[{{0.22216, -0.44794, 35.}, {0.2917, -0.40609, 35.}, {0.58339, -0.81219, 35.}, {0.44431, -0.89587, 35.}}], Polygon[{{0.2917, -0.40609, 35.}, {0.35355, -0.35355, 35.}, {0.70711, -0.70711, 35.}, {0.58339, -0.81219, 35.}}], Polygon[{{0.70711, 0.70711, 35.}, {0.58339, 0.81219, 35.}, {0.87509, 1.2183, 35.}, {1.0607, 1.0607, 35.}}], Polygon[{{0.58339, 0.81219, 35.}, {0.44431, 0.89587, 35.}, {0.66647, 1.3438, 35.}, {0.87509, 1.2183, 35.}}], Polygon[{{0.44431, 0.89587, 35.}, {0.29352, 0.95595, 35.}, {0.44028, 1.4339, 35.}, {0.66647, 1.3438, 35.}}], Polygon[{{0.29352, 0.95595, 35.}, {0.135, 0.99085, 35.}, {0.2025, 1.4863, 35.}, {0.44028, 1.4339, 35.}}], Polygon[{{0.135, 0.99085, 35.}, {-0.027079, 0.99963, 35.}, {-0.040619, 1.4994, 35.}, {0.2025, 1.4863, 35.}}], Polygon[{{-0.027079, 0.99963, 35.}, {-0.18845, 0.98208, 35.}, {-0.28267, 1.4731, 35.}, {-0.040619, 1.4994, 35.}}], Polygon[{{-0.18845, 0.98208, 35.}, {-0.34485, 0.93866, 35.}, {-0.51727, 1.408, 35.}, {-0.28267, 1.4731, 35.}}], Polygon[{{-0.34485, 0.93866, 35.}, {-0.49216, 0.8705, 35.}, {-0.73824, 1.3058, 35.}, {-0.51727, 1.408, 35.}}], Polygon[{{-0.49216, 0.8705, 35.}, {-0.62651, 0.77941, 35.}, {-0.93976, 1.1691, 35.}, {-0.73824, 1.3058, 35.}}], Polygon[{{-0.62651, 0.77941, 35.}, {-0.74435, 0.66779, 35.}, {-1.1165, 1.0017, 35.}, {-0.93976, 1.1691, 35.}}], Polygon[{{-0.74435, 0.66779, 35.}, {-0.84258, 0.53857, 35.}, {-1.2639, 0.80785, 35.}, {-1.1165, 1.0017, 35.}}], Polygon[{{-0.84258, 0.53857, 35.}, {-0.91861, 0.39516, 35.}, {-1.3779, 0.59274, 35.}, {-1.2639, 0.80785, 35.}}], Polygon[{{-0.91861, 0.39516, 35.}, {-0.97044, 0.24134, 35.}, {-1.4557, 0.36201, 35.}, {-1.3779, 0.59274, 35.}}], Polygon[{{-0.97044, 0.24134, 35.}, {-0.9967, 0.081159, 35.}, {-1.4951, 0.12174, 35.}, {-1.4557, 0.36201, 35.}}], Polygon[{{-0.9967, 0.081159, 35.}, {-0.9967, -0.081159, 35.}, {-1.4951, -0.12174, 35.}, {-1.4951, 0.12174, 35.}}], Polygon[{{-0.9967, -0.081159, 35.}, {-0.97044, -0.24134, 35.}, {-1.4557, -0.36201, 35.}, {-1.4951, -0.12174, 35.}}], Polygon[{{-0.97044, -0.24134, 35.}, {-0.91861, -0.39516, 35.}, {-1.3779, -0.59274, 35.}, {-1.4557, -0.36201, 35.}}], Polygon[{{-0.91861, -0.39516, 35.}, {-0.84258, -0.53857, 35.}, {-1.2639, -0.80785, 35.}, {-1.3779, -0.59274, 35.}}], Polygon[{{-0.84258, -0.53857, 35.}, {-0.74435, -0.66779, 35.}, {-1.1165, -1.0017, 35.}, {-1.2639, -0.80785, 35.}}], Polygon[{{-0.74435, -0.66779, 35.}, {-0.62651, -0.77941, 35.}, {-0.93976, -1.1691, 35.}, {-1.1165, -1.0017, 35.}}], Polygon[{{-0.62651, -0.77941, 35.}, {-0.49216, -0.8705, 35.}, {-0.73824, -1.3058, 35.}, {-0.93976, -1.1691, 35.}}], Polygon[{{-0.49216, -0.8705, 35.}, {-0.34485, -0.93866, 35.}, {-0.51727, -1.408, 35.}, {-0.73824, -1.3058, 35.}}], Polygon[{{-0.34485, -0.93866, 35.}, {-0.18845, -0.98208, 35.}, {-0.28267, -1.4731, 35.}, {-0.51727, -1.408, 35.}}], Polygon[{{-0.18845, -0.98208, 35.}, {-0.027079, -0.99963, 35.}, {-0.040619, -1.4994, 35.}, {-0.28267, -1.4731, 35.}}], Polygon[{{-0.027079, -0.99963, 35.}, {0.135, -0.99085, 35.}, {0.2025, -1.4863, 35.}, {-0.040619, -1.4994, 35.}}], Polygon[{{0.135, -0.99085, 35.}, {0.29352, -0.95595, 35.}, {0.44028, -1.4339, 35.}, {0.2025, -1.4863, 35.}}], Polygon[{{0.29352, -0.95595, 35.}, {0.44431, -0.89587, 35.}, {0.66647, -1.3438, 35.}, {0.44028, -1.4339, 35.}}], Polygon[{{0.44431, -0.89587, 35.}, {0.58339, -0.81219, 35.}, {0.87509, -1.2183, 35.}, {0.66647, -1.3438, 35.}}], Polygon[{{0.58339, -0.81219, 35.}, {0.70711, -0.70711, 35.}, {1.0607, -1.0607, 35.}, {0.87509, -1.2183, 35.}}], Polygon[{{1.0607, 1.0607, 35.}, {0.87509, 1.2183, 35.}, {1.1668, 1.6244, 35.}, {1.4142, 1.4142, 35.}}], Polygon[{{0.87509, 1.2183, 35.}, {0.66647, 1.3438, 35.}, {0.88862, 1.7917, 35.}, {1.1668, 1.6244, 35.}}], Polygon[{{0.66647, 1.3438, 35.}, {0.44028, 1.4339, 35.}, {0.58705, 1.9119, 35.}, {0.88862, 1.7917, 35.}}], Polygon[{{0.44028, 1.4339, 35.}, {0.2025, 1.4863, 35.}, {0.27, 1.9817, 35.}, {0.58705, 1.9119, 35.}}], Polygon[{{0.2025, 1.4863, 35.}, {-0.040619, 1.4994, 35.}, {-0.054159, 1.9993, 35.}, {0.27, 1.9817, 35.}}], Polygon[{{-0.040619, 1.4994, 35.}, {-0.28267, 1.4731, 35.}, {-0.37689, 1.9642, 35.}, {-0.054159, 1.9993, 35.}}], Polygon[{{-0.28267, 1.4731, 35.}, {-0.51727, 1.408, 35.}, {-0.68969, 1.8773, 35.}, {-0.37689, 1.9642, 35.}}], Polygon[{{-0.51727, 1.408, 35.}, {-0.73824, 1.3058, 35.}, {-0.98432, 1.741, 35.}, {-0.68969, 1.8773, 35.}}], Polygon[{{-0.73824, 1.3058, 35.}, {-0.93976, 1.1691, 35.}, {-1.253, 1.5588, 35.}, {-0.98432, 1.741, 35.}}], Polygon[{{-0.93976, 1.1691, 35.}, {-1.1165, 1.0017, 35.}, {-1.4887, 1.3356, 35.}, {-1.253, 1.5588, 35.}}], Polygon[{{-1.1165, 1.0017, 35.}, {-1.2639, 0.80785, 35.}, {-1.6852, 1.0771, 35.}, {-1.4887, 1.3356, 35.}}], Polygon[{{-1.2639, 0.80785, 35.}, {-1.3779, 0.59274, 35.}, {-1.8372, 0.79032, 35.}, {-1.6852, 1.0771, 35.}}], Polygon[{{-1.3779, 0.59274, 35.}, {-1.4557, 0.36201, 35.}, {-1.9409, 0.48268, 35.}, {-1.8372, 0.79032, 35.}}], Polygon[{{-1.4557, 0.36201, 35.}, {-1.4951, 0.12174, 35.}, {-1.9934, 0.16232, 35.}, {-1.9409, 0.48268, 35.}}], Polygon[{{-1.4951, 0.12174, 35.}, {-1.4951, -0.12174, 35.}, {-1.9934, -0.16232, 35.}, {-1.9934, 0.16232, 35.}}], Polygon[{{-1.4951, -0.12174, 35.}, {-1.4557, -0.36201, 35.}, {-1.9409, -0.48268, 35.}, {-1.9934, -0.16232, 35.}}], Polygon[{{-1.4557, -0.36201, 35.}, {-1.3779, -0.59274, 35.}, {-1.8372, -0.79032, 35.}, {-1.9409, -0.48268, 35.}}], Polygon[{{-1.3779, -0.59274, 35.}, {-1.2639, -0.80785, 35.}, {-1.6852, -1.0771, 35.}, {-1.8372, -0.79032, 35.}}], Polygon[{{-1.2639, -0.80785, 35.}, {-1.1165, -1.0017, 35.}, {-1.4887, -1.3356, 35.}, {-1.6852, -1.0771, 35.}}], Polygon[{{-1.1165, -1.0017, 35.}, {-0.93976, -1.1691, 35.}, {-1.253, -1.5588, 35.}, {-1.4887, -1.3356, 35.}}], Polygon[{{-0.93976, -1.1691, 35.}, {-0.73824, -1.3058, 35.}, {-0.98432, -1.741, 35.}, {-1.253, -1.5588, 35.}}], Polygon[{{-0.73824, -1.3058, 35.}, {-0.51727, -1.408, 35.}, {-0.68969, -1.8773, 35.}, {-0.98432, -1.741, 35.}}], Polygon[{{-0.51727, -1.408, 35.}, {-0.28267, -1.4731, 35.}, {-0.37689, -1.9642, 35.}, {-0.68969, -1.8773, 35.}}], Polygon[{{-0.28267, -1.4731, 35.}, {-0.040619, -1.4994, 35.}, {-0.054159, -1.9993, 35.}, {-0.37689, -1.9642, 35.}}], Polygon[{{-0.040619, -1.4994, 35.}, {0.2025, -1.4863, 35.}, {0.27, -1.9817, 35.}, {-0.054159, -1.9993, 35.}}], Polygon[{{0.2025, -1.4863, 35.}, {0.44028, -1.4339, 35.}, {0.58705, -1.9119, 35.}, {0.27, -1.9817, 35.}}], Polygon[{{0.44028, -1.4339, 35.}, {0.66647, -1.3438, 35.}, {0.88862, -1.7917, 35.}, {0.58705, -1.9119, 35.}}], Polygon[{{0.66647, -1.3438, 35.}, {0.87509, -1.2183, 35.}, {1.1668, -1.6244, 35.}, {0.88862, -1.7917, 35.}}], Polygon[{{0.87509, -1.2183, 35.}, {1.0607, -1.0607, 35.}, {1.4142, -1.4142, 35.}, {1.1668, -1.6244, 35.}}]}}, {AxesLabel -> {"x", "y", "z"}, Axes -> True, TextStyle -> {FontFamily -> "Times", FontSize -> 16.}, AmbientLight -> GrayLevel[0.15], PlotRange -> {{-10., 10.}, {-10., 10.}, {4., 36.}}, PlotRange -> Automatic, DisplayFunction :> $DisplayFunction, ColorOutput -> Automatic, Axes -> True, PlotLabel -> None, AxesLabel -> None, Ticks -> Automatic, Prolog -> {}, Epilog -> {}, AxesStyle -> Automatic, Background -> Automatic, DefaultColor -> Automatic, DefaultFont :> $DefaultFont, AspectRatio -> Automatic, ViewPoint -> {1.3, -2.4, 2.}, Boxed -> True, BoxRatios -> Automatic, Plot3Matrix -> Automatic, Lighting -> True, AmbientLight -> GrayLevel[0.], LightSources -> {{{1., 0., 1.}, RGBColor[1., 0., 0.]}, {{1., 1., 1.}, RGBColor[0., 1., 0.]}, {{0., 1., 1.}, RGBColor[0., 0., 1.]}}, ViewCenter -> Automatic, PlotRegion -> Automatic, ImageSize -> Automatic, TextStyle :> $TextStyle, FormatType :> $FormatType, ViewVertical -> {0., 0., 1.}, FaceGrids -> None, Shading -> True, RenderAll -> True, PolygonIntersections -> True, AxesEdge -> Automatic, BoxStyle -> Automatic, SphericalRegion -> False}]
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aBREPSolidPolyhedra.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aBREPSolidPolyhedra.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aBREPSolidPolyhedra.txt	(revision 904)
@@ -0,0 +1,1 @@
+Graphics3D[{Polygon[{{0., 0., 0.}, {10.607, -10.607, 5.}, {12.99, 7.5, 5.}, {0., 0., 0.}}], Polygon[{{0., 0., 0.}, {12.99, 7.5, 5.}, {-3.8823, 14.489, 5.}, {0., 0., 0.}}], Polygon[{{0., 0., 0.}, {-3.8823, 14.489, 5.}, {-15., 0., 5.}, {0., 0., 0.}}], {Polygon[{{0., 0., 0.}, {0., 0., 0.}, {10.607, -10.607, 5.}, {0., 0., 5.}}]}, {Polygon[{{0., 0., 0.}, {0., 0., 0.}, {-15., 1.8369*^-15, 5.}, {0., 0., 5.}}]}, Polygon[{{10.607, -10.607, 5.}, {12.99, 7.5, 5.}, {12.99, 7.5, 8.}, {10.607, -10.607, 8.}}], Polygon[{{12.99, 7.5, 5.}, {-3.8823, 14.489, 5.}, {-3.8823, 14.489, 8.}, {12.99, 7.5, 8.}}], Polygon[{{-3.8823, 14.489, 5.}, {-15., 0., 5.}, {-15., 0., 8.}, {-3.8823, 14.489, 8.}}], {Polygon[{{0., 0., 5.}, {10.607, -10.607, 5.}, {10.607, -10.607, 8.}, {0., 0., 8.}}]}, {Polygon[{{0., 0., 5.}, {-15., 1.8369*^-15, 5.}, {-15., 1.8369*^-15, 8.}, {0., 0., 8.}}]}, Polygon[{{10.607, -10.607, 8.}, {12.99, 7.5, 8.}, {3.4641, 2., 13.}, {2.8284, -2.8284, 13.}}], Polygon[{{12.99, 7.5, 8.}, {-3.8823, 14.489, 8.}, {-1.0353, 3.8637, 13.}, {3.4641, 2., 13.}}], Polygon[{{-3.8823, 14.489, 8.}, {-15., 0., 8.}, {-4., 0., 13.}, {-1.0353, 3.8637, 13.}}], {Polygon[{{0., 0., 8.}, {10.607, -10.607, 8.}, {2.8284, -2.8284, 13.}, {0., 0., 13.}}]}, {Polygon[{{0., 0., 8.}, {-15., 1.8369*^-15, 8.}, {-4., 4.8984*^-16, 13.}, {0., 0., 13.}}]}, Polygon[{{2.8284, -2.8284, 13.}, {3.4641, 2., 13.}, {3.4641, 2., 30.}, {2.8284, -2.8284, 30.}}], Polygon[{{3.4641, 2., 13.}, {-1.0353, 3.8637, 13.}, {-1.0353, 3.8637, 30.}, {3.4641, 2., 30.}}], Polygon[{{-1.0353, 3.8637, 13.}, {-4., 0., 13.}, {-4., 0., 30.}, {-1.0353, 3.8637, 30.}}], {Polygon[{{0., 0., 13.}, {2.8284, -2.8284, 13.}, {2.8284, -2.8284, 30.}, {0., 0., 30.}}]}, {Polygon[{{0., 0., 13.}, {-4., 4.8984*^-16, 13.}, {-4., 4.8984*^-16, 30.}, {0., 0., 30.}}]}, Polygon[{{2.8284, -2.8284, 30.}, {3.4641, 2., 30.}, {8.6603, 5., 32.}, {7.0711, -7.0711, 32.}}], Polygon[{{3.4641, 2., 30.}, {-1.0353, 3.8637, 30.}, {-2.5882, 9.6593, 32.}, {8.6603, 5., 32.}}], Polygon[{{-1.0353, 3.8637, 30.}, {-4., 0., 30.}, {-10., 0., 32.}, {-2.5882, 9.6593, 32.}}], {Polygon[{{0., 0., 30.}, {2.8284, -2.8284, 30.}, {7.0711, -7.0711, 32.}, {0., 0., 32.}}]}, {Polygon[{{0., 0., 30.}, {-4., 4.8984*^-16, 30.}, {-10., 1.2246*^-15, 32.}, {0., 0., 32.}}]}, Polygon[{{7.0711, -7.0711, 32.}, {8.6603, 5., 32.}, {8.6603, 5., 35.}, {7.0711, -7.0711, 35.}}], Polygon[{{8.6603, 5., 32.}, {-2.5882, 9.6593, 32.}, {-2.5882, 9.6593, 35.}, {8.6603, 5., 35.}}], Polygon[{{-2.5882, 9.6593, 32.}, {-10., 0., 32.}, {-10., 0., 35.}, {-2.5882, 9.6593, 35.}}], {Polygon[{{0., 0., 32.}, {7.0711, -7.0711, 32.}, {7.0711, -7.0711, 35.}, {0., 0., 35.}}]}, {Polygon[{{0., 0., 32.}, {-10., 1.2246*^-15, 32.}, {-10., 1.2246*^-15, 35.}, {0., 0., 35.}}]}, Polygon[{{7.0711, -7.0711, 35.}, {8.6603, 5., 35.}, {-2.5882, 9.6593, 35.}, {-10., 0., 35.}, {0., 0., 35.}}]}, {AmbientLight -> GrayLevel[0.15], PlotRange -> {{-15., 15.}, {-15., 15.}, {-1., 36.}}, Axes -> True, AxesLabel -> {"x", "y", "z"}, TextStyle -> {FontFamily -> "Times", FontSize -> 16.}}]
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aBox.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aBox.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aBox.txt	(revision 904)
@@ -0,0 +1,1 @@
+Graphics3D[{{Polygon[{{-30., -40., 60.}, {30., -40., 60.}, {30., 40., 60.}, {-30., 40., 60.}}]}, {Polygon[{{-30., -40., -60.}, {30., -40., -60.}, {30., 40., -60.}, {-30., 40., -60.}}]}, {Polygon[{{-30., 40., -60.}, {30., 40., -60.}, {30., 40., 60.}, {-30., 40., 60.}}]}, {Polygon[{{-30., -40., -60.}, {30., -40., -60.}, {30., -40., 60.}, {-30., -40., 60.}}]}, {Polygon[{{30., -40., -60.}, {30., 40., -60.}, {30., 40., 60.}, {30., -40., 60.}}]}, {Polygon[{{-30., -40., -60.}, {-30., 40., -60.}, {-30., 40., 60.}, {-30., -40., 60.}}]}}, {AmbientLight -> GrayLevel[0.15], PlotRange -> Automatic, DisplayFunction :> $DisplayFunction, ColorOutput -> Automatic, Axes -> True, PlotLabel -> None, AxesLabel -> {"x", "y", "z"}, Ticks -> Automatic, Prolog -> {}, Epilog -> {}, AxesStyle -> Automatic, Background -> Automatic, DefaultColor -> Automatic, DefaultFont :> $DefaultFont, AspectRatio -> Automatic, ViewPoint -> {1.3, -2.4, 2.}, Boxed -> True, BoxRatios -> Automatic, Plot3Matrix -> Automatic, Lighting -> True, AmbientLight -> GrayLevel[0.], LightSources -> {{{1., 0., 1.}, RGBColor[1., 0., 0.]}, {{1., 1., 1.}, RGBColor[0., 1., 0.]}, {{0., 1., 1.}, RGBColor[0., 0., 1.]}}, ViewCenter -> Automatic, PlotRegion -> Automatic, ImageSize -> Automatic, TextStyle :> {FontFamily -> "Times", FontSize -> 16.}, FormatType :> $FormatType, ViewVertical -> {0., 0., 1.}, FaceGrids -> None, Shading -> True, RenderAll -> True, PolygonIntersections -> True, AxesEdge -> Automatic, BoxStyle -> Automatic, SphericalRegion -> False}]
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aCons.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aCons.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aCons.txt	(revision 904)
@@ -0,0 +1,1 @@
+Graphics3D[{{Polygon[{{5., 0., -40.}, {4.879, 1.0934, -40.}, {5.6493, 1.266, -35.789}, {5.7895, 0., -35.789}}], Polygon[{{4.879, 1.0934, -40.}, {4.5218, 2.1339, -40.}, {5.2358, 2.4708, -35.789}, {5.6493, 1.266, -35.789}}], Polygon[{{4.5218, 2.1339, -40.}, {3.9457, 3.0711, -40.}, {4.5687, 3.556, -35.789}, {5.2358, 2.4708, -35.789}}], Polygon[{{3.9457, 3.0711, -40.}, {3.1786, 3.8596, -40.}, {3.6805, 4.469, -35.789}, {4.5687, 3.556, -35.789}}], Polygon[{{3.1786, 3.8596, -40.}, {2.2577, 4.4613, -40.}, {2.6141, 5.1657, -35.789}, {3.6805, 4.469, -35.789}}], Polygon[{{2.2577, 4.4613, -40.}, {1.2274, 4.847, -40.}, {1.4212, 5.6123, -35.789}, {2.6141, 5.1657, -35.789}}], Polygon[{{1.2274, 4.847, -40.}, {0.13777, 4.9981, -40.}, {0.15953, 5.7873, -35.789}, {1.4212, 5.6123, -35.789}}], Polygon[{{0.13777, 4.9981, -40.}, {-0.95855, 4.9073, -40.}, {-1.1099, 5.6821, -35.789}, {0.15953, 5.7873, -35.789}}], Polygon[{{-0.95855, 4.9073, -40.}, {-2.0085, 4.5789, -40.}, {-2.3256, 5.3018, -35.789}, {-1.1099, 5.6821, -35.789}}], Polygon[{{-2.0085, 4.5789, -40.}, {-2.9612, 4.0288, -40.}, {-3.4287, 4.665, -35.789}, {-2.3256, 5.3018, -35.789}}], Polygon[{{-2.9612, 4.0288, -40.}, {-3.7705, 3.2838, -40.}, {-4.3659, 3.8022, -35.789}, {-3.4287, 4.665, -35.789}}], Polygon[{{-3.7705, 3.2838, -40.}, {-4.3974, 2.3797, -40.}, {-5.0917, 2.7555, -35.789}, {-4.3659, 3.8022, -35.789}}], Polygon[{{-4.3974, 2.3797, -40.}, {-4.8113, 1.3605, -40.}, {-5.571, 1.5753, -35.789}, {-5.0917, 2.7555, -35.789}}], Polygon[{{-4.8113, 1.3605, -40.}, {-4.9924, 0.27544, -40.}, {-5.7807, 0.31893, -35.789}, {-5.571, 1.5753, -35.789}}], Polygon[{{-4.9924, 0.27544, -40.}, {-4.9318, -0.82297, -40.}, {-5.7105, -0.95292, -35.789}, {-5.7807, 0.31893, -35.789}}], Polygon[{{-4.9318, -0.82297, -40.}, {-4.6325, -1.8815, -40.}, {-5.3639, -2.1786, -35.789}, {-5.7105, -0.95292, -35.789}}], Polygon[{{-4.6325, -1.8815, -40.}, {-4.1089, -2.849, -40.}, {-4.7577, -3.2989, -35.789}, {-5.3639, -2.1786, -35.789}}], Polygon[{{-4.1089, -2.849, -40.}, {-3.3864, -3.6786, -40.}, {-3.9211, -4.2595, -35.789}, {-4.7577, -3.2989, -35.789}}], Polygon[{{-3.3864, -3.6786, -40.}, {-2.5, -4.3301, -40.}, {-2.8947, -5.0138, -35.789}, {-3.9211, -4.2595, -35.789}}], Polygon[{{5.7895, 0., -35.789}, {5.6493, 1.266, -35.789}, {6.4197, 1.4387, -31.579}, {6.5789, 0., -31.579}}], Polygon[{{5.6493, 1.266, -35.789}, {5.2358, 2.4708, -35.789}, {5.9497, 2.8077, -31.579}, {6.4197, 1.4387, -31.579}}], Polygon[{{5.2358, 2.4708, -35.789}, {4.5687, 3.556, -35.789}, {5.1917, 4.0409, -31.579}, {5.9497, 2.8077, -31.579}}], Polygon[{{4.5687, 3.556, -35.789}, {3.6805, 4.469, -35.789}, {4.1824, 5.0784, -31.579}, {5.1917, 4.0409, -31.579}}], Polygon[{{3.6805, 4.469, -35.789}, {2.6141, 5.1657, -35.789}, {2.9706, 5.8701, -31.579}, {4.1824, 5.0784, -31.579}}], Polygon[{{2.6141, 5.1657, -35.789}, {1.4212, 5.6123, -35.789}, {1.615, 6.3776, -31.579}, {2.9706, 5.8701, -31.579}}], Polygon[{{1.4212, 5.6123, -35.789}, {0.15953, 5.7873, -35.789}, {0.18128, 6.5764, -31.579}, {1.615, 6.3776, -31.579}}], Polygon[{{0.15953, 5.7873, -35.789}, {-1.1099, 5.6821, -35.789}, {-1.2613, 6.4569, -31.579}, {0.18128, 6.5764, -31.579}}], Polygon[{{-1.1099, 5.6821, -35.789}, {-2.3256, 5.3018, -35.789}, {-2.6427, 6.0248, -31.579}, {-1.2613, 6.4569, -31.579}}], Polygon[{{-2.3256, 5.3018, -35.789}, {-3.4287, 4.665, -35.789}, {-3.8963, 5.3011, -31.579}, {-2.6427, 6.0248, -31.579}}], Polygon[{{-3.4287, 4.665, -35.789}, {-4.3659, 3.8022, -35.789}, {-4.9612, 4.3207, -31.579}, {-3.8963, 5.3011, -31.579}}], Polygon[{{-4.3659, 3.8022, -35.789}, {-5.0917, 2.7555, -35.789}, {-5.786, 3.1312, -31.579}, {-4.9612, 4.3207, -31.579}}], Polygon[{{-5.0917, 2.7555, -35.789}, {-5.571, 1.5753, -35.789}, {-6.3307, 1.7902, -31.579}, {-5.786, 3.1312, -31.579}}], Polygon[{{-5.571, 1.5753, -35.789}, {-5.7807, 0.31893, -35.789}, {-6.569, 0.36242, -31.579}, {-6.3307, 1.7902, -31.579}}], Polygon[{{-5.7807, 0.31893, -35.789}, {-5.7105, -0.95292, -35.789}, {-6.4892, -1.0829, -31.579}, {-6.569, 0.36242, -31.579}}], Polygon[{{-5.7105, -0.95292, -35.789}, {-5.3639, -2.1786, -35.789}, {-6.0954, -2.4757, -31.579}, {-6.4892, -1.0829, -31.579}}], Polygon[{{-5.3639, -2.1786, -35.789}, {-4.7577, -3.2989, -35.789}, {-5.4064, -3.7487, -31.579}, {-6.0954, -2.4757, -31.579}}], Polygon[{{-4.7577, -3.2989, -35.789}, {-3.9211, -4.2595, -35.789}, {-4.4558, -4.8403, -31.579}, {-5.4064, -3.7487, -31.579}}], Polygon[{{-3.9211, -4.2595, -35.789}, {-2.8947, -5.0138, -35.789}, {-3.2895, -5.6975, -31.579}, {-4.4558, -4.8403, -31.579}}], Polygon[{{6.5789, 0., -31.579}, {6.4197, 1.4387, -31.579}, {7.1901, 1.6113, -27.368}, {7.3684, 0., -27.368}}], Polygon[{{6.4197, 1.4387, -31.579}, {5.9497, 2.8077, -31.579}, {6.6637, 3.1447, -27.368}, {7.1901, 1.6113, -27.368}}], Polygon[{{5.9497, 2.8077, -31.579}, {5.1917, 4.0409, -31.579}, {5.8147, 4.5258, -27.368}, {6.6637, 3.1447, -27.368}}], Polygon[{{5.1917, 4.0409, -31.579}, {4.1824, 5.0784, -31.579}, {4.6843, 5.6878, -27.368}, {5.8147, 4.5258, -27.368}}], Polygon[{{4.1824, 5.0784, -31.579}, {2.9706, 5.8701, -31.579}, {3.3271, 6.5745, -27.368}, {4.6843, 5.6878, -27.368}}], Polygon[{{2.9706, 5.8701, -31.579}, {1.615, 6.3776, -31.579}, {1.8088, 7.1429, -27.368}, {3.3271, 6.5745, -27.368}}], Polygon[{{1.615, 6.3776, -31.579}, {0.18128, 6.5764, -31.579}, {0.20303, 7.3656, -27.368}, {1.8088, 7.1429, -27.368}}], Polygon[{{0.18128, 6.5764, -31.579}, {-1.2613, 6.4569, -31.579}, {-1.4126, 7.2317, -27.368}, {0.20303, 7.3656, -27.368}}], Polygon[{{-1.2613, 6.4569, -31.579}, {-2.6427, 6.0248, -31.579}, {-2.9599, 6.7478, -27.368}, {-1.4126, 7.2317, -27.368}}], Polygon[{{-2.6427, 6.0248, -31.579}, {-3.8963, 5.3011, -31.579}, {-4.3638, 5.9372, -27.368}, {-2.9599, 6.7478, -27.368}}], Polygon[{{-3.8963, 5.3011, -31.579}, {-4.9612, 4.3207, -31.579}, {-5.5566, 4.8392, -27.368}, {-4.3638, 5.9372, -27.368}}], Polygon[{{-4.9612, 4.3207, -31.579}, {-5.786, 3.1312, -31.579}, {-6.4803, 3.507, -27.368}, {-5.5566, 4.8392, -27.368}}], Polygon[{{-5.786, 3.1312, -31.579}, {-6.3307, 1.7902, -31.579}, {-7.0904, 2.005, -27.368}, {-6.4803, 3.507, -27.368}}], Polygon[{{-6.3307, 1.7902, -31.579}, {-6.569, 0.36242, -31.579}, {-7.3572, 0.40591, -27.368}, {-7.0904, 2.005, -27.368}}], Polygon[{{-6.569, 0.36242, -31.579}, {-6.4892, -1.0829, -31.579}, {-7.2679, -1.2128, -27.368}, {-7.3572, 0.40591, -27.368}}], Polygon[{{-6.4892, -1.0829, -31.579}, {-6.0954, -2.4757, -31.579}, {-6.8268, -2.7728, -27.368}, {-7.2679, -1.2128, -27.368}}], Polygon[{{-6.0954, -2.4757, -31.579}, {-5.4064, -3.7487, -31.579}, {-6.0552, -4.1986, -27.368}, {-6.8268, -2.7728, -27.368}}], Polygon[{{-5.4064, -3.7487, -31.579}, {-4.4558, -4.8403, -31.579}, {-4.9905, -5.4211, -27.368}, {-6.0552, -4.1986, -27.368}}], Polygon[{{-4.4558, -4.8403, -31.579}, {-3.2895, -5.6975, -31.579}, {-3.6842, -6.3812, -27.368}, {-4.9905, -5.4211, -27.368}}], Polygon[{{7.3684, 0., -27.368}, {7.1901, 1.6113, -27.368}, {7.9604, 1.784, -23.158}, {8.1579, 0., -23.158}}], Polygon[{{7.1901, 1.6113, -27.368}, {6.6637, 3.1447, -27.368}, {7.3777, 3.4816, -23.158}, {7.9604, 1.784, -23.158}}], Polygon[{{6.6637, 3.1447, -27.368}, {5.8147, 4.5258, -27.368}, {6.4377, 5.0107, -23.158}, {7.3777, 3.4816, -23.158}}], Polygon[{{5.8147, 4.5258, -27.368}, {4.6843, 5.6878, -27.368}, {5.1862, 6.2972, -23.158}, {6.4377, 5.0107, -23.158}}], Polygon[{{4.6843, 5.6878, -27.368}, {3.3271, 6.5745, -27.368}, {3.6836, 7.2789, -23.158}, {5.1862, 6.2972, -23.158}}], Polygon[{{3.3271, 6.5745, -27.368}, {1.8088, 7.1429, -27.368}, {2.0026, 7.9083, -23.158}, {3.6836, 7.2789, -23.158}}], Polygon[{{1.8088, 7.1429, -27.368}, {0.20303, 7.3656, -27.368}, {0.22479, 8.1548, -23.158}, {2.0026, 7.9083, -23.158}}], Polygon[{{0.20303, 7.3656, -27.368}, {-1.4126, 7.2317, -27.368}, {-1.564, 8.0066, -23.158}, {0.22479, 8.1548, -23.158}}], Polygon[{{-1.4126, 7.2317, -27.368}, {-2.9599, 6.7478, -27.368}, {-3.277, 7.4708, -23.158}, {-1.564, 8.0066, -23.158}}], Polygon[{{-2.9599, 6.7478, -27.368}, {-4.3638, 5.9372, -27.368}, {-4.8314, 6.5733, -23.158}, {-3.277, 7.4708, -23.158}}], Polygon[{{-4.3638, 5.9372, -27.368}, {-5.5566, 4.8392, -27.368}, {-6.1519, 5.3577, -23.158}, {-4.8314, 6.5733, -23.158}}], Polygon[{{-5.5566, 4.8392, -27.368}, {-6.4803, 3.507, -27.368}, {-7.1747, 3.8827, -23.158}, {-6.1519, 5.3577, -23.158}}], Polygon[{{-6.4803, 3.507, -27.368}, {-7.0904, 2.005, -27.368}, {-7.8501, 2.2198, -23.158}, {-7.1747, 3.8827, -23.158}}], Polygon[{{-7.0904, 2.005, -27.368}, {-7.3572, 0.40591, -27.368}, {-8.1455, 0.4494, -23.158}, {-7.8501, 2.2198, -23.158}}], Polygon[{{-7.3572, 0.40591, -27.368}, {-7.2679, -1.2128, -27.368}, {-8.0466, -1.3427, -23.158}, {-8.1455, 0.4494, -23.158}}], Polygon[{{-7.2679, -1.2128, -27.368}, {-6.8268, -2.7728, -27.368}, {-7.5582, -3.0699, -23.158}, {-8.0466, -1.3427, -23.158}}], Polygon[{{-6.8268, -2.7728, -27.368}, {-6.0552, -4.1986, -27.368}, {-6.704, -4.6484, -23.158}, {-7.5582, -3.0699, -23.158}}], Polygon[{{-6.0552, -4.1986, -27.368}, {-4.9905, -5.4211, -27.368}, {-5.5252, -6.002, -23.158}, {-6.704, -4.6484, -23.158}}], Polygon[{{-4.9905, -5.4211, -27.368}, {-3.6842, -6.3812, -27.368}, {-4.0789, -7.0649, -23.158}, {-5.5252, -6.002, -23.158}}], Polygon[{{8.1579, 0., -23.158}, {7.9604, 1.784, -23.158}, {8.7308, 1.9566, -18.947}, {8.9474, 0., -18.947}}], Polygon[{{7.9604, 1.784, -23.158}, {7.3777, 3.4816, -23.158}, {8.0916, 3.8185, -18.947}, {8.7308, 1.9566, -18.947}}], Polygon[{{7.3777, 3.4816, -23.158}, {6.4377, 5.0107, -23.158}, {7.0607, 5.4956, -18.947}, {8.0916, 3.8185, -18.947}}], Polygon[{{6.4377, 5.0107, -23.158}, {5.1862, 6.2972, -23.158}, {5.6881, 6.9066, -18.947}, {7.0607, 5.4956, -18.947}}], Polygon[{{5.1862, 6.2972, -23.158}, {3.6836, 7.2789, -23.158}, {4.04, 7.9833, -18.947}, {5.6881, 6.9066, -18.947}}], Polygon[{{3.6836, 7.2789, -23.158}, {2.0026, 7.9083, -23.158}, {2.1964, 8.6736, -18.947}, {4.04, 7.9833, -18.947}}], Polygon[{{2.0026, 7.9083, -23.158}, {0.22479, 8.1548, -23.158}, {0.24654, 8.944, -18.947}, {2.1964, 8.6736, -18.947}}], Polygon[{{0.22479, 8.1548, -23.158}, {-1.564, 8.0066, -23.158}, {-1.7153, 8.7814, -18.947}, {0.24654, 8.944, -18.947}}], Polygon[{{-1.564, 8.0066, -23.158}, {-3.277, 7.4708, -23.158}, {-3.5941, 8.1938, -18.947}, {-1.7153, 8.7814, -18.947}}], Polygon[{{-3.277, 7.4708, -23.158}, {-4.8314, 6.5733, -23.158}, {-5.2989, 7.2095, -18.947}, {-3.5941, 8.1938, -18.947}}], Polygon[{{-4.8314, 6.5733, -23.158}, {-6.1519, 5.3577, -23.158}, {-6.7473, 5.8762, -18.947}, {-5.2989, 7.2095, -18.947}}], Polygon[{{-6.1519, 5.3577, -23.158}, {-7.1747, 3.8827, -23.158}, {-7.869, 4.2585, -18.947}, {-6.7473, 5.8762, -18.947}}], Polygon[{{-7.1747, 3.8827, -23.158}, {-7.8501, 2.2198, -23.158}, {-8.6098, 2.4346, -18.947}, {-7.869, 4.2585, -18.947}}], Polygon[{{-7.8501, 2.2198, -23.158}, {-8.1455, 0.4494, -23.158}, {-8.9338, 0.49289, -18.947}, {-8.6098, 2.4346, -18.947}}], Polygon[{{-8.1455, 0.4494, -23.158}, {-8.0466, -1.3427, -23.158}, {-8.8253, -1.4727, -18.947}, {-8.9338, 0.49289, -18.947}}], Polygon[{{-8.0466, -1.3427, -23.158}, {-7.5582, -3.0699, -23.158}, {-8.2897, -3.367, -18.947}, {-8.8253, -1.4727, -18.947}}], Polygon[{{-7.5582, -3.0699, -23.158}, {-6.704, -4.6484, -23.158}, {-7.3527, -5.0983, -18.947}, {-8.2897, -3.367, -18.947}}], Polygon[{{-6.704, -4.6484, -23.158}, {-5.5252, -6.002, -23.158}, {-6.0599, -6.5828, -18.947}, {-7.3527, -5.0983, -18.947}}], Polygon[{{-5.5252, -6.002, -23.158}, {-4.0789, -7.0649, -23.158}, {-4.4737, -7.7486, -18.947}, {-6.0599, -6.5828, -18.947}}], Polygon[{{8.9474, 0., -18.947}, {8.7308, 1.9566, -18.947}, {9.5012, 2.1293, -14.737}, {9.7368, 0., -14.737}}], Polygon[{{8.7308, 1.9566, -18.947}, {8.0916, 3.8185, -18.947}, {8.8056, 4.1555, -14.737}, {9.5012, 2.1293, -14.737}}], Polygon[{{8.0916, 3.8185, -18.947}, {7.0607, 5.4956, -18.947}, {7.6837, 5.9805, -14.737}, {8.8056, 4.1555, -14.737}}], Polygon[{{7.0607, 5.4956, -18.947}, {5.6881, 6.9066, -18.947}, {6.1899, 7.516, -14.737}, {7.6837, 5.9805, -14.737}}], Polygon[{{5.6881, 6.9066, -18.947}, {4.04, 7.9833, -18.947}, {4.3965, 8.6877, -14.737}, {6.1899, 7.516, -14.737}}], Polygon[{{4.04, 7.9833, -18.947}, {2.1964, 8.6736, -18.947}, {2.3903, 9.4389, -14.737}, {4.3965, 8.6877, -14.737}}], Polygon[{{2.1964, 8.6736, -18.947}, {0.24654, 8.944, -18.947}, {0.26829, 9.7331, -14.737}, {2.3903, 9.4389, -14.737}}], Polygon[{{0.24654, 8.944, -18.947}, {-1.7153, 8.7814, -18.947}, {-1.8667, 9.5562, -14.737}, {0.26829, 9.7331, -14.737}}], Polygon[{{-1.7153, 8.7814, -18.947}, {-3.5941, 8.1938, -18.947}, {-3.9112, 8.9167, -14.737}, {-1.8667, 9.5562, -14.737}}], Polygon[{{-3.5941, 8.1938, -18.947}, {-5.2989, 7.2095, -18.947}, {-5.7665, 7.8456, -14.737}, {-3.9112, 8.9167, -14.737}}], Polygon[{{-5.2989, 7.2095, -18.947}, {-6.7473, 5.8762, -18.947}, {-7.3426, 6.3947, -14.737}, {-5.7665, 7.8456, -14.737}}], Polygon[{{-6.7473, 5.8762, -18.947}, {-7.869, 4.2585, -18.947}, {-8.5633, 4.6342, -14.737}, {-7.3426, 6.3947, -14.737}}], Polygon[{{-7.869, 4.2585, -18.947}, {-8.6098, 2.4346, -18.947}, {-9.3695, 2.6494, -14.737}, {-8.5633, 4.6342, -14.737}}], Polygon[{{-8.6098, 2.4346, -18.947}, {-8.9338, 0.49289, -18.947}, {-9.7221, 0.53638, -14.737}, {-9.3695, 2.6494, -14.737}}], Polygon[{{-8.9338, 0.49289, -18.947}, {-8.8253, -1.4727, -18.947}, {-9.604, -1.6026, -14.737}, {-9.7221, 0.53638, -14.737}}], Polygon[{{-8.8253, -1.4727, -18.947}, {-8.2897, -3.367, -18.947}, {-9.0211, -3.6641, -14.737}, {-9.604, -1.6026, -14.737}}], Polygon[{{-8.2897, -3.367, -18.947}, {-7.3527, -5.0983, -18.947}, {-8.0015, -5.5481, -14.737}, {-9.0211, -3.6641, -14.737}}], Polygon[{{-7.3527, -5.0983, -18.947}, {-6.0599, -6.5828, -18.947}, {-6.5946, -7.1636, -14.737}, {-8.0015, -5.5481, -14.737}}], Polygon[{{-6.0599, -6.5828, -18.947}, {-4.4737, -7.7486, -18.947}, {-4.8684, -8.4324, -14.737}, {-6.5946, -7.1636, -14.737}}], Polygon[{{9.7368, 0., -14.737}, {9.5012, 2.1293, -14.737}, {10.272, 2.3019, -10.526}, {10.526, 0., -10.526}}], Polygon[{{9.5012, 2.1293, -14.737}, {8.8056, 4.1555, -14.737}, {9.5195, 4.4924, -10.526}, {10.272, 2.3019, -10.526}}], Polygon[{{8.8056, 4.1555, -14.737}, {7.6837, 5.9805, -14.737}, {8.3067, 6.4654, -10.526}, {9.5195, 4.4924, -10.526}}], Polygon[{{7.6837, 5.9805, -14.737}, {6.1899, 7.516, -14.737}, {6.6918, 8.1254, -10.526}, {8.3067, 6.4654, -10.526}}], Polygon[{{6.1899, 7.516, -14.737}, {4.3965, 8.6877, -14.737}, {4.753, 9.3921, -10.526}, {6.6918, 8.1254, -10.526}}], Polygon[{{4.3965, 8.6877, -14.737}, {2.3903, 9.4389, -14.737}, {2.5841, 10.204, -10.526}, {4.753, 9.3921, -10.526}}], Polygon[{{2.3903, 9.4389, -14.737}, {0.26829, 9.7331, -14.737}, {0.29005, 10.522, -10.526}, {2.5841, 10.204, -10.526}}], Polygon[{{0.26829, 9.7331, -14.737}, {-1.8667, 9.5562, -14.737}, {-2.018, 10.331, -10.526}, {0.29005, 10.522, -10.526}}], Polygon[{{-1.8667, 9.5562, -14.737}, {-3.9112, 8.9167, -14.737}, {-4.2284, 9.6397, -10.526}, {-2.018, 10.331, -10.526}}], Polygon[{{-3.9112, 8.9167, -14.737}, {-5.7665, 7.8456, -14.737}, {-6.2341, 8.4817, -10.526}, {-4.2284, 9.6397, -10.526}}], Polygon[{{-5.7665, 7.8456, -14.737}, {-7.3426, 6.3947, -14.737}, {-7.938, 6.9132, -10.526}, {-6.2341, 8.4817, -10.526}}], Polygon[{{-7.3426, 6.3947, -14.737}, {-8.5633, 4.6342, -14.737}, {-9.2576, 5.01, -10.526}, {-7.938, 6.9132, -10.526}}], Polygon[{{-8.5633, 4.6342, -14.737}, {-9.3695, 2.6494, -14.737}, {-10.129, 2.8642, -10.526}, {-9.2576, 5.01, -10.526}}], Polygon[{{-9.3695, 2.6494, -14.737}, {-9.7221, 0.53638, -14.737}, {-10.51, 0.57987, -10.526}, {-10.129, 2.8642, -10.526}}], Polygon[{{-9.7221, 0.53638, -14.737}, {-9.604, -1.6026, -14.737}, {-10.383, -1.7326, -10.526}, {-10.51, 0.57987, -10.526}}], Polygon[{{-9.604, -1.6026, -14.737}, {-9.0211, -3.6641, -14.737}, {-9.7526, -3.9612, -10.526}, {-10.383, -1.7326, -10.526}}], Polygon[{{-9.0211, -3.6641, -14.737}, {-8.0015, -5.5481, -14.737}, {-8.6503, -5.998, -10.526}, {-9.7526, -3.9612, -10.526}}], Polygon[{{-8.0015, -5.5481, -14.737}, {-6.5946, -7.1636, -14.737}, {-7.1293, -7.7445, -10.526}, {-8.6503, -5.998, -10.526}}], Polygon[{{-6.5946, -7.1636, -14.737}, {-4.8684, -8.4324, -14.737}, {-5.2632, -9.1161, -10.526}, {-7.1293, -7.7445, -10.526}}], Polygon[{{10.526, 0., -10.526}, {10.272, 2.3019, -10.526}, {11.042, 2.4745, -6.3158}, {11.316, 0., -6.3158}}], Polygon[{{10.272, 2.3019, -10.526}, {9.5195, 4.4924, -10.526}, {10.234, 4.8293, -6.3158}, {11.042, 2.4745, -6.3158}}], Polygon[{{9.5195, 4.4924, -10.526}, {8.3067, 6.4654, -10.526}, {8.9297, 6.9503, -6.3158}, {10.234, 4.8293, -6.3158}}], Polygon[{{8.3067, 6.4654, -10.526}, {6.6918, 8.1254, -10.526}, {7.1937, 8.7348, -6.3158}, {8.9297, 6.9503, -6.3158}}], Polygon[{{6.6918, 8.1254, -10.526}, {4.753, 9.3921, -10.526}, {5.1095, 10.097, -6.3158}, {7.1937, 8.7348, -6.3158}}], Polygon[{{4.753, 9.3921, -10.526}, {2.5841, 10.204, -10.526}, {2.7779, 10.97, -6.3158}, {5.1095, 10.097, -6.3158}}], Polygon[{{2.5841, 10.204, -10.526}, {0.29005, 10.522, -10.526}, {0.3118, 11.311, -6.3158}, {2.7779, 10.97, -6.3158}}], Polygon[{{0.29005, 10.522, -10.526}, {-2.018, 10.331, -10.526}, {-2.1694, 11.106, -6.3158}, {0.3118, 11.311, -6.3158}}], Polygon[{{-2.018, 10.331, -10.526}, {-4.2284, 9.6397, -10.526}, {-4.5455, 10.363, -6.3158}, {-2.1694, 11.106, -6.3158}}], Polygon[{{-4.2284, 9.6397, -10.526}, {-6.2341, 8.4817, -10.526}, {-6.7016, 9.1179, -6.3158}, {-4.5455, 10.363, -6.3158}}], Polygon[{{-6.2341, 8.4817, -10.526}, {-7.938, 6.9132, -10.526}, {-8.5333, 7.4317, -6.3158}, {-6.7016, 9.1179, -6.3158}}], Polygon[{{-7.938, 6.9132, -10.526}, {-9.2576, 5.01, -10.526}, {-9.9519, 5.3857, -6.3158}, {-8.5333, 7.4317, -6.3158}}], Polygon[{{-9.2576, 5.01, -10.526}, {-10.129, 2.8642, -10.526}, {-10.889, 3.0791, -6.3158}, {-9.9519, 5.3857, -6.3158}}], Polygon[{{-10.129, 2.8642, -10.526}, {-10.51, 0.57987, -10.526}, {-11.299, 0.62336, -6.3158}, {-10.889, 3.0791, -6.3158}}], Polygon[{{-10.51, 0.57987, -10.526}, {-10.383, -1.7326, -10.526}, {-11.161, -1.8625, -6.3158}, {-11.299, 0.62336, -6.3158}}], Polygon[{{-10.383, -1.7326, -10.526}, {-9.7526, -3.9612, -10.526}, {-10.484, -4.2582, -6.3158}, {-11.161, -1.8625, -6.3158}}], Polygon[{{-9.7526, -3.9612, -10.526}, {-8.6503, -5.998, -10.526}, {-9.2991, -6.4478, -6.3158}, {-10.484, -4.2582, -6.3158}}], Polygon[{{-8.6503, -5.998, -10.526}, {-7.1293, -7.7445, -10.526}, {-7.664, -8.3253, -6.3158}, {-9.2991, -6.4478, -6.3158}}], Polygon[{{-7.1293, -7.7445, -10.526}, {-5.2632, -9.1161, -10.526}, {-5.6579, -9.7998, -6.3158}, {-7.664, -8.3253, -6.3158}}], Polygon[{{11.316, 0., -6.3158}, {11.042, 2.4745, -6.3158}, {11.812, 2.6472, -2.1053}, {12.105, 0., -2.1053}}], Polygon[{{11.042, 2.4745, -6.3158}, {10.234, 4.8293, -6.3158}, {10.947, 5.1662, -2.1053}, {11.812, 2.6472, -2.1053}}], Polygon[{{10.234, 4.8293, -6.3158}, {8.9297, 6.9503, -6.3158}, {9.5528, 7.4352, -2.1053}, {10.947, 5.1662, -2.1053}}], Polygon[{{8.9297, 6.9503, -6.3158}, {7.1937, 8.7348, -6.3158}, {7.6956, 9.3443, -2.1053}, {9.5528, 7.4352, -2.1053}}], Polygon[{{7.1937, 8.7348, -6.3158}, {5.1095, 10.097, -6.3158}, {5.4659, 10.801, -2.1053}, {7.6956, 9.3443, -2.1053}}], Polygon[{{5.1095, 10.097, -6.3158}, {2.7779, 10.97, -6.3158}, {2.9717, 11.735, -2.1053}, {5.4659, 10.801, -2.1053}}], Polygon[{{2.7779, 10.97, -6.3158}, {0.3118, 11.311, -6.3158}, {0.33355, 12.101, -2.1053}, {2.9717, 11.735, -2.1053}}], Polygon[{{0.3118, 11.311, -6.3158}, {-2.1694, 11.106, -6.3158}, {-2.3207, 11.881, -2.1053}, {0.33355, 12.101, -2.1053}}], Polygon[{{-2.1694, 11.106, -6.3158}, {-4.5455, 10.363, -6.3158}, {-4.8626, 11.086, -2.1053}, {-2.3207, 11.881, -2.1053}}], Polygon[{{-4.5455, 10.363, -6.3158}, {-6.7016, 9.1179, -6.3158}, {-7.1692, 9.754, -2.1053}, {-4.8626, 11.086, -2.1053}}], Polygon[{{-6.7016, 9.1179, -6.3158}, {-8.5333, 7.4317, -6.3158}, {-9.1287, 7.9502, -2.1053}, {-7.1692, 9.754, -2.1053}}], Polygon[{{-8.5333, 7.4317, -6.3158}, {-9.9519, 5.3857, -6.3158}, {-10.646, 5.7615, -2.1053}, {-9.1287, 7.9502, -2.1053}}], Polygon[{{-9.9519, 5.3857, -6.3158}, {-10.889, 3.0791, -6.3158}, {-11.649, 3.2939, -2.1053}, {-10.646, 5.7615, -2.1053}}], Polygon[{{-10.889, 3.0791, -6.3158}, {-11.299, 0.62336, -6.3158}, {-12.087, 0.66685, -2.1053}, {-11.649, 3.2939, -2.1053}}], Polygon[{{-11.299, 0.62336, -6.3158}, {-11.161, -1.8625, -6.3158}, {-11.94, -1.9925, -2.1053}, {-12.087, 0.66685, -2.1053}}], Polygon[{{-11.161, -1.8625, -6.3158}, {-10.484, -4.2582, -6.3158}, {-11.215, -4.5553, -2.1053}, {-11.94, -1.9925, -2.1053}}], Polygon[{{-10.484, -4.2582, -6.3158}, {-9.2991, -6.4478, -6.3158}, {-9.9478, -6.8977, -2.1053}, {-11.215, -4.5553, -2.1053}}], Polygon[{{-9.2991, -6.4478, -6.3158}, {-7.664, -8.3253, -6.3158}, {-8.1987, -8.9061, -2.1053}, {-9.9478, -6.8977, -2.1053}}], Polygon[{{-7.664, -8.3253, -6.3158}, {-5.6579, -9.7998, -6.3158}, {-6.0526, -10.483, -2.1053}, {-8.1987, -8.9061, -2.1053}}], Polygon[{{12.105, 0., -2.1053}, {11.812, 2.6472, -2.1053}, {12.583, 2.8198, 2.1053}, {12.895, 0., 2.1053}}], Polygon[{{11.812, 2.6472, -2.1053}, {10.947, 5.1662, -2.1053}, {11.661, 5.5032, 2.1053}, {12.583, 2.8198, 2.1053}}], Polygon[{{10.947, 5.1662, -2.1053}, {9.5528, 7.4352, -2.1053}, {10.176, 7.9201, 2.1053}, {11.661, 5.5032, 2.1053}}], Polygon[{{9.5528, 7.4352, -2.1053}, {7.6956, 9.3443, -2.1053}, {8.1975, 9.9537, 2.1053}, {10.176, 7.9201, 2.1053}}], Polygon[{{7.6956, 9.3443, -2.1053}, {5.4659, 10.801, -2.1053}, {5.8224, 11.505, 2.1053}, {8.1975, 9.9537, 2.1053}}], Polygon[{{5.4659, 10.801, -2.1053}, {2.9717, 11.735, -2.1053}, {3.1655, 12.5, 2.1053}, {5.8224, 11.505, 2.1053}}], Polygon[{{2.9717, 11.735, -2.1053}, {0.33355, 12.101, -2.1053}, {0.35531, 12.89, 2.1053}, {3.1655, 12.5, 2.1053}}], Polygon[{{0.33355, 12.101, -2.1053}, {-2.3207, 11.881, -2.1053}, {-2.4721, 12.656, 2.1053}, {0.35531, 12.89, 2.1053}}], Polygon[{{-2.3207, 11.881, -2.1053}, {-4.8626, 11.086, -2.1053}, {-5.1798, 11.809, 2.1053}, {-2.4721, 12.656, 2.1053}}], Polygon[{{-4.8626, 11.086, -2.1053}, {-7.1692, 9.754, -2.1053}, {-7.6367, 10.39, 2.1053}, {-5.1798, 11.809, 2.1053}}], Polygon[{{-7.1692, 9.754, -2.1053}, {-9.1287, 7.9502, -2.1053}, {-9.724, 8.4686, 2.1053}, {-7.6367, 10.39, 2.1053}}], Polygon[{{-9.1287, 7.9502, -2.1053}, {-10.646, 5.7615, -2.1053}, {-11.341, 6.1372, 2.1053}, {-9.724, 8.4686, 2.1053}}], Polygon[{{-10.646, 5.7615, -2.1053}, {-11.649, 3.2939, -2.1053}, {-12.408, 3.5087, 2.1053}, {-11.341, 6.1372, 2.1053}}], Polygon[{{-11.649, 3.2939, -2.1053}, {-12.087, 0.66685, -2.1053}, {-12.875, 0.71034, 2.1053}, {-12.408, 3.5087, 2.1053}}], Polygon[{{-12.087, 0.66685, -2.1053}, {-11.94, -1.9925, -2.1053}, {-12.719, -2.1224, 2.1053}, {-12.875, 0.71034, 2.1053}}], Polygon[{{-11.94, -1.9925, -2.1053}, {-11.215, -4.5553, -2.1053}, {-11.947, -4.8524, 2.1053}, {-12.719, -2.1224, 2.1053}}], Polygon[{{-11.215, -4.5553, -2.1053}, {-9.9478, -6.8977, -2.1053}, {-10.597, -7.3475, 2.1053}, {-11.947, -4.8524, 2.1053}}], Polygon[{{-9.9478, -6.8977, -2.1053}, {-8.1987, -8.9061, -2.1053}, {-8.7334, -9.487, 2.1053}, {-10.597, -7.3475, 2.1053}}], Polygon[{{-8.1987, -8.9061, -2.1053}, {-6.0526, -10.483, -2.1053}, {-6.4474, -11.167, 2.1053}, {-8.7334, -9.487, 2.1053}}], Polygon[{{12.895, 0., 2.1053}, {12.583, 2.8198, 2.1053}, {13.353, 2.9925, 6.3158}, {13.684, 0., 6.3158}}], Polygon[{{12.583, 2.8198, 2.1053}, {11.661, 5.5032, 2.1053}, {12.375, 5.8401, 6.3158}, {13.353, 2.9925, 6.3158}}], Polygon[{{11.661, 5.5032, 2.1053}, {10.176, 7.9201, 2.1053}, {10.799, 8.405, 6.3158}, {12.375, 5.8401, 6.3158}}], Polygon[{{10.176, 7.9201, 2.1053}, {8.1975, 9.9537, 2.1053}, {8.6994, 10.563, 6.3158}, {10.799, 8.405, 6.3158}}], Polygon[{{8.1975, 9.9537, 2.1053}, {5.8224, 11.505, 2.1053}, {6.1789, 12.21, 6.3158}, {8.6994, 10.563, 6.3158}}], Polygon[{{5.8224, 11.505, 2.1053}, {3.1655, 12.5, 2.1053}, {3.3593, 13.265, 6.3158}, {6.1789, 12.21, 6.3158}}], Polygon[{{3.1655, 12.5, 2.1053}, {0.35531, 12.89, 2.1053}, {0.37706, 13.679, 6.3158}, {3.3593, 13.265, 6.3158}}], Polygon[{{0.35531, 12.89, 2.1053}, {-2.4721, 12.656, 2.1053}, {-2.6234, 13.43, 6.3158}, {0.37706, 13.679, 6.3158}}], Polygon[{{-2.4721, 12.656, 2.1053}, {-5.1798, 11.809, 2.1053}, {-5.4969, 12.532, 6.3158}, {-2.6234, 13.43, 6.3158}}], Polygon[{{-5.1798, 11.809, 2.1053}, {-7.6367, 10.39, 2.1053}, {-8.1043, 11.026, 6.3158}, {-5.4969, 12.532, 6.3158}}], Polygon[{{-7.6367, 10.39, 2.1053}, {-9.724, 8.4686, 2.1053}, {-10.319, 8.9871, 6.3158}, {-8.1043, 11.026, 6.3158}}], Polygon[{{-9.724, 8.4686, 2.1053}, {-11.341, 6.1372, 2.1053}, {-12.035, 6.513, 6.3158}, {-10.319, 8.9871, 6.3158}}], Polygon[{{-11.341, 6.1372, 2.1053}, {-12.408, 3.5087, 2.1053}, {-13.168, 3.7235, 6.3158}, {-12.035, 6.513, 6.3158}}], Polygon[{{-12.408, 3.5087, 2.1053}, {-12.875, 0.71034, 2.1053}, {-13.663, 0.75383, 6.3158}, {-13.168, 3.7235, 6.3158}}], Polygon[{{-12.875, 0.71034, 2.1053}, {-12.719, -2.1224, 2.1053}, {-13.498, -2.2523, 6.3158}, {-13.663, 0.75383, 6.3158}}], Polygon[{{-12.719, -2.1224, 2.1053}, {-11.947, -4.8524, 2.1053}, {-12.678, -5.1495, 6.3158}, {-13.498, -2.2523, 6.3158}}], Polygon[{{-11.947, -4.8524, 2.1053}, {-10.597, -7.3475, 2.1053}, {-11.245, -7.7974, 6.3158}, {-12.678, -5.1495, 6.3158}}], Polygon[{{-10.597, -7.3475, 2.1053}, {-8.7334, -9.487, 2.1053}, {-9.2681, -10.068, 6.3158}, {-11.245, -7.7974, 6.3158}}], Polygon[{{-8.7334, -9.487, 2.1053}, {-6.4474, -11.167, 2.1053}, {-6.8421, -11.851, 6.3158}, {-9.2681, -10.068, 6.3158}}], Polygon[{{13.684, 0., 6.3158}, {13.353, 2.9925, 6.3158}, {14.123, 3.1651, 10.526}, {14.474, 0., 10.526}}], Polygon[{{13.353, 2.9925, 6.3158}, {12.375, 5.8401, 6.3158}, {13.089, 6.177, 10.526}, {14.123, 3.1651, 10.526}}], Polygon[{{12.375, 5.8401, 6.3158}, {10.799, 8.405, 6.3158}, {11.422, 8.8899, 10.526}, {13.089, 6.177, 10.526}}], Polygon[{{10.799, 8.405, 6.3158}, {8.6994, 10.563, 6.3158}, {9.2013, 11.172, 10.526}, {11.422, 8.8899, 10.526}}], Polygon[{{8.6994, 10.563, 6.3158}, {6.1789, 12.21, 6.3158}, {6.5354, 12.914, 10.526}, {9.2013, 11.172, 10.526}}], Polygon[{{6.1789, 12.21, 6.3158}, {3.3593, 13.265, 6.3158}, {3.5531, 14.031, 10.526}, {6.5354, 12.914, 10.526}}], Polygon[{{3.3593, 13.265, 6.3158}, {0.37706, 13.679, 6.3158}, {0.39881, 14.468, 10.526}, {3.5531, 14.031, 10.526}}], Polygon[{{0.37706, 13.679, 6.3158}, {-2.6234, 13.43, 6.3158}, {-2.7748, 14.205, 10.526}, {0.39881, 14.468, 10.526}}], Polygon[{{-2.6234, 13.43, 6.3158}, {-5.4969, 12.532, 6.3158}, {-5.814, 13.255, 10.526}, {-2.7748, 14.205, 10.526}}], Polygon[{{-5.4969, 12.532, 6.3158}, {-8.1043, 11.026, 6.3158}, {-8.5718, 11.662, 10.526}, {-5.814, 13.255, 10.526}}], Polygon[{{-8.1043, 11.026, 6.3158}, {-10.319, 8.9871, 6.3158}, {-10.915, 9.5056, 10.526}, {-8.5718, 11.662, 10.526}}], Polygon[{{-10.319, 8.9871, 6.3158}, {-12.035, 6.513, 6.3158}, {-12.729, 6.8887, 10.526}, {-10.915, 9.5056, 10.526}}], Polygon[{{-12.035, 6.513, 6.3158}, {-13.168, 3.7235, 6.3158}, {-13.928, 3.9383, 10.526}, {-12.729, 6.8887, 10.526}}], Polygon[{{-13.168, 3.7235, 6.3158}, {-13.663, 0.75383, 6.3158}, {-14.452, 0.79732, 10.526}, {-13.928, 3.9383, 10.526}}], Polygon[{{-13.663, 0.75383, 6.3158}, {-13.498, -2.2523, 6.3158}, {-14.276, -2.3823, 10.526}, {-14.452, 0.79732, 10.526}}], Polygon[{{-13.498, -2.2523, 6.3158}, {-12.678, -5.1495, 6.3158}, {-13.41, -5.4466, 10.526}, {-14.276, -2.3823, 10.526}}], Polygon[{{-12.678, -5.1495, 6.3158}, {-11.245, -7.7974, 6.3158}, {-11.894, -8.2472, 10.526}, {-13.41, -5.4466, 10.526}}], Polygon[{{-11.245, -7.7974, 6.3158}, {-9.2681, -10.068, 6.3158}, {-9.8028, -10.649, 10.526}, {-11.894, -8.2472, 10.526}}], Polygon[{{-9.2681, -10.068, 6.3158}, {-6.8421, -11.851, 6.3158}, {-7.2368, -12.535, 10.526}, {-9.8028, -10.649, 10.526}}], Polygon[{{14.474, 0., 10.526}, {14.123, 3.1651, 10.526}, {14.894, 3.3378, 14.737}, {15.263, 0., 14.737}}], Polygon[{{14.123, 3.1651, 10.526}, {13.089, 6.177, 10.526}, {13.803, 6.514, 14.737}, {14.894, 3.3378, 14.737}}], Polygon[{{13.089, 6.177, 10.526}, {11.422, 8.8899, 10.526}, {12.045, 9.3748, 14.737}, {13.803, 6.514, 14.737}}], Polygon[{{11.422, 8.8899, 10.526}, {9.2013, 11.172, 10.526}, {9.7032, 11.782, 14.737}, {12.045, 9.3748, 14.737}}], Polygon[{{9.2013, 11.172, 10.526}, {6.5354, 12.914, 10.526}, {6.8918, 13.619, 14.737}, {9.7032, 11.782, 14.737}}], Polygon[{{6.5354, 12.914, 10.526}, {3.5531, 14.031, 10.526}, {3.7469, 14.796, 14.737}, {6.8918, 13.619, 14.737}}], Polygon[{{3.5531, 14.031, 10.526}, {0.39881, 14.468, 10.526}, {0.42057, 15.257, 14.737}, {3.7469, 14.796, 14.737}}], Polygon[{{0.39881, 14.468, 10.526}, {-2.7748, 14.205, 10.526}, {-2.9261, 14.98, 14.737}, {0.42057, 15.257, 14.737}}], Polygon[{{-2.7748, 14.205, 10.526}, {-5.814, 13.255, 10.526}, {-6.1311, 13.978, 14.737}, {-2.9261, 14.98, 14.737}}], Polygon[{{-5.814, 13.255, 10.526}, {-8.5718, 11.662, 10.526}, {-9.0394, 12.299, 14.737}, {-6.1311, 13.978, 14.737}}], Polygon[{{-8.5718, 11.662, 10.526}, {-10.915, 9.5056, 10.526}, {-11.51, 10.024, 14.737}, {-9.0394, 12.299, 14.737}}], Polygon[{{-10.915, 9.5056, 10.526}, {-12.729, 6.8887, 10.526}, {-13.424, 7.2645, 14.737}, {-11.51, 10.024, 14.737}}], Polygon[{{-12.729, 6.8887, 10.526}, {-13.928, 3.9383, 10.526}, {-14.687, 4.1532, 14.737}, {-13.424, 7.2645, 14.737}}], Polygon[{{-13.928, 3.9383, 10.526}, {-14.452, 0.79732, 10.526}, {-15.24, 0.84081, 14.737}, {-14.687, 4.1532, 14.737}}], Polygon[{{-14.452, 0.79732, 10.526}, {-14.276, -2.3823, 10.526}, {-15.055, -2.5122, 14.737}, {-15.24, 0.84081, 14.737}}], Polygon[{{-14.276, -2.3823, 10.526}, {-13.41, -5.4466, 10.526}, {-14.141, -5.7437, 14.737}, {-15.055, -2.5122, 14.737}}], Polygon[{{-13.41, -5.4466, 10.526}, {-11.894, -8.2472, 10.526}, {-12.543, -8.6971, 14.737}, {-14.141, -5.7437, 14.737}}], Polygon[{{-11.894, -8.2472, 10.526}, {-9.8028, -10.649, 10.526}, {-10.337, -11.229, 14.737}, {-12.543, -8.6971, 14.737}}], Polygon[{{-9.8028, -10.649, 10.526}, {-7.2368, -12.535, 10.526}, {-7.6316, -13.218, 14.737}, {-10.337, -11.229, 14.737}}], Polygon[{{15.263, 0., 14.737}, {14.894, 3.3378, 14.737}, {15.664, 3.5104, 18.947}, {16.053, 0., 18.947}}], Polygon[{{14.894, 3.3378, 14.737}, {13.803, 6.514, 14.737}, {14.517, 6.8509, 18.947}, {15.664, 3.5104, 18.947}}], Polygon[{{13.803, 6.514, 14.737}, {12.045, 9.3748, 14.737}, {12.668, 9.8597, 18.947}, {14.517, 6.8509, 18.947}}], Polygon[{{12.045, 9.3748, 14.737}, {9.7032, 11.782, 14.737}, {10.205, 12.391, 18.947}, {12.668, 9.8597, 18.947}}], Polygon[{{9.7032, 11.782, 14.737}, {6.8918, 13.619, 14.737}, {7.2483, 14.323, 18.947}, {10.205, 12.391, 18.947}}], Polygon[{{6.8918, 13.619, 14.737}, {3.7469, 14.796, 14.737}, {3.9407, 15.561, 18.947}, {7.2483, 14.323, 18.947}}], Polygon[{{3.7469, 14.796, 14.737}, {0.42057, 15.257, 14.737}, {0.44232, 16.047, 18.947}, {3.9407, 15.561, 18.947}}], Polygon[{{0.42057, 15.257, 14.737}, {-2.9261, 14.98, 14.737}, {-3.0775, 15.755, 18.947}, {0.44232, 16.047, 18.947}}], Polygon[{{-2.9261, 14.98, 14.737}, {-6.1311, 13.978, 14.737}, {-6.4483, 14.701, 18.947}, {-3.0775, 15.755, 18.947}}], Polygon[{{-6.1311, 13.978, 14.737}, {-9.0394, 12.299, 14.737}, {-9.5069, 12.935, 18.947}, {-6.4483, 14.701, 18.947}}], Polygon[{{-9.0394, 12.299, 14.737}, {-11.51, 10.024, 14.737}, {-12.105, 10.543, 18.947}, {-9.5069, 12.935, 18.947}}], Polygon[{{-11.51, 10.024, 14.737}, {-13.424, 7.2645, 14.737}, {-14.118, 7.6402, 18.947}, {-12.105, 10.543, 18.947}}], Polygon[{{-13.424, 7.2645, 14.737}, {-14.687, 4.1532, 14.737}, {-15.447, 4.368, 18.947}, {-14.118, 7.6402, 18.947}}], Polygon[{{-14.687, 4.1532, 14.737}, {-15.24, 0.84081, 14.737}, {-16.028, 0.8843, 18.947}, {-15.447, 4.368, 18.947}}], Polygon[{{-15.24, 0.84081, 14.737}, {-15.055, -2.5122, 14.737}, {-15.834, -2.6422, 18.947}, {-16.028, 0.8843, 18.947}}], Polygon[{{-15.055, -2.5122, 14.737}, {-14.141, -5.7437, 14.737}, {-14.873, -6.0408, 18.947}, {-15.834, -2.6422, 18.947}}], Polygon[{{-14.141, -5.7437, 14.737}, {-12.543, -8.6971, 14.737}, {-13.192, -9.1469, 18.947}, {-14.873, -6.0408, 18.947}}], Polygon[{{-12.543, -8.6971, 14.737}, {-10.337, -11.229, 14.737}, {-10.872, -11.81, 18.947}, {-13.192, -9.1469, 18.947}}], Polygon[{{-10.337, -11.229, 14.737}, {-7.6316, -13.218, 14.737}, {-8.0263, -13.902, 18.947}, {-10.872, -11.81, 18.947}}], Polygon[{{16.053, 0., 18.947}, {15.664, 3.5104, 18.947}, {16.434, 3.683, 23.158}, {16.842, 0., 23.158}}], Polygon[{{15.664, 3.5104, 18.947}, {14.517, 6.8509, 18.947}, {15.231, 7.1878, 23.158}, {16.434, 3.683, 23.158}}], Polygon[{{14.517, 6.8509, 18.947}, {12.668, 9.8597, 18.947}, {13.291, 10.345, 23.158}, {15.231, 7.1878, 23.158}}], Polygon[{{12.668, 9.8597, 18.947}, {10.205, 12.391, 18.947}, {10.707, 13.001, 23.158}, {13.291, 10.345, 23.158}}], Polygon[{{10.205, 12.391, 18.947}, {7.2483, 14.323, 18.947}, {7.6048, 15.027, 23.158}, {10.707, 13.001, 23.158}}], Polygon[{{7.2483, 14.323, 18.947}, {3.9407, 15.561, 18.947}, {4.1345, 16.327, 23.158}, {7.6048, 15.027, 23.158}}], Polygon[{{3.9407, 15.561, 18.947}, {0.44232, 16.047, 18.947}, {0.46407, 16.836, 23.158}, {4.1345, 16.327, 23.158}}], Polygon[{{0.44232, 16.047, 18.947}, {-3.0775, 15.755, 18.947}, {-3.2288, 16.53, 23.158}, {0.46407, 16.836, 23.158}}], Polygon[{{-3.0775, 15.755, 18.947}, {-6.4483, 14.701, 18.947}, {-6.7654, 15.424, 23.158}, {-3.2288, 16.53, 23.158}}], Polygon[{{-6.4483, 14.701, 18.947}, {-9.5069, 12.935, 18.947}, {-9.9745, 13.571, 23.158}, {-6.7654, 15.424, 23.158}}], Polygon[{{-9.5069, 12.935, 18.947}, {-12.105, 10.543, 18.947}, {-12.701, 11.061, 23.158}, {-9.9745, 13.571, 23.158}}], Polygon[{{-12.105, 10.543, 18.947}, {-14.118, 7.6402, 18.947}, {-14.812, 8.016, 23.158}, {-12.701, 11.061, 23.158}}], Polygon[{{-14.118, 7.6402, 18.947}, {-15.447, 4.368, 18.947}, {-16.207, 4.5828, 23.158}, {-14.812, 8.016, 23.158}}], Polygon[{{-15.447, 4.368, 18.947}, {-16.028, 0.8843, 18.947}, {-16.817, 0.92779, 23.158}, {-16.207, 4.5828, 23.158}}], Polygon[{{-16.028, 0.8843, 18.947}, {-15.834, -2.6422, 18.947}, {-16.612, -2.7721, 23.158}, {-16.817, 0.92779, 23.158}}], Polygon[{{-15.834, -2.6422, 18.947}, {-14.873, -6.0408, 18.947}, {-15.604, -6.3378, 23.158}, {-16.612, -2.7721, 23.158}}], Polygon[{{-14.873, -6.0408, 18.947}, {-13.192, -9.1469, 18.947}, {-13.84, -9.5968, 23.158}, {-15.604, -6.3378, 23.158}}], Polygon[{{-13.192, -9.1469, 18.947}, {-10.872, -11.81, 18.947}, {-11.407, -12.391, 23.158}, {-13.84, -9.5968, 23.158}}], Polygon[{{-10.872, -11.81, 18.947}, {-8.0263, -13.902, 18.947}, {-8.4211, -14.586, 23.158}, {-11.407, -12.391, 23.158}}], Polygon[{{16.842, 0., 23.158}, {16.434, 3.683, 23.158}, {17.205, 3.8557, 27.368}, {17.632, 0., 27.368}}], Polygon[{{16.434, 3.683, 23.158}, {15.231, 7.1878, 23.158}, {15.945, 7.5247, 27.368}, {17.205, 3.8557, 27.368}}], Polygon[{{15.231, 7.1878, 23.158}, {13.291, 10.345, 23.158}, {13.914, 10.83, 27.368}, {15.945, 7.5247, 27.368}}], Polygon[{{13.291, 10.345, 23.158}, {10.707, 13.001, 23.158}, {11.209, 13.61, 27.368}, {13.914, 10.83, 27.368}}], Polygon[{{10.707, 13.001, 23.158}, {7.6048, 15.027, 23.158}, {7.9612, 15.732, 27.368}, {11.209, 13.61, 27.368}}], Polygon[{{7.6048, 15.027, 23.158}, {4.1345, 16.327, 23.158}, {4.3283, 17.092, 27.368}, {7.9612, 15.732, 27.368}}], Polygon[{{4.1345, 16.327, 23.158}, {0.46407, 16.836, 23.158}, {0.48583, 17.625, 27.368}, {4.3283, 17.092, 27.368}}], Polygon[{{0.46407, 16.836, 23.158}, {-3.2288, 16.53, 23.158}, {-3.3802, 17.305, 27.368}, {0.48583, 17.625, 27.368}}], Polygon[{{-3.2288, 16.53, 23.158}, {-6.7654, 15.424, 23.158}, {-7.0825, 16.147, 27.368}, {-3.3802, 17.305, 27.368}}], Polygon[{{-6.7654, 15.424, 23.158}, {-9.9745, 13.571, 23.158}, {-10.442, 14.207, 27.368}, {-7.0825, 16.147, 27.368}}], Polygon[{{-9.9745, 13.571, 23.158}, {-12.701, 11.061, 23.158}, {-13.296, 11.58, 27.368}, {-10.442, 14.207, 27.368}}], Polygon[{{-12.701, 11.061, 23.158}, {-14.812, 8.016, 23.158}, {-15.507, 8.3917, 27.368}, {-13.296, 11.58, 27.368}}], Polygon[{{-14.812, 8.016, 23.158}, {-16.207, 4.5828, 23.158}, {-16.966, 4.7976, 27.368}, {-15.507, 8.3917, 27.368}}], Polygon[{{-16.207, 4.5828, 23.158}, {-16.817, 0.92779, 23.158}, {-17.605, 0.97128, 27.368}, {-16.966, 4.7976, 27.368}}], Polygon[{{-16.817, 0.92779, 23.158}, {-16.612, -2.7721, 23.158}, {-17.391, -2.9021, 27.368}, {-17.605, 0.97128, 27.368}}], Polygon[{{-16.612, -2.7721, 23.158}, {-15.604, -6.3378, 23.158}, {-16.336, -6.6349, 27.368}, {-17.391, -2.9021, 27.368}}], Polygon[{{-15.604, -6.3378, 23.158}, {-13.84, -9.5968, 23.158}, {-14.489, -10.047, 27.368}, {-16.336, -6.6349, 27.368}}], Polygon[{{-13.84, -9.5968, 23.158}, {-11.407, -12.391, 23.158}, {-11.942, -12.972, 27.368}, {-14.489, -10.047, 27.368}}], Polygon[{{-11.407, -12.391, 23.158}, {-8.4211, -14.586, 23.158}, {-8.8158, -15.269, 27.368}, {-11.942, -12.972, 27.368}}], Polygon[{{17.632, 0., 27.368}, {17.205, 3.8557, 27.368}, {17.975, 4.0283, 31.579}, {18.421, 0., 31.579}}], Polygon[{{17.205, 3.8557, 27.368}, {15.945, 7.5247, 27.368}, {16.659, 7.8617, 31.579}, {17.975, 4.0283, 31.579}}], Polygon[{{15.945, 7.5247, 27.368}, {13.914, 10.83, 27.368}, {14.537, 11.314, 31.579}, {16.659, 7.8617, 31.579}}], Polygon[{{13.914, 10.83, 27.368}, {11.209, 13.61, 27.368}, {11.711, 14.22, 31.579}, {14.537, 11.314, 31.579}}], Polygon[{{11.209, 13.61, 27.368}, {7.9612, 15.732, 27.368}, {8.3177, 16.436, 31.579}, {11.711, 14.22, 31.579}}], Polygon[{{7.9612, 15.732, 27.368}, {4.3283, 17.092, 27.368}, {4.5221, 17.857, 31.579}, {8.3177, 16.436, 31.579}}], Polygon[{{4.3283, 17.092, 27.368}, {0.48583, 17.625, 27.368}, {0.50758, 18.414, 31.579}, {4.5221, 17.857, 31.579}}], Polygon[{{0.48583, 17.625, 27.368}, {-3.3802, 17.305, 27.368}, {-3.5315, 18.079, 31.579}, {0.50758, 18.414, 31.579}}], Polygon[{{-3.3802, 17.305, 27.368}, {-7.0825, 16.147, 27.368}, {-7.3997, 16.87, 31.579}, {-3.5315, 18.079, 31.579}}], Polygon[{{-7.0825, 16.147, 27.368}, {-10.442, 14.207, 27.368}, {-10.91, 14.843, 31.579}, {-7.3997, 16.87, 31.579}}], Polygon[{{-10.442, 14.207, 27.368}, {-13.296, 11.58, 27.368}, {-13.891, 12.098, 31.579}, {-10.91, 14.843, 31.579}}], Polygon[{{-13.296, 11.58, 27.368}, {-15.507, 8.3917, 27.368}, {-16.201, 8.7675, 31.579}, {-13.891, 12.098, 31.579}}], Polygon[{{-15.507, 8.3917, 27.368}, {-16.966, 4.7976, 27.368}, {-17.726, 5.0124, 31.579}, {-16.201, 8.7675, 31.579}}], Polygon[{{-16.966, 4.7976, 27.368}, {-17.605, 0.97128, 27.368}, {-18.393, 1.0148, 31.579}, {-17.726, 5.0124, 31.579}}], Polygon[{{-17.605, 0.97128, 27.368}, {-17.391, -2.9021, 27.368}, {-18.17, -3.032, 31.579}, {-18.393, 1.0148, 31.579}}], Polygon[{{-17.391, -2.9021, 27.368}, {-16.336, -6.6349, 27.368}, {-17.067, -6.932, 31.579}, {-18.17, -3.032, 31.579}}], Polygon[{{-16.336, -6.6349, 27.368}, {-14.489, -10.047, 27.368}, {-15.138, -10.496, 31.579}, {-17.067, -6.932, 31.579}}], Polygon[{{-14.489, -10.047, 27.368}, {-11.942, -12.972, 27.368}, {-12.476, -13.553, 31.579}, {-15.138, -10.496, 31.579}}], Polygon[{{-11.942, -12.972, 27.368}, {-8.8158, -15.269, 27.368}, {-9.2105, -15.953, 31.579}, {-12.476, -13.553, 31.579}}], Polygon[{{18.421, 0., 31.579}, {17.975, 4.0283, 31.579}, {18.746, 4.201, 35.789}, {19.211, 0., 35.789}}], Polygon[{{17.975, 4.0283, 31.579}, {16.659, 7.8617, 31.579}, {17.373, 8.1986, 35.789}, {18.746, 4.201, 35.789}}], Polygon[{{16.659, 7.8617, 31.579}, {14.537, 11.314, 31.579}, {15.16, 11.799, 35.789}, {17.373, 8.1986, 35.789}}], Polygon[{{14.537, 11.314, 31.579}, {11.711, 14.22, 31.579}, {12.213, 14.829, 35.789}, {15.16, 11.799, 35.789}}], Polygon[{{11.711, 14.22, 31.579}, {8.3177, 16.436, 31.579}, {8.6742, 17.141, 35.789}, {12.213, 14.829, 35.789}}], Polygon[{{8.3177, 16.436, 31.579}, {4.5221, 17.857, 31.579}, {4.7159, 18.623, 35.789}, {8.6742, 17.141, 35.789}}], Polygon[{{4.5221, 17.857, 31.579}, {0.50758, 18.414, 31.579}, {0.52933, 19.203, 35.789}, {4.7159, 18.623, 35.789}}], Polygon[{{0.50758, 18.414, 31.579}, {-3.5315, 18.079, 31.579}, {-3.6829, 18.854, 35.789}, {0.52933, 19.203, 35.789}}], Polygon[{{-3.5315, 18.079, 31.579}, {-7.3997, 16.87, 31.579}, {-7.7168, 17.592, 35.789}, {-3.6829, 18.854, 35.789}}], Polygon[{{-7.3997, 16.87, 31.579}, {-10.91, 14.843, 31.579}, {-11.377, 15.479, 35.789}, {-7.7168, 17.592, 35.789}}], Polygon[{{-10.91, 14.843, 31.579}, {-13.891, 12.098, 31.579}, {-14.487, 12.617, 35.789}, {-11.377, 15.479, 35.789}}], Polygon[{{-13.891, 12.098, 31.579}, {-16.201, 8.7675, 31.579}, {-16.895, 9.1432, 35.789}, {-14.487, 12.617, 35.789}}], Polygon[{{-16.201, 8.7675, 31.579}, {-17.726, 5.0124, 31.579}, {-18.486, 5.2273, 35.789}, {-16.895, 9.1432, 35.789}}], Polygon[{{-17.726, 5.0124, 31.579}, {-18.393, 1.0148, 31.579}, {-19.181, 1.0583, 35.789}, {-18.486, 5.2273, 35.789}}], Polygon[{{-18.393, 1.0148, 31.579}, {-18.17, -3.032, 31.579}, {-18.949, -3.1619, 35.789}, {-19.181, 1.0583, 35.789}}], Polygon[{{-18.17, -3.032, 31.579}, {-17.067, -6.932, 31.579}, {-17.798, -7.2291, 35.789}, {-18.949, -3.1619, 35.789}}], Polygon[{{-17.067, -6.932, 31.579}, {-15.138, -10.496, 31.579}, {-15.787, -10.946, 35.789}, {-17.798, -7.2291, 35.789}}], Polygon[{{-15.138, -10.496, 31.579}, {-12.476, -13.553, 31.579}, {-13.011, -14.134, 35.789}, {-15.787, -10.946, 35.789}}], Polygon[{{-12.476, -13.553, 31.579}, {-9.2105, -15.953, 31.579}, {-9.6053, -16.637, 35.789}, {-13.011, -14.134, 35.789}}], Polygon[{{19.211, 0., 35.789}, {18.746, 4.201, 35.789}, {19.516, 4.3736, 40.}, {20., 0., 40.}}], Polygon[{{18.746, 4.201, 35.789}, {17.373, 8.1986, 35.789}, {18.087, 8.5355, 40.}, {19.516, 4.3736, 40.}}], Polygon[{{17.373, 8.1986, 35.789}, {15.16, 11.799, 35.789}, {15.783, 12.284, 40.}, {18.087, 8.5355, 40.}}], Polygon[{{15.16, 11.799, 35.789}, {12.213, 14.829, 35.789}, {12.714, 15.438, 40.}, {15.783, 12.284, 40.}}], Polygon[{{12.213, 14.829, 35.789}, {8.6742, 17.141, 35.789}, {9.0307, 17.845, 40.}, {12.714, 15.438, 40.}}], Polygon[{{8.6742, 17.141, 35.789}, {4.7159, 18.623, 35.789}, {4.9097, 19.388, 40.}, {9.0307, 17.845, 40.}}], Polygon[{{4.7159, 18.623, 35.789}, {0.52933, 19.203, 35.789}, {0.55109, 19.992, 40.}, {4.9097, 19.388, 40.}}], Polygon[{{0.52933, 19.203, 35.789}, {-3.6829, 18.854, 35.789}, {-3.8342, 19.629, 40.}, {0.55109, 19.992, 40.}}], Polygon[{{-3.6829, 18.854, 35.789}, {-7.7168, 17.592, 35.789}, {-8.0339, 18.315, 40.}, {-3.8342, 19.629, 40.}}], Polygon[{{-7.7168, 17.592, 35.789}, {-11.377, 15.479, 35.789}, {-11.845, 16.115, 40.}, {-8.0339, 18.315, 40.}}], Polygon[{{-11.377, 15.479, 35.789}, {-14.487, 12.617, 35.789}, {-15.082, 13.135, 40.}, {-11.845, 16.115, 40.}}], Polygon[{{-14.487, 12.617, 35.789}, {-16.895, 9.1432, 35.789}, {-17.589, 9.5189, 40.}, {-15.082, 13.135, 40.}}], Polygon[{{-16.895, 9.1432, 35.789}, {-18.486, 5.2273, 35.789}, {-19.245, 5.4421, 40.}, {-17.589, 9.5189, 40.}}], Polygon[{{-18.486, 5.2273, 35.789}, {-19.181, 1.0583, 35.789}, {-19.97, 1.1018, 40.}, {-19.245, 5.4421, 40.}}], Polygon[{{-19.181, 1.0583, 35.789}, {-18.949, -3.1619, 35.789}, {-19.727, -3.2919, 40.}, {-19.97, 1.1018, 40.}}], Polygon[{{-18.949, -3.1619, 35.789}, {-17.798, -7.2291, 35.789}, {-18.53, -7.5262, 40.}, {-19.727, -3.2919, 40.}}], Polygon[{{-17.798, -7.2291, 35.789}, {-15.787, -10.946, 35.789}, {-16.436, -11.396, 40.}, {-18.53, -7.5262, 40.}}], Polygon[{{-15.787, -10.946, 35.789}, {-13.011, -14.134, 35.789}, {-13.546, -14.714, 40.}, {-16.436, -11.396, 40.}}], Polygon[{{-13.011, -14.134, 35.789}, {-9.6053, -16.637, 35.789}, {-10., -17.321, 40.}, {-13.546, -14.714, 40.}}]}, {Polygon[{{10., 0., -40.}, {9.758, 2.1868, -40.}, {10.528, 2.3595, -35.789}, {10.789, 0., -35.789}}], Polygon[{{9.758, 2.1868, -40.}, {9.0436, 4.2678, -40.}, {9.7575, 4.6047, -35.789}, {10.528, 2.3595, -35.789}}], Polygon[{{9.0436, 4.2678, -40.}, {7.8914, 6.1421, -40.}, {8.5144, 6.627, -35.789}, {9.7575, 4.6047, -35.789}}], Polygon[{{7.8914, 6.1421, -40.}, {6.3572, 7.7192, -40.}, {6.8591, 8.3286, -35.789}, {8.5144, 6.627, -35.789}}], Polygon[{{6.3572, 7.7192, -40.}, {4.5153, 8.9225, -40.}, {4.8718, 9.627, -35.789}, {6.8591, 8.3286, -35.789}}], Polygon[{{4.5153, 8.9225, -40.}, {2.4549, 9.694, -40.}, {2.6487, 10.459, -35.789}, {4.8718, 9.627, -35.789}}], Polygon[{{2.4549, 9.694, -40.}, {0.27554, 9.9962, -40.}, {0.2973, 10.785, -35.789}, {2.6487, 10.459, -35.789}}], Polygon[{{0.27554, 9.9962, -40.}, {-1.9171, 9.8145, -40.}, {-2.0685, 10.589, -35.789}, {0.2973, 10.785, -35.789}}], Polygon[{{-1.9171, 9.8145, -40.}, {-4.017, 9.1577, -40.}, {-4.3341, 9.8807, -35.789}, {-2.0685, 10.589, -35.789}}], Polygon[{{-4.017, 9.1577, -40.}, {-5.9224, 8.0577, -40.}, {-6.3899, 8.6938, -35.789}, {-4.3341, 9.8807, -35.789}}], Polygon[{{-5.9224, 8.0577, -40.}, {-7.5411, 6.5675, -40.}, {-8.1364, 7.086, -35.789}, {-6.3899, 8.6938, -35.789}}], Polygon[{{-7.5411, 6.5675, -40.}, {-8.7947, 4.7595, -40.}, {-9.4891, 5.1352, -35.789}, {-8.1364, 7.086, -35.789}}], Polygon[{{-8.7947, 4.7595, -40.}, {-9.6227, 2.721, -40.}, {-10.382, 2.9359, -35.789}, {-9.4891, 5.1352, -35.789}}], Polygon[{{-9.6227, 2.721, -40.}, {-9.9848, 0.55088, -40.}, {-10.773, 0.59437, -35.789}, {-10.382, 2.9359, -35.789}}], Polygon[{{-9.9848, 0.55088, -40.}, {-9.8636, -1.6459, -40.}, {-10.642, -1.7759, -35.789}, {-10.773, 0.59437, -35.789}}], Polygon[{{-9.8636, -1.6459, -40.}, {-9.2649, -3.7631, -40.}, {-9.9964, -4.0602, -35.789}, {-10.642, -1.7759, -35.789}}], Polygon[{{-9.2649, -3.7631, -40.}, {-8.2178, -5.6981, -40.}, {-8.8666, -6.1479, -35.789}, {-9.9964, -4.0602, -35.789}}], Polygon[{{-8.2178, -5.6981, -40.}, {-6.7728, -7.3572, -40.}, {-7.3075, -7.9381, -35.789}, {-8.8666, -6.1479, -35.789}}], Polygon[{{-6.7728, -7.3572, -40.}, {-5., -8.6603, -40.}, {-5.3947, -9.344, -35.789}, {-7.3075, -7.9381, -35.789}}], Polygon[{{10.789, 0., -35.789}, {10.528, 2.3595, -35.789}, {11.299, 2.5321, -31.579}, {11.579, 0., -31.579}}], Polygon[{{10.528, 2.3595, -35.789}, {9.7575, 4.6047, -35.789}, {10.472, 4.9416, -31.579}, {11.299, 2.5321, -31.579}}], Polygon[{{9.7575, 4.6047, -35.789}, {8.5144, 6.627, -35.789}, {9.1374, 7.1119, -31.579}, {10.472, 4.9416, -31.579}}], Polygon[{{8.5144, 6.627, -35.789}, {6.8591, 8.3286, -35.789}, {7.361, 8.938, -31.579}, {9.1374, 7.1119, -31.579}}], Polygon[{{6.8591, 8.3286, -35.789}, {4.8718, 9.627, -35.789}, {5.2283, 10.331, -31.579}, {7.361, 8.938, -31.579}}], Polygon[{{4.8718, 9.627, -35.789}, {2.6487, 10.459, -35.789}, {2.8425, 11.225, -31.579}, {5.2283, 10.331, -31.579}}], Polygon[{{2.6487, 10.459, -35.789}, {0.2973, 10.785, -35.789}, {0.31905, 11.575, -31.579}, {2.8425, 11.225, -31.579}}], Polygon[{{0.2973, 10.785, -35.789}, {-2.0685, 10.589, -35.789}, {-2.2198, 11.364, -31.579}, {0.31905, 11.575, -31.579}}], Polygon[{{-2.0685, 10.589, -35.789}, {-4.3341, 9.8807, -35.789}, {-4.6512, 10.604, -31.579}, {-2.2198, 11.364, -31.579}}], Polygon[{{-4.3341, 9.8807, -35.789}, {-6.3899, 8.6938, -35.789}, {-6.8575, 9.3299, -31.579}, {-4.6512, 10.604, -31.579}}], Polygon[{{-6.3899, 8.6938, -35.789}, {-8.1364, 7.086, -35.789}, {-8.7318, 7.6045, -31.579}, {-6.8575, 9.3299, -31.579}}], Polygon[{{-8.1364, 7.086, -35.789}, {-9.4891, 5.1352, -35.789}, {-10.183, 5.511, -31.579}, {-8.7318, 7.6045, -31.579}}], Polygon[{{-9.4891, 5.1352, -35.789}, {-10.382, 2.9359, -35.789}, {-11.142, 3.1507, -31.579}, {-10.183, 5.511, -31.579}}], Polygon[{{-10.382, 2.9359, -35.789}, {-10.773, 0.59437, -35.789}, {-11.561, 0.63786, -31.579}, {-11.142, 3.1507, -31.579}}], Polygon[{{-10.773, 0.59437, -35.789}, {-10.642, -1.7759, -35.789}, {-11.421, -1.9058, -31.579}, {-11.561, 0.63786, -31.579}}], Polygon[{{-10.642, -1.7759, -35.789}, {-9.9964, -4.0602, -35.789}, {-10.728, -4.3573, -31.579}, {-11.421, -1.9058, -31.579}}], Polygon[{{-9.9964, -4.0602, -35.789}, {-8.8666, -6.1479, -35.789}, {-9.5153, -6.5978, -31.579}, {-10.728, -4.3573, -31.579}}], Polygon[{{-8.8666, -6.1479, -35.789}, {-7.3075, -7.9381, -35.789}, {-7.8422, -8.5189, -31.579}, {-9.5153, -6.5978, -31.579}}], Polygon[{{-7.3075, -7.9381, -35.789}, {-5.3947, -9.344, -35.789}, {-5.7895, -10.028, -31.579}, {-7.8422, -8.5189, -31.579}}], Polygon[{{11.579, 0., -31.579}, {11.299, 2.5321, -31.579}, {12.069, 2.7047, -27.368}, {12.368, 0., -27.368}}], Polygon[{{11.299, 2.5321, -31.579}, {10.472, 4.9416, -31.579}, {11.185, 5.2786, -27.368}, {12.069, 2.7047, -27.368}}], Polygon[{{10.472, 4.9416, -31.579}, {9.1374, 7.1119, -31.579}, {9.7604, 7.5968, -27.368}, {11.185, 5.2786, -27.368}}], Polygon[{{9.1374, 7.1119, -31.579}, {7.361, 8.938, -31.579}, {7.8629, 9.5474, -27.368}, {9.7604, 7.5968, -27.368}}], Polygon[{{7.361, 8.938, -31.579}, {5.2283, 10.331, -31.579}, {5.5848, 11.036, -27.368}, {7.8629, 9.5474, -27.368}}], Polygon[{{5.2283, 10.331, -31.579}, {2.8425, 11.225, -31.579}, {3.0363, 11.99, -27.368}, {5.5848, 11.036, -27.368}}], Polygon[{{2.8425, 11.225, -31.579}, {0.31905, 11.575, -31.579}, {0.3408, 12.364, -27.368}, {3.0363, 11.99, -27.368}}], Polygon[{{0.31905, 11.575, -31.579}, {-2.2198, 11.364, -31.579}, {-2.3712, 12.139, -27.368}, {0.3408, 12.364, -27.368}}], Polygon[{{-2.2198, 11.364, -31.579}, {-4.6512, 10.604, -31.579}, {-4.9683, 11.327, -27.368}, {-2.3712, 12.139, -27.368}}], Polygon[{{-4.6512, 10.604, -31.579}, {-6.8575, 9.3299, -31.579}, {-7.325, 9.966, -27.368}, {-4.9683, 11.327, -27.368}}], Polygon[{{-6.8575, 9.3299, -31.579}, {-8.7318, 7.6045, -31.579}, {-9.3271, 8.123, -27.368}, {-7.325, 9.966, -27.368}}], Polygon[{{-8.7318, 7.6045, -31.579}, {-10.183, 5.511, -31.579}, {-10.878, 5.8867, -27.368}, {-9.3271, 8.123, -27.368}}], Polygon[{{-10.183, 5.511, -31.579}, {-11.142, 3.1507, -31.579}, {-11.902, 3.3655, -27.368}, {-10.878, 5.8867, -27.368}}], Polygon[{{-11.142, 3.1507, -31.579}, {-11.561, 0.63786, -31.579}, {-12.35, 0.68135, -27.368}, {-11.902, 3.3655, -27.368}}], Polygon[{{-11.561, 0.63786, -31.579}, {-11.421, -1.9058, -31.579}, {-12.2, -2.0358, -27.368}, {-12.35, 0.68135, -27.368}}], Polygon[{{-11.421, -1.9058, -31.579}, {-10.728, -4.3573, -31.579}, {-11.459, -4.6544, -27.368}, {-12.2, -2.0358, -27.368}}], Polygon[{{-10.728, -4.3573, -31.579}, {-9.5153, -6.5978, -31.579}, {-10.164, -7.0476, -27.368}, {-11.459, -4.6544, -27.368}}], Polygon[{{-9.5153, -6.5978, -31.579}, {-7.8422, -8.5189, -31.579}, {-8.3769, -9.0997, -27.368}, {-10.164, -7.0476, -27.368}}], Polygon[{{-7.8422, -8.5189, -31.579}, {-5.7895, -10.028, -31.579}, {-6.1842, -10.711, -27.368}, {-8.3769, -9.0997, -27.368}}], Polygon[{{12.368, 0., -27.368}, {12.069, 2.7047, -27.368}, {12.839, 2.8774, -23.158}, {13.158, 0., -23.158}}], Polygon[{{12.069, 2.7047, -27.368}, {11.185, 5.2786, -27.368}, {11.899, 5.6155, -23.158}, {12.839, 2.8774, -23.158}}], Polygon[{{11.185, 5.2786, -27.368}, {9.7604, 7.5968, -27.368}, {10.383, 8.0817, -23.158}, {11.899, 5.6155, -23.158}}], Polygon[{{9.7604, 7.5968, -27.368}, {7.8629, 9.5474, -27.368}, {8.3648, 10.157, -23.158}, {10.383, 8.0817, -23.158}}], Polygon[{{7.8629, 9.5474, -27.368}, {5.5848, 11.036, -27.368}, {5.9412, 11.74, -23.158}, {8.3648, 10.157, -23.158}}], Polygon[{{5.5848, 11.036, -27.368}, {3.0363, 11.99, -27.368}, {3.2301, 12.755, -23.158}, {5.9412, 11.74, -23.158}}], Polygon[{{3.0363, 11.99, -27.368}, {0.3408, 12.364, -27.368}, {0.36256, 13.153, -23.158}, {3.2301, 12.755, -23.158}}], Polygon[{{0.3408, 12.364, -27.368}, {-2.3712, 12.139, -27.368}, {-2.5225, 12.914, -23.158}, {0.36256, 13.153, -23.158}}], Polygon[{{-2.3712, 12.139, -27.368}, {-4.9683, 11.327, -27.368}, {-5.2855, 12.05, -23.158}, {-2.5225, 12.914, -23.158}}], Polygon[{{-4.9683, 11.327, -27.368}, {-7.325, 9.966, -27.368}, {-7.7926, 10.602, -23.158}, {-5.2855, 12.05, -23.158}}], Polygon[{{-7.325, 9.966, -27.368}, {-9.3271, 8.123, -27.368}, {-9.9225, 8.6415, -23.158}, {-7.7926, 10.602, -23.158}}], Polygon[{{-9.3271, 8.123, -27.368}, {-10.878, 5.8867, -27.368}, {-11.572, 6.2625, -23.158}, {-9.9225, 8.6415, -23.158}}], Polygon[{{-10.878, 5.8867, -27.368}, {-11.902, 3.3655, -27.368}, {-12.661, 3.5803, -23.158}, {-11.572, 6.2625, -23.158}}], Polygon[{{-11.902, 3.3655, -27.368}, {-12.35, 0.68135, -27.368}, {-13.138, 0.72484, -23.158}, {-12.661, 3.5803, -23.158}}], Polygon[{{-12.35, 0.68135, -27.368}, {-12.2, -2.0358, -27.368}, {-12.978, -2.1657, -23.158}, {-13.138, 0.72484, -23.158}}], Polygon[{{-12.2, -2.0358, -27.368}, {-11.459, -4.6544, -27.368}, {-12.191, -4.9514, -23.158}, {-12.978, -2.1657, -23.158}}], Polygon[{{-11.459, -4.6544, -27.368}, {-10.164, -7.0476, -27.368}, {-10.813, -7.4975, -23.158}, {-12.191, -4.9514, -23.158}}], Polygon[{{-10.164, -7.0476, -27.368}, {-8.3769, -9.0997, -27.368}, {-8.9116, -9.6806, -23.158}, {-10.813, -7.4975, -23.158}}], Polygon[{{-8.3769, -9.0997, -27.368}, {-6.1842, -10.711, -27.368}, {-6.5789, -11.395, -23.158}, {-8.9116, -9.6806, -23.158}}], Polygon[{{13.158, 0., -23.158}, {12.839, 2.8774, -23.158}, {13.61, 3.05, -18.947}, {13.947, 0., -18.947}}], Polygon[{{12.839, 2.8774, -23.158}, {11.899, 5.6155, -23.158}, {12.613, 5.9524, -18.947}, {13.61, 3.05, -18.947}}], Polygon[{{11.899, 5.6155, -23.158}, {10.383, 8.0817, -23.158}, {11.006, 8.5667, -18.947}, {12.613, 5.9524, -18.947}}], Polygon[{{10.383, 8.0817, -23.158}, {8.3648, 10.157, -23.158}, {8.8667, 10.766, -18.947}, {11.006, 8.5667, -18.947}}], Polygon[{{8.3648, 10.157, -23.158}, {5.9412, 11.74, -23.158}, {6.2977, 12.445, -18.947}, {8.8667, 10.766, -18.947}}], Polygon[{{5.9412, 11.74, -23.158}, {3.2301, 12.755, -23.158}, {3.4239, 13.521, -18.947}, {6.2977, 12.445, -18.947}}], Polygon[{{3.2301, 12.755, -23.158}, {0.36256, 13.153, -23.158}, {0.38431, 13.942, -18.947}, {3.4239, 13.521, -18.947}}], Polygon[{{0.36256, 13.153, -23.158}, {-2.5225, 12.914, -23.158}, {-2.6739, 13.689, -18.947}, {0.38431, 13.942, -18.947}}], Polygon[{{-2.5225, 12.914, -23.158}, {-5.2855, 12.05, -23.158}, {-5.6026, 12.773, -18.947}, {-2.6739, 13.689, -18.947}}], Polygon[{{-5.2855, 12.05, -23.158}, {-7.7926, 10.602, -23.158}, {-8.2601, 11.238, -18.947}, {-5.6026, 12.773, -18.947}}], Polygon[{{-7.7926, 10.602, -23.158}, {-9.9225, 8.6415, -23.158}, {-10.518, 9.16, -18.947}, {-8.2601, 11.238, -18.947}}], Polygon[{{-9.9225, 8.6415, -23.158}, {-11.572, 6.2625, -23.158}, {-12.266, 6.6382, -18.947}, {-10.518, 9.16, -18.947}}], Polygon[{{-11.572, 6.2625, -23.158}, {-12.661, 3.5803, -23.158}, {-13.421, 3.7951, -18.947}, {-12.266, 6.6382, -18.947}}], Polygon[{{-12.661, 3.5803, -23.158}, {-13.138, 0.72484, -23.158}, {-13.926, 0.76833, -18.947}, {-13.421, 3.7951, -18.947}}], Polygon[{{-13.138, 0.72484, -23.158}, {-12.978, -2.1657, -23.158}, {-13.757, -2.2957, -18.947}, {-13.926, 0.76833, -18.947}}], Polygon[{{-12.978, -2.1657, -23.158}, {-12.191, -4.9514, -23.158}, {-12.922, -5.2485, -18.947}, {-13.757, -2.2957, -18.947}}], Polygon[{{-12.191, -4.9514, -23.158}, {-10.813, -7.4975, -23.158}, {-11.462, -7.9473, -18.947}, {-12.922, -5.2485, -18.947}}], Polygon[{{-10.813, -7.4975, -23.158}, {-8.9116, -9.6806, -23.158}, {-9.4463, -10.261, -18.947}, {-11.462, -7.9473, -18.947}}], Polygon[{{-8.9116, -9.6806, -23.158}, {-6.5789, -11.395, -23.158}, {-6.9737, -12.079, -18.947}, {-9.4463, -10.261, -18.947}}], Polygon[{{13.947, 0., -18.947}, {13.61, 3.05, -18.947}, {14.38, 3.2227, -14.737}, {14.737, 0., -14.737}}], Polygon[{{13.61, 3.05, -18.947}, {12.613, 5.9524, -18.947}, {13.327, 6.2893, -14.737}, {14.38, 3.2227, -14.737}}], Polygon[{{12.613, 5.9524, -18.947}, {11.006, 8.5667, -18.947}, {11.629, 9.0516, -14.737}, {13.327, 6.2893, -14.737}}], Polygon[{{11.006, 8.5667, -18.947}, {8.8667, 10.766, -18.947}, {9.3686, 11.376, -14.737}, {11.629, 9.0516, -14.737}}], Polygon[{{8.8667, 10.766, -18.947}, {6.2977, 12.445, -18.947}, {6.6542, 13.149, -14.737}, {9.3686, 11.376, -14.737}}], Polygon[{{6.2977, 12.445, -18.947}, {3.4239, 13.521, -18.947}, {3.6177, 14.286, -14.737}, {6.6542, 13.149, -14.737}}], Polygon[{{3.4239, 13.521, -18.947}, {0.38431, 13.942, -18.947}, {0.40606, 14.731, -14.737}, {3.6177, 14.286, -14.737}}], Polygon[{{0.38431, 13.942, -18.947}, {-2.6739, 13.689, -18.947}, {-2.8252, 14.463, -14.737}, {0.40606, 14.731, -14.737}}], Polygon[{{-2.6739, 13.689, -18.947}, {-5.6026, 12.773, -18.947}, {-5.9197, 13.496, -14.737}, {-2.8252, 14.463, -14.737}}], Polygon[{{-5.6026, 12.773, -18.947}, {-8.2601, 11.238, -18.947}, {-8.7277, 11.874, -14.737}, {-5.9197, 13.496, -14.737}}], Polygon[{{-8.2601, 11.238, -18.947}, {-10.518, 9.16, -18.947}, {-11.113, 9.6785, -14.737}, {-8.7277, 11.874, -14.737}}], Polygon[{{-10.518, 9.16, -18.947}, {-12.266, 6.6382, -18.947}, {-12.961, 7.014, -14.737}, {-11.113, 9.6785, -14.737}}], Polygon[{{-12.266, 6.6382, -18.947}, {-13.421, 3.7951, -18.947}, {-14.181, 4.0099, -14.737}, {-12.961, 7.014, -14.737}}], Polygon[{{-13.421, 3.7951, -18.947}, {-13.926, 0.76833, -18.947}, {-14.714, 0.81182, -14.737}, {-14.181, 4.0099, -14.737}}], Polygon[{{-13.926, 0.76833, -18.947}, {-13.757, -2.2957, -18.947}, {-14.536, -2.4256, -14.737}, {-14.714, 0.81182, -14.737}}], Polygon[{{-13.757, -2.2957, -18.947}, {-12.922, -5.2485, -18.947}, {-13.654, -5.5456, -14.737}, {-14.536, -2.4256, -14.737}}], Polygon[{{-12.922, -5.2485, -18.947}, {-11.462, -7.9473, -18.947}, {-12.11, -8.3972, -14.737}, {-13.654, -5.5456, -14.737}}], Polygon[{{-11.462, -7.9473, -18.947}, {-9.4463, -10.261, -18.947}, {-9.981, -10.842, -14.737}, {-12.11, -8.3972, -14.737}}], Polygon[{{-9.4463, -10.261, -18.947}, {-6.9737, -12.079, -18.947}, {-7.3684, -12.762, -14.737}, {-9.981, -10.842, -14.737}}], Polygon[{{14.737, 0., -14.737}, {14.38, 3.2227, -14.737}, {15.151, 3.3953, -10.526}, {15.526, 0., -10.526}}], Polygon[{{14.38, 3.2227, -14.737}, {13.327, 6.2893, -14.737}, {14.041, 6.6263, -10.526}, {15.151, 3.3953, -10.526}}], Polygon[{{13.327, 6.2893, -14.737}, {11.629, 9.0516, -14.737}, {12.252, 9.5365, -10.526}, {14.041, 6.6263, -10.526}}], Polygon[{{11.629, 9.0516, -14.737}, {9.3686, 11.376, -14.737}, {9.8704, 11.985, -10.526}, {12.252, 9.5365, -10.526}}], Polygon[{{9.3686, 11.376, -14.737}, {6.6542, 13.149, -14.737}, {7.0106, 13.853, -10.526}, {9.8704, 11.985, -10.526}}], Polygon[{{6.6542, 13.149, -14.737}, {3.6177, 14.286, -14.737}, {3.8115, 15.051, -10.526}, {7.0106, 13.853, -10.526}}], Polygon[{{3.6177, 14.286, -14.737}, {0.40606, 14.731, -14.737}, {0.42782, 15.52, -10.526}, {3.8115, 15.051, -10.526}}], Polygon[{{0.40606, 14.731, -14.737}, {-2.8252, 14.463, -14.737}, {-2.9766, 15.238, -10.526}, {0.42782, 15.52, -10.526}}], Polygon[{{-2.8252, 14.463, -14.737}, {-5.9197, 13.496, -14.737}, {-6.2369, 14.219, -10.526}, {-2.9766, 15.238, -10.526}}], Polygon[{{-5.9197, 13.496, -14.737}, {-8.7277, 11.874, -14.737}, {-9.1952, 12.511, -10.526}, {-6.2369, 14.219, -10.526}}], Polygon[{{-8.7277, 11.874, -14.737}, {-11.113, 9.6785, -14.737}, {-11.708, 10.197, -10.526}, {-9.1952, 12.511, -10.526}}], Polygon[{{-11.113, 9.6785, -14.737}, {-12.961, 7.014, -14.737}, {-13.655, 7.3897, -10.526}, {-11.708, 10.197, -10.526}}], Polygon[{{-12.961, 7.014, -14.737}, {-14.181, 4.0099, -14.737}, {-14.94, 4.2248, -10.526}, {-13.655, 7.3897, -10.526}}], Polygon[{{-14.181, 4.0099, -14.737}, {-14.714, 0.81182, -14.737}, {-15.503, 0.85531, -10.526}, {-14.94, 4.2248, -10.526}}], Polygon[{{-14.714, 0.81182, -14.737}, {-14.536, -2.4256, -14.737}, {-15.315, -2.5555, -10.526}, {-15.503, 0.85531, -10.526}}], Polygon[{{-14.536, -2.4256, -14.737}, {-13.654, -5.5456, -14.737}, {-14.385, -5.8427, -10.526}, {-15.315, -2.5555, -10.526}}], Polygon[{{-13.654, -5.5456, -14.737}, {-12.11, -8.3972, -14.737}, {-12.759, -8.847, -10.526}, {-14.385, -5.8427, -10.526}}], Polygon[{{-12.11, -8.3972, -14.737}, {-9.981, -10.842, -14.737}, {-10.516, -11.423, -10.526}, {-12.759, -8.847, -10.526}}], Polygon[{{-9.981, -10.842, -14.737}, {-7.3684, -12.762, -14.737}, {-7.7632, -13.446, -10.526}, {-10.516, -11.423, -10.526}}], Polygon[{{15.526, 0., -10.526}, {15.151, 3.3953, -10.526}, {15.921, 3.568, -6.3158}, {16.316, 0., -6.3158}}], Polygon[{{15.151, 3.3953, -10.526}, {14.041, 6.6263, -10.526}, {14.755, 6.9632, -6.3158}, {15.921, 3.568, -6.3158}}], Polygon[{{14.041, 6.6263, -10.526}, {12.252, 9.5365, -10.526}, {12.875, 10.021, -6.3158}, {14.755, 6.9632, -6.3158}}], Polygon[{{12.252, 9.5365, -10.526}, {9.8704, 11.985, -10.526}, {10.372, 12.594, -6.3158}, {12.875, 10.021, -6.3158}}], Polygon[{{9.8704, 11.985, -10.526}, {7.0106, 13.853, -10.526}, {7.3671, 14.558, -6.3158}, {10.372, 12.594, -6.3158}}], Polygon[{{7.0106, 13.853, -10.526}, {3.8115, 15.051, -10.526}, {4.0053, 15.817, -6.3158}, {7.3671, 14.558, -6.3158}}], Polygon[{{3.8115, 15.051, -10.526}, {0.42782, 15.52, -10.526}, {0.44957, 16.31, -6.3158}, {4.0053, 15.817, -6.3158}}], Polygon[{{0.42782, 15.52, -10.526}, {-2.9766, 15.238, -10.526}, {-3.1279, 16.013, -6.3158}, {0.44957, 16.31, -6.3158}}], Polygon[{{-2.9766, 15.238, -10.526}, {-6.2369, 14.219, -10.526}, {-6.554, 14.942, -6.3158}, {-3.1279, 16.013, -6.3158}}], Polygon[{{-6.2369, 14.219, -10.526}, {-9.1952, 12.511, -10.526}, {-9.6628, 13.147, -6.3158}, {-6.554, 14.942, -6.3158}}], Polygon[{{-9.1952, 12.511, -10.526}, {-11.708, 10.197, -10.526}, {-12.304, 10.715, -6.3158}, {-9.6628, 13.147, -6.3158}}], Polygon[{{-11.708, 10.197, -10.526}, {-13.655, 7.3897, -10.526}, {-14.349, 7.7655, -6.3158}, {-12.304, 10.715, -6.3158}}], Polygon[{{-13.655, 7.3897, -10.526}, {-14.94, 4.2248, -10.526}, {-15.7, 4.4396, -6.3158}, {-14.349, 7.7655, -6.3158}}], Polygon[{{-14.94, 4.2248, -10.526}, {-15.503, 0.85531, -10.526}, {-16.291, 0.8988, -6.3158}, {-15.7, 4.4396, -6.3158}}], Polygon[{{-15.503, 0.85531, -10.526}, {-15.315, -2.5555, -10.526}, {-16.093, -2.6855, -6.3158}, {-16.291, 0.8988, -6.3158}}], Polygon[{{-15.315, -2.5555, -10.526}, {-14.385, -5.8427, -10.526}, {-15.116, -6.1398, -6.3158}, {-16.093, -2.6855, -6.3158}}], Polygon[{{-14.385, -5.8427, -10.526}, {-12.759, -8.847, -10.526}, {-13.408, -9.2969, -6.3158}, {-15.116, -6.1398, -6.3158}}], Polygon[{{-12.759, -8.847, -10.526}, {-10.516, -11.423, -10.526}, {-11.05, -12.004, -6.3158}, {-13.408, -9.2969, -6.3158}}], Polygon[{{-10.516, -11.423, -10.526}, {-7.7632, -13.446, -10.526}, {-8.1579, -14.13, -6.3158}, {-11.05, -12.004, -6.3158}}], Polygon[{{16.316, 0., -6.3158}, {15.921, 3.568, -6.3158}, {16.691, 3.7406, -2.1053}, {17.105, 0., -2.1053}}], Polygon[{{15.921, 3.568, -6.3158}, {14.755, 6.9632, -6.3158}, {15.469, 7.3001, -2.1053}, {16.691, 3.7406, -2.1053}}], Polygon[{{14.755, 6.9632, -6.3158}, {12.875, 10.021, -6.3158}, {13.498, 10.506, -2.1053}, {15.469, 7.3001, -2.1053}}], Polygon[{{12.875, 10.021, -6.3158}, {10.372, 12.594, -6.3158}, {10.874, 13.204, -2.1053}, {13.498, 10.506, -2.1053}}], Polygon[{{10.372, 12.594, -6.3158}, {7.3671, 14.558, -6.3158}, {7.7236, 15.262, -2.1053}, {10.874, 13.204, -2.1053}}], Polygon[{{7.3671, 14.558, -6.3158}, {4.0053, 15.817, -6.3158}, {4.1991, 16.582, -2.1053}, {7.7236, 15.262, -2.1053}}], Polygon[{{4.0053, 15.817, -6.3158}, {0.44957, 16.31, -6.3158}, {0.47132, 17.099, -2.1053}, {4.1991, 16.582, -2.1053}}], Polygon[{{0.44957, 16.31, -6.3158}, {-3.1279, 16.013, -6.3158}, {-3.2793, 16.788, -2.1053}, {0.47132, 17.099, -2.1053}}], Polygon[{{-3.1279, 16.013, -6.3158}, {-6.554, 14.942, -6.3158}, {-6.8711, 15.665, -2.1053}, {-3.2793, 16.788, -2.1053}}], Polygon[{{-6.554, 14.942, -6.3158}, {-9.6628, 13.147, -6.3158}, {-10.13, 13.783, -2.1053}, {-6.8711, 15.665, -2.1053}}], Polygon[{{-9.6628, 13.147, -6.3158}, {-12.304, 10.715, -6.3158}, {-12.899, 11.234, -2.1053}, {-10.13, 13.783, -2.1053}}], Polygon[{{-12.304, 10.715, -6.3158}, {-14.349, 7.7655, -6.3158}, {-15.044, 8.1412, -2.1053}, {-12.899, 11.234, -2.1053}}], Polygon[{{-14.349, 7.7655, -6.3158}, {-15.7, 4.4396, -6.3158}, {-16.46, 4.6544, -2.1053}, {-15.044, 8.1412, -2.1053}}], Polygon[{{-15.7, 4.4396, -6.3158}, {-16.291, 0.8988, -6.3158}, {-17.079, 0.94229, -2.1053}, {-16.46, 4.6544, -2.1053}}], Polygon[{{-16.291, 0.8988, -6.3158}, {-16.093, -2.6855, -6.3158}, {-16.872, -2.8154, -2.1053}, {-17.079, 0.94229, -2.1053}}], Polygon[{{-16.093, -2.6855, -6.3158}, {-15.116, -6.1398, -6.3158}, {-15.848, -6.4369, -2.1053}, {-16.872, -2.8154, -2.1053}}], Polygon[{{-15.116, -6.1398, -6.3158}, {-13.408, -9.2969, -6.3158}, {-14.057, -9.7467, -2.1053}, {-15.848, -6.4369, -2.1053}}], Polygon[{{-13.408, -9.2969, -6.3158}, {-11.05, -12.004, -6.3158}, {-11.585, -12.585, -2.1053}, {-14.057, -9.7467, -2.1053}}], Polygon[{{-11.05, -12.004, -6.3158}, {-8.1579, -14.13, -6.3158}, {-8.5526, -14.814, -2.1053}, {-11.585, -12.585, -2.1053}}], Polygon[{{17.105, 0., -2.1053}, {16.691, 3.7406, -2.1053}, {17.462, 3.9132, 2.1053}, {17.895, 0., 2.1053}}], Polygon[{{16.691, 3.7406, -2.1053}, {15.469, 7.3001, -2.1053}, {16.183, 7.6371, 2.1053}, {17.462, 3.9132, 2.1053}}], Polygon[{{15.469, 7.3001, -2.1053}, {13.498, 10.506, -2.1053}, {14.121, 10.991, 2.1053}, {16.183, 7.6371, 2.1053}}], Polygon[{{13.498, 10.506, -2.1053}, {10.874, 13.204, -2.1053}, {11.376, 13.813, 2.1053}, {14.121, 10.991, 2.1053}}], Polygon[{{10.874, 13.204, -2.1053}, {7.7236, 15.262, -2.1053}, {8.0801, 15.967, 2.1053}, {11.376, 13.813, 2.1053}}], Polygon[{{7.7236, 15.262, -2.1053}, {4.1991, 16.582, -2.1053}, {4.3929, 17.347, 2.1053}, {8.0801, 15.967, 2.1053}}], Polygon[{{4.1991, 16.582, -2.1053}, {0.47132, 17.099, -2.1053}, {0.49308, 17.888, 2.1053}, {4.3929, 17.347, 2.1053}}], Polygon[{{0.47132, 17.099, -2.1053}, {-3.2793, 16.788, -2.1053}, {-3.4306, 17.563, 2.1053}, {0.49308, 17.888, 2.1053}}], Polygon[{{-3.2793, 16.788, -2.1053}, {-6.8711, 15.665, -2.1053}, {-7.1882, 16.388, 2.1053}, {-3.4306, 17.563, 2.1053}}], Polygon[{{-6.8711, 15.665, -2.1053}, {-10.13, 13.783, -2.1053}, {-10.598, 14.419, 2.1053}, {-7.1882, 16.388, 2.1053}}], Polygon[{{-10.13, 13.783, -2.1053}, {-12.899, 11.234, -2.1053}, {-13.495, 11.752, 2.1053}, {-10.598, 14.419, 2.1053}}], Polygon[{{-12.899, 11.234, -2.1053}, {-15.044, 8.1412, -2.1053}, {-15.738, 8.517, 2.1053}, {-13.495, 11.752, 2.1053}}], Polygon[{{-15.044, 8.1412, -2.1053}, {-16.46, 4.6544, -2.1053}, {-17.22, 4.8692, 2.1053}, {-15.738, 8.517, 2.1053}}], Polygon[{{-16.46, 4.6544, -2.1053}, {-17.079, 0.94229, -2.1053}, {-17.868, 0.98578, 2.1053}, {-17.22, 4.8692, 2.1053}}], Polygon[{{-17.079, 0.94229, -2.1053}, {-16.872, -2.8154, -2.1053}, {-17.651, -2.9454, 2.1053}, {-17.868, 0.98578, 2.1053}}], Polygon[{{-16.872, -2.8154, -2.1053}, {-15.848, -6.4369, -2.1053}, {-16.579, -6.734, 2.1053}, {-17.651, -2.9454, 2.1053}}], Polygon[{{-15.848, -6.4369, -2.1053}, {-14.057, -9.7467, -2.1053}, {-14.705, -10.197, 2.1053}, {-16.579, -6.734, 2.1053}}], Polygon[{{-14.057, -9.7467, -2.1053}, {-11.585, -12.585, -2.1053}, {-12.12, -13.166, 2.1053}, {-14.705, -10.197, 2.1053}}], Polygon[{{-11.585, -12.585, -2.1053}, {-8.5526, -14.814, -2.1053}, {-8.9474, -15.497, 2.1053}, {-12.12, -13.166, 2.1053}}], Polygon[{{17.895, 0., 2.1053}, {17.462, 3.9132, 2.1053}, {18.232, 4.0859, 6.3158}, {18.684, 0., 6.3158}}], Polygon[{{17.462, 3.9132, 2.1053}, {16.183, 7.6371, 2.1053}, {16.897, 7.974, 6.3158}, {18.232, 4.0859, 6.3158}}], Polygon[{{16.183, 7.6371, 2.1053}, {14.121, 10.991, 2.1053}, {14.744, 11.476, 6.3158}, {16.897, 7.974, 6.3158}}], Polygon[{{14.121, 10.991, 2.1053}, {11.376, 13.813, 2.1053}, {11.878, 14.423, 6.3158}, {14.744, 11.476, 6.3158}}], Polygon[{{11.376, 13.813, 2.1053}, {8.0801, 15.967, 2.1053}, {8.4365, 16.671, 6.3158}, {11.878, 14.423, 6.3158}}], Polygon[{{8.0801, 15.967, 2.1053}, {4.3929, 17.347, 2.1053}, {4.5867, 18.112, 6.3158}, {8.4365, 16.671, 6.3158}}], Polygon[{{4.3929, 17.347, 2.1053}, {0.49308, 17.888, 2.1053}, {0.51483, 18.677, 6.3158}, {4.5867, 18.112, 6.3158}}], Polygon[{{0.49308, 17.888, 2.1053}, {-3.4306, 17.563, 2.1053}, {-3.582, 18.338, 6.3158}, {0.51483, 18.677, 6.3158}}], Polygon[{{-3.4306, 17.563, 2.1053}, {-7.1882, 16.388, 2.1053}, {-7.5054, 17.111, 6.3158}, {-3.582, 18.338, 6.3158}}], Polygon[{{-7.1882, 16.388, 2.1053}, {-10.598, 14.419, 2.1053}, {-11.065, 15.055, 6.3158}, {-7.5054, 17.111, 6.3158}}], Polygon[{{-10.598, 14.419, 2.1053}, {-13.495, 11.752, 2.1053}, {-14.09, 12.271, 6.3158}, {-11.065, 15.055, 6.3158}}], Polygon[{{-13.495, 11.752, 2.1053}, {-15.738, 8.517, 2.1053}, {-16.432, 8.8927, 6.3158}, {-14.09, 12.271, 6.3158}}], Polygon[{{-15.738, 8.517, 2.1053}, {-17.22, 4.8692, 2.1053}, {-17.979, 5.084, 6.3158}, {-16.432, 8.8927, 6.3158}}], Polygon[{{-17.22, 4.8692, 2.1053}, {-17.868, 0.98578, 2.1053}, {-18.656, 1.0293, 6.3158}, {-17.979, 5.084, 6.3158}}], Polygon[{{-17.868, 0.98578, 2.1053}, {-17.651, -2.9454, 2.1053}, {-18.429, -3.0753, 6.3158}, {-18.656, 1.0293, 6.3158}}], Polygon[{{-17.651, -2.9454, 2.1053}, {-16.579, -6.734, 2.1053}, {-17.311, -7.031, 6.3158}, {-18.429, -3.0753, 6.3158}}], Polygon[{{-16.579, -6.734, 2.1053}, {-14.705, -10.197, 2.1053}, {-15.354, -10.646, 6.3158}, {-17.311, -7.031, 6.3158}}], Polygon[{{-14.705, -10.197, 2.1053}, {-12.12, -13.166, 2.1053}, {-12.654, -13.746, 6.3158}, {-15.354, -10.646, 6.3158}}], Polygon[{{-12.12, -13.166, 2.1053}, {-8.9474, -15.497, 2.1053}, {-9.3421, -16.181, 6.3158}, {-12.654, -13.746, 6.3158}}], Polygon[{{18.684, 0., 6.3158}, {18.232, 4.0859, 6.3158}, {19.002, 4.2585, 10.526}, {19.474, 0., 10.526}}], Polygon[{{18.232, 4.0859, 6.3158}, {16.897, 7.974, 6.3158}, {17.611, 8.3109, 10.526}, {19.002, 4.2585, 10.526}}], Polygon[{{16.897, 7.974, 6.3158}, {14.744, 11.476, 6.3158}, {15.367, 11.961, 10.526}, {17.611, 8.3109, 10.526}}], Polygon[{{14.744, 11.476, 6.3158}, {11.878, 14.423, 6.3158}, {12.38, 15.032, 10.526}, {15.367, 11.961, 10.526}}], Polygon[{{11.878, 14.423, 6.3158}, {8.4365, 16.671, 6.3158}, {8.793, 17.375, 10.526}, {12.38, 15.032, 10.526}}], Polygon[{{8.4365, 16.671, 6.3158}, {4.5867, 18.112, 6.3158}, {4.7805, 18.878, 10.526}, {8.793, 17.375, 10.526}}], Polygon[{{4.5867, 18.112, 6.3158}, {0.51483, 18.677, 6.3158}, {0.53658, 19.466, 10.526}, {4.7805, 18.878, 10.526}}], Polygon[{{0.51483, 18.677, 6.3158}, {-3.582, 18.338, 6.3158}, {-3.7333, 19.112, 10.526}, {0.53658, 19.466, 10.526}}], Polygon[{{-3.582, 18.338, 6.3158}, {-7.5054, 17.111, 6.3158}, {-7.8225, 17.833, 10.526}, {-3.7333, 19.112, 10.526}}], Polygon[{{-7.5054, 17.111, 6.3158}, {-11.065, 15.055, 6.3158}, {-11.533, 15.691, 10.526}, {-7.8225, 17.833, 10.526}}], Polygon[{{-11.065, 15.055, 6.3158}, {-14.09, 12.271, 6.3158}, {-14.685, 12.789, 10.526}, {-11.533, 15.691, 10.526}}], Polygon[{{-14.09, 12.271, 6.3158}, {-16.432, 8.8927, 6.3158}, {-17.127, 9.2684, 10.526}, {-14.685, 12.789, 10.526}}], Polygon[{{-16.432, 8.8927, 6.3158}, {-17.979, 5.084, 6.3158}, {-18.739, 5.2989, 10.526}, {-17.127, 9.2684, 10.526}}], Polygon[{{-17.979, 5.084, 6.3158}, {-18.656, 1.0293, 6.3158}, {-19.444, 1.0728, 10.526}, {-18.739, 5.2989, 10.526}}], Polygon[{{-18.656, 1.0293, 6.3158}, {-18.429, -3.0753, 6.3158}, {-19.208, -3.2053, 10.526}, {-19.444, 1.0728, 10.526}}], Polygon[{{-18.429, -3.0753, 6.3158}, {-17.311, -7.031, 6.3158}, {-18.042, -7.3281, 10.526}, {-19.208, -3.2053, 10.526}}], Polygon[{{-17.311, -7.031, 6.3158}, {-15.354, -10.646, 6.3158}, {-16.003, -11.096, 10.526}, {-18.042, -7.3281, 10.526}}], Polygon[{{-15.354, -10.646, 6.3158}, {-12.654, -13.746, 6.3158}, {-13.189, -14.327, 10.526}, {-16.003, -11.096, 10.526}}], Polygon[{{-12.654, -13.746, 6.3158}, {-9.3421, -16.181, 6.3158}, {-9.7368, -16.865, 10.526}, {-13.189, -14.327, 10.526}}], Polygon[{{19.474, 0., 10.526}, {19.002, 4.2585, 10.526}, {19.773, 4.4312, 14.737}, {20.263, 0., 14.737}}], Polygon[{{19.002, 4.2585, 10.526}, {17.611, 8.3109, 10.526}, {18.325, 8.6478, 14.737}, {19.773, 4.4312, 14.737}}], Polygon[{{17.611, 8.3109, 10.526}, {15.367, 11.961, 10.526}, {15.99, 12.446, 14.737}, {18.325, 8.6478, 14.737}}], Polygon[{{15.367, 11.961, 10.526}, {12.38, 15.032, 10.526}, {12.882, 15.641, 14.737}, {15.99, 12.446, 14.737}}], Polygon[{{12.38, 15.032, 10.526}, {8.793, 17.375, 10.526}, {9.1495, 18.08, 14.737}, {12.882, 15.641, 14.737}}], Polygon[{{8.793, 17.375, 10.526}, {4.7805, 18.878, 10.526}, {4.9743, 19.643, 14.737}, {9.1495, 18.08, 14.737}}], Polygon[{{4.7805, 18.878, 10.526}, {0.53658, 19.466, 10.526}, {0.55834, 20.255, 14.737}, {4.9743, 19.643, 14.737}}], Polygon[{{0.53658, 19.466, 10.526}, {-3.7333, 19.112, 10.526}, {-3.8847, 19.887, 14.737}, {0.55834, 20.255, 14.737}}], Polygon[{{-3.7333, 19.112, 10.526}, {-7.8225, 17.833, 10.526}, {-8.1396, 18.556, 14.737}, {-3.8847, 19.887, 14.737}}], Polygon[{{-7.8225, 17.833, 10.526}, {-11.533, 15.691, 10.526}, {-12.001, 16.327, 14.737}, {-8.1396, 18.556, 14.737}}], Polygon[{{-11.533, 15.691, 10.526}, {-14.685, 12.789, 10.526}, {-15.281, 13.308, 14.737}, {-12.001, 16.327, 14.737}}], Polygon[{{-14.685, 12.789, 10.526}, {-17.127, 9.2684, 10.526}, {-17.821, 9.6442, 14.737}, {-15.281, 13.308, 14.737}}], Polygon[{{-17.127, 9.2684, 10.526}, {-18.739, 5.2989, 10.526}, {-19.499, 5.5137, 14.737}, {-17.821, 9.6442, 14.737}}], Polygon[{{-18.739, 5.2989, 10.526}, {-19.444, 1.0728, 10.526}, {-20.232, 1.1163, 14.737}, {-19.499, 5.5137, 14.737}}], Polygon[{{-19.444, 1.0728, 10.526}, {-19.208, -3.2053, 10.526}, {-19.987, -3.3352, 14.737}, {-20.232, 1.1163, 14.737}}], Polygon[{{-19.208, -3.2053, 10.526}, {-18.042, -7.3281, 10.526}, {-18.774, -7.6252, 14.737}, {-19.987, -3.3352, 14.737}}], Polygon[{{-18.042, -7.3281, 10.526}, {-16.003, -11.096, 10.526}, {-16.652, -11.546, 14.737}, {-18.774, -7.6252, 14.737}}], Polygon[{{-16.003, -11.096, 10.526}, {-13.189, -14.327, 10.526}, {-13.724, -14.908, 14.737}, {-16.652, -11.546, 14.737}}], Polygon[{{-13.189, -14.327, 10.526}, {-9.7368, -16.865, 10.526}, {-10.132, -17.548, 14.737}, {-13.724, -14.908, 14.737}}], Polygon[{{20.263, 0., 14.737}, {19.773, 4.4312, 14.737}, {20.543, 4.6038, 18.947}, {21.053, 0., 18.947}}], Polygon[{{19.773, 4.4312, 14.737}, {18.325, 8.6478, 14.737}, {19.039, 8.9848, 18.947}, {20.543, 4.6038, 18.947}}], Polygon[{{18.325, 8.6478, 14.737}, {15.99, 12.446, 14.737}, {16.613, 12.931, 18.947}, {19.039, 8.9848, 18.947}}], Polygon[{{15.99, 12.446, 14.737}, {12.882, 15.641, 14.737}, {13.384, 16.251, 18.947}, {16.613, 12.931, 18.947}}], Polygon[{{12.882, 15.641, 14.737}, {9.1495, 18.08, 14.737}, {9.506, 18.784, 18.947}, {13.384, 16.251, 18.947}}], Polygon[{{9.1495, 18.08, 14.737}, {4.9743, 19.643, 14.737}, {5.1681, 20.408, 18.947}, {9.506, 18.784, 18.947}}], Polygon[{{4.9743, 19.643, 14.737}, {0.55834, 20.255, 14.737}, {0.58009, 21.045, 18.947}, {5.1681, 20.408, 18.947}}], Polygon[{{0.55834, 20.255, 14.737}, {-3.8847, 19.887, 14.737}, {-4.036, 20.662, 18.947}, {0.58009, 21.045, 18.947}}], Polygon[{{-3.8847, 19.887, 14.737}, {-8.1396, 18.556, 14.737}, {-8.4567, 19.279, 18.947}, {-4.036, 20.662, 18.947}}], Polygon[{{-8.1396, 18.556, 14.737}, {-12.001, 16.327, 14.737}, {-12.468, 16.963, 18.947}, {-8.4567, 19.279, 18.947}}], Polygon[{{-12.001, 16.327, 14.737}, {-15.281, 13.308, 14.737}, {-15.876, 13.826, 18.947}, {-12.468, 16.963, 18.947}}], Polygon[{{-15.281, 13.308, 14.737}, {-17.821, 9.6442, 14.737}, {-18.515, 10.02, 18.947}, {-15.876, 13.826, 18.947}}], Polygon[{{-17.821, 9.6442, 14.737}, {-19.499, 5.5137, 14.737}, {-20.258, 5.7285, 18.947}, {-18.515, 10.02, 18.947}}], Polygon[{{-19.499, 5.5137, 14.737}, {-20.232, 1.1163, 14.737}, {-21.021, 1.1597, 18.947}, {-20.258, 5.7285, 18.947}}], Polygon[{{-20.232, 1.1163, 14.737}, {-19.987, -3.3352, 14.737}, {-20.766, -3.4651, 18.947}, {-21.021, 1.1597, 18.947}}], Polygon[{{-19.987, -3.3352, 14.737}, {-18.774, -7.6252, 14.737}, {-19.505, -7.9223, 18.947}, {-20.766, -3.4651, 18.947}}], Polygon[{{-18.774, -7.6252, 14.737}, {-16.652, -11.546, 14.737}, {-17.301, -11.996, 18.947}, {-19.505, -7.9223, 18.947}}], Polygon[{{-16.652, -11.546, 14.737}, {-13.724, -14.908, 14.737}, {-14.259, -15.489, 18.947}, {-17.301, -11.996, 18.947}}], Polygon[{{-13.724, -14.908, 14.737}, {-10.132, -17.548, 14.737}, {-10.526, -18.232, 18.947}, {-14.259, -15.489, 18.947}}], Polygon[{{21.053, 0., 18.947}, {20.543, 4.6038, 18.947}, {21.313, 4.7765, 23.158}, {21.842, 0., 23.158}}], Polygon[{{20.543, 4.6038, 18.947}, {19.039, 8.9848, 18.947}, {19.753, 9.3217, 23.158}, {21.313, 4.7765, 23.158}}], Polygon[{{19.039, 8.9848, 18.947}, {16.613, 12.931, 18.947}, {17.236, 13.416, 23.158}, {19.753, 9.3217, 23.158}}], Polygon[{{16.613, 12.931, 18.947}, {13.384, 16.251, 18.947}, {13.886, 16.86, 23.158}, {17.236, 13.416, 23.158}}], Polygon[{{13.384, 16.251, 18.947}, {9.506, 18.784, 18.947}, {9.8624, 19.489, 23.158}, {13.886, 16.86, 23.158}}], Polygon[{{9.506, 18.784, 18.947}, {5.1681, 20.408, 18.947}, {5.3619, 21.174, 23.158}, {9.8624, 19.489, 23.158}}], Polygon[{{5.1681, 20.408, 18.947}, {0.58009, 21.045, 18.947}, {0.60184, 21.834, 23.158}, {5.3619, 21.174, 23.158}}], Polygon[{{0.58009, 21.045, 18.947}, {-4.036, 20.662, 18.947}, {-4.1874, 21.437, 23.158}, {0.60184, 21.834, 23.158}}], Polygon[{{-4.036, 20.662, 18.947}, {-8.4567, 19.279, 18.947}, {-8.7739, 20.002, 23.158}, {-4.1874, 21.437, 23.158}}], Polygon[{{-8.4567, 19.279, 18.947}, {-12.468, 16.963, 18.947}, {-12.936, 17.6, 23.158}, {-8.7739, 20.002, 23.158}}], Polygon[{{-12.468, 16.963, 18.947}, {-15.876, 13.826, 18.947}, {-16.471, 14.345, 23.158}, {-12.936, 17.6, 23.158}}], Polygon[{{-15.876, 13.826, 18.947}, {-18.515, 10.02, 18.947}, {-19.21, 10.396, 23.158}, {-16.471, 14.345, 23.158}}], Polygon[{{-18.515, 10.02, 18.947}, {-20.258, 5.7285, 18.947}, {-21.018, 5.9433, 23.158}, {-19.21, 10.396, 23.158}}], Polygon[{{-20.258, 5.7285, 18.947}, {-21.021, 1.1597, 18.947}, {-21.809, 1.2032, 23.158}, {-21.018, 5.9433, 23.158}}], Polygon[{{-21.021, 1.1597, 18.947}, {-20.766, -3.4651, 18.947}, {-21.544, -3.5951, 23.158}, {-21.809, 1.2032, 23.158}}], Polygon[{{-20.766, -3.4651, 18.947}, {-19.505, -7.9223, 18.947}, {-20.237, -8.2194, 23.158}, {-21.544, -3.5951, 23.158}}], Polygon[{{-19.505, -7.9223, 18.947}, {-17.301, -11.996, 18.947}, {-17.949, -12.446, 23.158}, {-20.237, -8.2194, 23.158}}], Polygon[{{-17.301, -11.996, 18.947}, {-14.259, -15.489, 18.947}, {-14.793, -16.07, 23.158}, {-17.949, -12.446, 23.158}}], Polygon[{{-14.259, -15.489, 18.947}, {-10.526, -18.232, 18.947}, {-10.921, -18.916, 23.158}, {-14.793, -16.07, 23.158}}], Polygon[{{21.842, 0., 23.158}, {21.313, 4.7765, 23.158}, {22.084, 4.9491, 27.368}, {22.632, 0., 27.368}}], Polygon[{{21.313, 4.7765, 23.158}, {19.753, 9.3217, 23.158}, {20.467, 9.6586, 27.368}, {22.084, 4.9491, 27.368}}], Polygon[{{19.753, 9.3217, 23.158}, {17.236, 13.416, 23.158}, {17.859, 13.901, 27.368}, {20.467, 9.6586, 27.368}}], Polygon[{{17.236, 13.416, 23.158}, {13.886, 16.86, 23.158}, {14.387, 17.47, 27.368}, {17.859, 13.901, 27.368}}], Polygon[{{13.886, 16.86, 23.158}, {9.8624, 19.489, 23.158}, {10.219, 20.193, 27.368}, {14.387, 17.47, 27.368}}], Polygon[{{9.8624, 19.489, 23.158}, {5.3619, 21.174, 23.158}, {5.5557, 21.939, 27.368}, {10.219, 20.193, 27.368}}], Polygon[{{5.3619, 21.174, 23.158}, {0.60184, 21.834, 23.158}, {0.6236, 22.623, 27.368}, {5.5557, 21.939, 27.368}}], Polygon[{{0.60184, 21.834, 23.158}, {-4.1874, 21.437, 23.158}, {-4.3387, 22.212, 27.368}, {0.6236, 22.623, 27.368}}], Polygon[{{-4.1874, 21.437, 23.158}, {-8.7739, 20.002, 23.158}, {-9.091, 20.725, 27.368}, {-4.3387, 22.212, 27.368}}], Polygon[{{-8.7739, 20.002, 23.158}, {-12.936, 17.6, 23.158}, {-13.403, 18.236, 27.368}, {-9.091, 20.725, 27.368}}], Polygon[{{-12.936, 17.6, 23.158}, {-16.471, 14.345, 23.158}, {-17.067, 14.863, 27.368}, {-13.403, 18.236, 27.368}}], Polygon[{{-16.471, 14.345, 23.158}, {-19.21, 10.396, 23.158}, {-19.904, 10.771, 27.368}, {-17.067, 14.863, 27.368}}], Polygon[{{-19.21, 10.396, 23.158}, {-21.018, 5.9433, 23.158}, {-21.778, 6.1581, 27.368}, {-19.904, 10.771, 27.368}}], Polygon[{{-21.018, 5.9433, 23.158}, {-21.809, 1.2032, 23.158}, {-22.597, 1.2467, 27.368}, {-21.778, 6.1581, 27.368}}], Polygon[{{-21.809, 1.2032, 23.158}, {-21.544, -3.5951, 23.158}, {-22.323, -3.725, 27.368}, {-22.597, 1.2467, 27.368}}], Polygon[{{-21.544, -3.5951, 23.158}, {-20.237, -8.2194, 23.158}, {-20.968, -8.5165, 27.368}, {-22.323, -3.725, 27.368}}], Polygon[{{-20.237, -8.2194, 23.158}, {-17.949, -12.446, 23.158}, {-18.598, -12.896, 27.368}, {-20.968, -8.5165, 27.368}}], Polygon[{{-17.949, -12.446, 23.158}, {-14.793, -16.07, 23.158}, {-15.328, -16.651, 27.368}, {-18.598, -12.896, 27.368}}], Polygon[{{-14.793, -16.07, 23.158}, {-10.921, -18.916, 23.158}, {-11.316, -19.6, 27.368}, {-15.328, -16.651, 27.368}}], Polygon[{{22.632, 0., 27.368}, {22.084, 4.9491, 27.368}, {22.854, 5.1217, 31.579}, {23.421, 0., 31.579}}], Polygon[{{22.084, 4.9491, 27.368}, {20.467, 9.6586, 27.368}, {21.181, 9.9956, 31.579}, {22.854, 5.1217, 31.579}}], Polygon[{{20.467, 9.6586, 27.368}, {17.859, 13.901, 27.368}, {18.483, 14.386, 31.579}, {21.181, 9.9956, 31.579}}], Polygon[{{17.859, 13.901, 27.368}, {14.387, 17.47, 27.368}, {14.889, 18.079, 31.579}, {18.483, 14.386, 31.579}}], Polygon[{{14.387, 17.47, 27.368}, {10.219, 20.193, 27.368}, {10.575, 20.898, 31.579}, {14.889, 18.079, 31.579}}], Polygon[{{10.219, 20.193, 27.368}, {5.5557, 21.939, 27.368}, {5.7495, 22.704, 31.579}, {10.575, 20.898, 31.579}}], Polygon[{{5.5557, 21.939, 27.368}, {0.6236, 22.623, 27.368}, {0.64535, 23.412, 31.579}, {5.7495, 22.704, 31.579}}], Polygon[{{0.6236, 22.623, 27.368}, {-4.3387, 22.212, 27.368}, {-4.4901, 22.987, 31.579}, {0.64535, 23.412, 31.579}}], Polygon[{{-4.3387, 22.212, 27.368}, {-9.091, 20.725, 27.368}, {-9.4081, 21.448, 31.579}, {-4.4901, 22.987, 31.579}}], Polygon[{{-9.091, 20.725, 27.368}, {-13.403, 18.236, 27.368}, {-13.871, 18.872, 31.579}, {-9.4081, 21.448, 31.579}}], Polygon[{{-13.403, 18.236, 27.368}, {-17.067, 14.863, 27.368}, {-17.662, 15.382, 31.579}, {-13.871, 18.872, 31.579}}], Polygon[{{-17.067, 14.863, 27.368}, {-19.904, 10.771, 27.368}, {-20.598, 11.147, 31.579}, {-17.662, 15.382, 31.579}}], Polygon[{{-19.904, 10.771, 27.368}, {-21.778, 6.1581, 27.368}, {-22.537, 6.3729, 31.579}, {-20.598, 11.147, 31.579}}], Polygon[{{-21.778, 6.1581, 27.368}, {-22.597, 1.2467, 27.368}, {-23.385, 1.2902, 31.579}, {-22.537, 6.3729, 31.579}}], Polygon[{{-22.597, 1.2467, 27.368}, {-22.323, -3.725, 27.368}, {-23.102, -3.855, 31.579}, {-23.385, 1.2902, 31.579}}], Polygon[{{-22.323, -3.725, 27.368}, {-20.968, -8.5165, 27.368}, {-21.699, -8.8136, 31.579}, {-23.102, -3.855, 31.579}}], Polygon[{{-20.968, -8.5165, 27.368}, {-18.598, -12.896, 27.368}, {-19.247, -13.346, 31.579}, {-21.699, -8.8136, 31.579}}], Polygon[{{-18.598, -12.896, 27.368}, {-15.328, -16.651, 27.368}, {-15.863, -17.231, 31.579}, {-19.247, -13.346, 31.579}}], Polygon[{{-15.328, -16.651, 27.368}, {-11.316, -19.6, 27.368}, {-11.711, -20.283, 31.579}, {-15.863, -17.231, 31.579}}], Polygon[{{23.421, 0., 31.579}, {22.854, 5.1217, 31.579}, {23.625, 5.2944, 35.789}, {24.211, 0., 35.789}}], Polygon[{{22.854, 5.1217, 31.579}, {21.181, 9.9956, 31.579}, {21.895, 10.332, 35.789}, {23.625, 5.2944, 35.789}}], Polygon[{{21.181, 9.9956, 31.579}, {18.483, 14.386, 31.579}, {19.106, 14.87, 35.789}, {21.895, 10.332, 35.789}}], Polygon[{{18.483, 14.386, 31.579}, {14.889, 18.079, 31.579}, {15.391, 18.689, 35.789}, {19.106, 14.87, 35.789}}], Polygon[{{14.889, 18.079, 31.579}, {10.575, 20.898, 31.579}, {10.932, 21.602, 35.789}, {15.391, 18.689, 35.789}}], Polygon[{{10.575, 20.898, 31.579}, {5.7495, 22.704, 31.579}, {5.9433, 23.47, 35.789}, {10.932, 21.602, 35.789}}], Polygon[{{5.7495, 22.704, 31.579}, {0.64535, 23.412, 31.579}, {0.66711, 24.201, 35.789}, {5.9433, 23.47, 35.789}}], Polygon[{{0.64535, 23.412, 31.579}, {-4.4901, 22.987, 31.579}, {-4.6414, 23.761, 35.789}, {0.66711, 24.201, 35.789}}], Polygon[{{-4.4901, 22.987, 31.579}, {-9.4081, 21.448, 31.579}, {-9.7253, 22.171, 35.789}, {-4.6414, 23.761, 35.789}}], Polygon[{{-9.4081, 21.448, 31.579}, {-13.871, 18.872, 31.579}, {-14.338, 19.508, 35.789}, {-9.7253, 22.171, 35.789}}], Polygon[{{-13.871, 18.872, 31.579}, {-17.662, 15.382, 31.579}, {-18.257, 15.9, 35.789}, {-14.338, 19.508, 35.789}}], Polygon[{{-17.662, 15.382, 31.579}, {-20.598, 11.147, 31.579}, {-21.293, 11.523, 35.789}, {-18.257, 15.9, 35.789}}], Polygon[{{-20.598, 11.147, 31.579}, {-22.537, 6.3729, 31.579}, {-23.297, 6.5878, 35.789}, {-21.293, 11.523, 35.789}}], Polygon[{{-22.537, 6.3729, 31.579}, {-23.385, 1.2902, 31.579}, {-24.174, 1.3337, 35.789}, {-23.297, 6.5878, 35.789}}], Polygon[{{-23.385, 1.2902, 31.579}, {-23.102, -3.855, 31.579}, {-23.88, -3.9849, 35.789}, {-24.174, 1.3337, 35.789}}], Polygon[{{-23.102, -3.855, 31.579}, {-21.699, -8.8136, 31.579}, {-22.431, -9.1106, 35.789}, {-23.88, -3.9849, 35.789}}], Polygon[{{-21.699, -8.8136, 31.579}, {-19.247, -13.346, 31.579}, {-19.896, -13.795, 35.789}, {-22.431, -9.1106, 35.789}}], Polygon[{{-19.247, -13.346, 31.579}, {-15.863, -17.231, 31.579}, {-16.397, -17.812, 35.789}, {-19.896, -13.795, 35.789}}], Polygon[{{-15.863, -17.231, 31.579}, {-11.711, -20.283, 31.579}, {-12.105, -20.967, 35.789}, {-16.397, -17.812, 35.789}}], Polygon[{{24.211, 0., 35.789}, {23.625, 5.2944, 35.789}, {24.395, 5.467, 40.}, {25., 0., 40.}}], Polygon[{{23.625, 5.2944, 35.789}, {21.895, 10.332, 35.789}, {22.609, 10.669, 40.}, {24.395, 5.467, 40.}}], Polygon[{{21.895, 10.332, 35.789}, {19.106, 14.87, 35.789}, {19.729, 15.355, 40.}, {22.609, 10.669, 40.}}], Polygon[{{19.106, 14.87, 35.789}, {15.391, 18.689, 35.789}, {15.893, 19.298, 40.}, {19.729, 15.355, 40.}}], Polygon[{{15.391, 18.689, 35.789}, {10.932, 21.602, 35.789}, {11.288, 22.306, 40.}, {15.893, 19.298, 40.}}], Polygon[{{10.932, 21.602, 35.789}, {5.9433, 23.47, 35.789}, {6.1371, 24.235, 40.}, {11.288, 22.306, 40.}}], Polygon[{{5.9433, 23.47, 35.789}, {0.66711, 24.201, 35.789}, {0.68886, 24.991, 40.}, {6.1371, 24.235, 40.}}], Polygon[{{0.66711, 24.201, 35.789}, {-4.6414, 23.761, 35.789}, {-4.7928, 24.536, 40.}, {0.68886, 24.991, 40.}}], Polygon[{{-4.6414, 23.761, 35.789}, {-9.7253, 22.171, 35.789}, {-10.042, 22.894, 40.}, {-4.7928, 24.536, 40.}}], Polygon[{{-9.7253, 22.171, 35.789}, {-14.338, 19.508, 35.789}, {-14.806, 20.144, 40.}, {-10.042, 22.894, 40.}}], Polygon[{{-14.338, 19.508, 35.789}, {-18.257, 15.9, 35.789}, {-18.853, 16.419, 40.}, {-14.806, 20.144, 40.}}], Polygon[{{-18.257, 15.9, 35.789}, {-21.293, 11.523, 35.789}, {-21.987, 11.899, 40.}, {-18.853, 16.419, 40.}}], Polygon[{{-21.293, 11.523, 35.789}, {-23.297, 6.5878, 35.789}, {-24.057, 6.8026, 40.}, {-21.987, 11.899, 40.}}], Polygon[{{-23.297, 6.5878, 35.789}, {-24.174, 1.3337, 35.789}, {-24.962, 1.3772, 40.}, {-24.057, 6.8026, 40.}}], Polygon[{{-24.174, 1.3337, 35.789}, {-23.88, -3.9849, 35.789}, {-24.659, -4.1149, 40.}, {-24.962, 1.3772, 40.}}], Polygon[{{-23.88, -3.9849, 35.789}, {-22.431, -9.1106, 35.789}, {-23.162, -9.4077, 40.}, {-24.659, -4.1149, 40.}}], Polygon[{{-22.431, -9.1106, 35.789}, {-19.896, -13.795, 35.789}, {-20.544, -14.245, 40.}, {-23.162, -9.4077, 40.}}], Polygon[{{-19.896, -13.795, 35.789}, {-16.397, -17.812, 35.789}, {-16.932, -18.393, 40.}, {-20.544, -14.245, 40.}}], Polygon[{{-16.397, -17.812, 35.789}, {-12.105, -20.967, 35.789}, {-12.5, -21.651, 40.}, {-16.932, -18.393, 40.}}]}, {Polygon[{{5., 0., -40.}, {4.879, 1.0934, -40.}, {6.0987, 1.3668, -40.}, {6.25, 0., -40.}}], Polygon[{{4.879, 1.0934, -40.}, {4.5218, 2.1339, -40.}, {5.6522, 2.6674, -40.}, {6.0987, 1.3668, -40.}}], Polygon[{{4.5218, 2.1339, -40.}, {3.9457, 3.0711, -40.}, {4.9321, 3.8388, -40.}, {5.6522, 2.6674, -40.}}], Polygon[{{3.9457, 3.0711, -40.}, {3.1786, 3.8596, -40.}, {3.9733, 4.8245, -40.}, {4.9321, 3.8388, -40.}}], Polygon[{{3.1786, 3.8596, -40.}, {2.2577, 4.4613, -40.}, {2.8221, 5.5766, -40.}, {3.9733, 4.8245, -40.}}], Polygon[{{2.2577, 4.4613, -40.}, {1.2274, 4.847, -40.}, {1.5343, 6.0588, -40.}, {2.8221, 5.5766, -40.}}], Polygon[{{1.2274, 4.847, -40.}, {0.13777, 4.9981, -40.}, {0.17221, 6.2476, -40.}, {1.5343, 6.0588, -40.}}], Polygon[{{0.13777, 4.9981, -40.}, {-0.95855, 4.9073, -40.}, {-1.1982, 6.1341, -40.}, {0.17221, 6.2476, -40.}}], Polygon[{{-0.95855, 4.9073, -40.}, {-2.0085, 4.5789, -40.}, {-2.5106, 5.7236, -40.}, {-1.1982, 6.1341, -40.}}], Polygon[{{-2.0085, 4.5789, -40.}, {-2.9612, 4.0288, -40.}, {-3.7015, 5.036, -40.}, {-2.5106, 5.7236, -40.}}], Polygon[{{-2.9612, 4.0288, -40.}, {-3.7705, 3.2838, -40.}, {-4.7132, 4.1047, -40.}, {-3.7015, 5.036, -40.}}], Polygon[{{-3.7705, 3.2838, -40.}, {-4.3974, 2.3797, -40.}, {-5.4967, 2.9747, -40.}, {-4.7132, 4.1047, -40.}}], Polygon[{{-4.3974, 2.3797, -40.}, {-4.8113, 1.3605, -40.}, {-6.0142, 1.7006, -40.}, {-5.4967, 2.9747, -40.}}], Polygon[{{-4.8113, 1.3605, -40.}, {-4.9924, 0.27544, -40.}, {-6.2405, 0.3443, -40.}, {-6.0142, 1.7006, -40.}}], Polygon[{{-4.9924, 0.27544, -40.}, {-4.9318, -0.82297, -40.}, {-6.1648, -1.0287, -40.}, {-6.2405, 0.3443, -40.}}], Polygon[{{-4.9318, -0.82297, -40.}, {-4.6325, -1.8815, -40.}, {-5.7906, -2.3519, -40.}, {-6.1648, -1.0287, -40.}}], Polygon[{{-4.6325, -1.8815, -40.}, {-4.1089, -2.849, -40.}, {-5.1361, -3.5613, -40.}, {-5.7906, -2.3519, -40.}}], Polygon[{{-4.1089, -2.849, -40.}, {-3.3864, -3.6786, -40.}, {-4.233, -4.5983, -40.}, {-5.1361, -3.5613, -40.}}], Polygon[{{-3.3864, -3.6786, -40.}, {-2.5, -4.3301, -40.}, {-3.125, -5.4127, -40.}, {-4.233, -4.5983, -40.}}], Polygon[{{6.25, 0., -40.}, {6.0987, 1.3668, -40.}, {7.3185, 1.6401, -40.}, {7.5, 0., -40.}}], Polygon[{{6.0987, 1.3668, -40.}, {5.6522, 2.6674, -40.}, {6.7827, 3.2008, -40.}, {7.3185, 1.6401, -40.}}], Polygon[{{5.6522, 2.6674, -40.}, {4.9321, 3.8388, -40.}, {5.9186, 4.6066, -40.}, {6.7827, 3.2008, -40.}}], Polygon[{{4.9321, 3.8388, -40.}, {3.9733, 4.8245, -40.}, {4.7679, 5.7894, -40.}, {5.9186, 4.6066, -40.}}], Polygon[{{3.9733, 4.8245, -40.}, {2.8221, 5.5766, -40.}, {3.3865, 6.6919, -40.}, {4.7679, 5.7894, -40.}}], Polygon[{{2.8221, 5.5766, -40.}, {1.5343, 6.0588, -40.}, {1.8411, 7.2705, -40.}, {3.3865, 6.6919, -40.}}], Polygon[{{1.5343, 6.0588, -40.}, {0.17221, 6.2476, -40.}, {0.20666, 7.4972, -40.}, {1.8411, 7.2705, -40.}}], Polygon[{{0.17221, 6.2476, -40.}, {-1.1982, 6.1341, -40.}, {-1.4378, 7.3609, -40.}, {0.20666, 7.4972, -40.}}], Polygon[{{-1.1982, 6.1341, -40.}, {-2.5106, 5.7236, -40.}, {-3.0127, 6.8683, -40.}, {-1.4378, 7.3609, -40.}}], Polygon[{{-2.5106, 5.7236, -40.}, {-3.7015, 5.036, -40.}, {-4.4418, 6.0432, -40.}, {-3.0127, 6.8683, -40.}}], Polygon[{{-3.7015, 5.036, -40.}, {-4.7132, 4.1047, -40.}, {-5.6558, 4.9256, -40.}, {-4.4418, 6.0432, -40.}}], Polygon[{{-4.7132, 4.1047, -40.}, {-5.4967, 2.9747, -40.}, {-6.5961, 3.5696, -40.}, {-5.6558, 4.9256, -40.}}], Polygon[{{-5.4967, 2.9747, -40.}, {-6.0142, 1.7006, -40.}, {-7.217, 2.0408, -40.}, {-6.5961, 3.5696, -40.}}], Polygon[{{-6.0142, 1.7006, -40.}, {-6.2405, 0.3443, -40.}, {-7.4886, 0.41316, -40.}, {-7.217, 2.0408, -40.}}], Polygon[{{-6.2405, 0.3443, -40.}, {-6.1648, -1.0287, -40.}, {-7.3977, -1.2345, -40.}, {-7.4886, 0.41316, -40.}}], Polygon[{{-6.1648, -1.0287, -40.}, {-5.7906, -2.3519, -40.}, {-6.9487, -2.8223, -40.}, {-7.3977, -1.2345, -40.}}], Polygon[{{-5.7906, -2.3519, -40.}, {-5.1361, -3.5613, -40.}, {-6.1633, -4.2736, -40.}, {-6.9487, -2.8223, -40.}}], Polygon[{{-5.1361, -3.5613, -40.}, {-4.233, -4.5983, -40.}, {-5.0796, -5.5179, -40.}, {-6.1633, -4.2736, -40.}}], Polygon[{{-4.233, -4.5983, -40.}, {-3.125, -5.4127, -40.}, {-3.75, -6.4952, -40.}, {-5.0796, -5.5179, -40.}}], Polygon[{{7.5, 0., -40.}, {7.3185, 1.6401, -40.}, {8.5382, 1.9135, -40.}, {8.75, 0., -40.}}], Polygon[{{7.3185, 1.6401, -40.}, {6.7827, 3.2008, -40.}, {7.9131, 3.7343, -40.}, {8.5382, 1.9135, -40.}}], Polygon[{{6.7827, 3.2008, -40.}, {5.9186, 4.6066, -40.}, {6.905, 5.3744, -40.}, {7.9131, 3.7343, -40.}}], Polygon[{{5.9186, 4.6066, -40.}, {4.7679, 5.7894, -40.}, {5.5626, 6.7543, -40.}, {6.905, 5.3744, -40.}}], Polygon[{{4.7679, 5.7894, -40.}, {3.3865, 6.6919, -40.}, {3.9509, 7.8072, -40.}, {5.5626, 6.7543, -40.}}], Polygon[{{3.3865, 6.6919, -40.}, {1.8411, 7.2705, -40.}, {2.148, 8.4823, -40.}, {3.9509, 7.8072, -40.}}], Polygon[{{1.8411, 7.2705, -40.}, {0.20666, 7.4972, -40.}, {0.2411, 8.7467, -40.}, {2.148, 8.4823, -40.}}], Polygon[{{0.20666, 7.4972, -40.}, {-1.4378, 7.3609, -40.}, {-1.6775, 8.5877, -40.}, {0.2411, 8.7467, -40.}}], Polygon[{{-1.4378, 7.3609, -40.}, {-3.0127, 6.8683, -40.}, {-3.5148, 8.013, -40.}, {-1.6775, 8.5877, -40.}}], Polygon[{{-3.0127, 6.8683, -40.}, {-4.4418, 6.0432, -40.}, {-5.1821, 7.0504, -40.}, {-3.5148, 8.013, -40.}}], Polygon[{{-4.4418, 6.0432, -40.}, {-5.6558, 4.9256, -40.}, {-6.5984, 5.7466, -40.}, {-5.1821, 7.0504, -40.}}], Polygon[{{-5.6558, 4.9256, -40.}, {-6.5961, 3.5696, -40.}, {-7.6954, 4.1645, -40.}, {-6.5984, 5.7466, -40.}}], Polygon[{{-6.5961, 3.5696, -40.}, {-7.217, 2.0408, -40.}, {-8.4198, 2.3809, -40.}, {-7.6954, 4.1645, -40.}}], Polygon[{{-7.217, 2.0408, -40.}, {-7.4886, 0.41316, -40.}, {-8.7367, 0.48202, -40.}, {-8.4198, 2.3809, -40.}}], Polygon[{{-7.4886, 0.41316, -40.}, {-7.3977, -1.2345, -40.}, {-8.6307, -1.4402, -40.}, {-8.7367, 0.48202, -40.}}], Polygon[{{-7.3977, -1.2345, -40.}, {-6.9487, -2.8223, -40.}, {-8.1068, -3.2927, -40.}, {-8.6307, -1.4402, -40.}}], Polygon[{{-6.9487, -2.8223, -40.}, {-6.1633, -4.2736, -40.}, {-7.1906, -4.9858, -40.}, {-8.1068, -3.2927, -40.}}], Polygon[{{-6.1633, -4.2736, -40.}, {-5.0796, -5.5179, -40.}, {-5.9262, -6.4376, -40.}, {-7.1906, -4.9858, -40.}}], Polygon[{{-5.0796, -5.5179, -40.}, {-3.75, -6.4952, -40.}, {-4.375, -7.5777, -40.}, {-5.9262, -6.4376, -40.}}], Polygon[{{8.75, 0., -40.}, {8.5382, 1.9135, -40.}, {9.758, 2.1868, -40.}, {10., 0., -40.}}], Polygon[{{8.5382, 1.9135, -40.}, {7.9131, 3.7343, -40.}, {9.0436, 4.2678, -40.}, {9.758, 2.1868, -40.}}], Polygon[{{7.9131, 3.7343, -40.}, {6.905, 5.3744, -40.}, {7.8914, 6.1421, -40.}, {9.0436, 4.2678, -40.}}], Polygon[{{6.905, 5.3744, -40.}, {5.5626, 6.7543, -40.}, {6.3572, 7.7192, -40.}, {7.8914, 6.1421, -40.}}], Polygon[{{5.5626, 6.7543, -40.}, {3.9509, 7.8072, -40.}, {4.5153, 8.9225, -40.}, {6.3572, 7.7192, -40.}}], Polygon[{{3.9509, 7.8072, -40.}, {2.148, 8.4823, -40.}, {2.4549, 9.694, -40.}, {4.5153, 8.9225, -40.}}], Polygon[{{2.148, 8.4823, -40.}, {0.2411, 8.7467, -40.}, {0.27554, 9.9962, -40.}, {2.4549, 9.694, -40.}}], Polygon[{{0.2411, 8.7467, -40.}, {-1.6775, 8.5877, -40.}, {-1.9171, 9.8145, -40.}, {0.27554, 9.9962, -40.}}], Polygon[{{-1.6775, 8.5877, -40.}, {-3.5148, 8.013, -40.}, {-4.017, 9.1577, -40.}, {-1.9171, 9.8145, -40.}}], Polygon[{{-3.5148, 8.013, -40.}, {-5.1821, 7.0504, -40.}, {-5.9224, 8.0577, -40.}, {-4.017, 9.1577, -40.}}], Polygon[{{-5.1821, 7.0504, -40.}, {-6.5984, 5.7466, -40.}, {-7.5411, 6.5675, -40.}, {-5.9224, 8.0577, -40.}}], Polygon[{{-6.5984, 5.7466, -40.}, {-7.6954, 4.1645, -40.}, {-8.7947, 4.7595, -40.}, {-7.5411, 6.5675, -40.}}], Polygon[{{-7.6954, 4.1645, -40.}, {-8.4198, 2.3809, -40.}, {-9.6227, 2.721, -40.}, {-8.7947, 4.7595, -40.}}], Polygon[{{-8.4198, 2.3809, -40.}, {-8.7367, 0.48202, -40.}, {-9.9848, 0.55088, -40.}, {-9.6227, 2.721, -40.}}], Polygon[{{-8.7367, 0.48202, -40.}, {-8.6307, -1.4402, -40.}, {-9.8636, -1.6459, -40.}, {-9.9848, 0.55088, -40.}}], Polygon[{{-8.6307, -1.4402, -40.}, {-8.1068, -3.2927, -40.}, {-9.2649, -3.7631, -40.}, {-9.8636, -1.6459, -40.}}], Polygon[{{-8.1068, -3.2927, -40.}, {-7.1906, -4.9858, -40.}, {-8.2178, -5.6981, -40.}, {-9.2649, -3.7631, -40.}}], Polygon[{{-7.1906, -4.9858, -40.}, {-5.9262, -6.4376, -40.}, {-6.7728, -7.3572, -40.}, {-8.2178, -5.6981, -40.}}], Polygon[{{-5.9262, -6.4376, -40.}, {-4.375, -7.5777, -40.}, {-5., -8.6603, -40.}, {-6.7728, -7.3572, -40.}}]}, {Polygon[{{20., 0., 40.}, {19.516, 4.3736, 40.}, {20.736, 4.647, 40.}, {21.25, 0., 40.}}], Polygon[{{19.516, 4.3736, 40.}, {18.087, 8.5355, 40.}, {19.218, 9.069, 40.}, {20.736, 4.647, 40.}}], Polygon[{{18.087, 8.5355, 40.}, {15.783, 12.284, 40.}, {16.769, 13.052, 40.}, {19.218, 9.069, 40.}}], Polygon[{{15.783, 12.284, 40.}, {12.714, 15.438, 40.}, {13.509, 16.403, 40.}, {16.769, 13.052, 40.}}], Polygon[{{12.714, 15.438, 40.}, {9.0307, 17.845, 40.}, {9.5951, 18.96, 40.}, {13.509, 16.403, 40.}}], Polygon[{{9.0307, 17.845, 40.}, {4.9097, 19.388, 40.}, {5.2166, 20.6, 40.}, {9.5951, 18.96, 40.}}], Polygon[{{4.9097, 19.388, 40.}, {0.55109, 19.992, 40.}, {0.58553, 21.242, 40.}, {5.2166, 20.6, 40.}}], Polygon[{{0.55109, 19.992, 40.}, {-3.8342, 19.629, 40.}, {-4.0739, 20.856, 40.}, {0.58553, 21.242, 40.}}], Polygon[{{-3.8342, 19.629, 40.}, {-8.0339, 18.315, 40.}, {-8.536, 19.46, 40.}, {-4.0739, 20.856, 40.}}], Polygon[{{-8.0339, 18.315, 40.}, {-11.845, 16.115, 40.}, {-12.585, 17.123, 40.}, {-8.536, 19.46, 40.}}], Polygon[{{-11.845, 16.115, 40.}, {-15.082, 13.135, 40.}, {-16.025, 13.956, 40.}, {-12.585, 17.123, 40.}}], Polygon[{{-15.082, 13.135, 40.}, {-17.589, 9.5189, 40.}, {-18.689, 10.114, 40.}, {-16.025, 13.956, 40.}}], Polygon[{{-17.589, 9.5189, 40.}, {-19.245, 5.4421, 40.}, {-20.448, 5.7822, 40.}, {-18.689, 10.114, 40.}}], Polygon[{{-19.245, 5.4421, 40.}, {-19.97, 1.1018, 40.}, {-21.218, 1.1706, 40.}, {-20.448, 5.7822, 40.}}], Polygon[{{-19.97, 1.1018, 40.}, {-19.727, -3.2919, 40.}, {-20.96, -3.4976, 40.}, {-21.218, 1.1706, 40.}}], Polygon[{{-19.727, -3.2919, 40.}, {-18.53, -7.5262, 40.}, {-19.688, -7.9966, 40.}, {-20.96, -3.4976, 40.}}], Polygon[{{-18.53, -7.5262, 40.}, {-16.436, -11.396, 40.}, {-17.463, -12.108, 40.}, {-19.688, -7.9966, 40.}}], Polygon[{{-16.436, -11.396, 40.}, {-13.546, -14.714, 40.}, {-14.392, -15.634, 40.}, {-17.463, -12.108, 40.}}], Polygon[{{-13.546, -14.714, 40.}, {-10., -17.321, 40.}, {-10.625, -18.403, 40.}, {-14.392, -15.634, 40.}}], Polygon[{{21.25, 0., 40.}, {20.736, 4.647, 40.}, {21.955, 4.9203, 40.}, {22.5, 0., 40.}}], Polygon[{{20.736, 4.647, 40.}, {19.218, 9.069, 40.}, {20.348, 9.6025, 40.}, {21.955, 4.9203, 40.}}], Polygon[{{19.218, 9.069, 40.}, {16.769, 13.052, 40.}, {17.756, 13.82, 40.}, {20.348, 9.6025, 40.}}], Polygon[{{16.769, 13.052, 40.}, {13.509, 16.403, 40.}, {14.304, 17.368, 40.}, {17.756, 13.82, 40.}}], Polygon[{{13.509, 16.403, 40.}, {9.5951, 18.96, 40.}, {10.16, 20.076, 40.}, {14.304, 17.368, 40.}}], Polygon[{{9.5951, 18.96, 40.}, {5.2166, 20.6, 40.}, {5.5234, 21.812, 40.}, {10.16, 20.076, 40.}}], Polygon[{{5.2166, 20.6, 40.}, {0.58553, 21.242, 40.}, {0.61997, 22.491, 40.}, {5.5234, 21.812, 40.}}], Polygon[{{0.58553, 21.242, 40.}, {-4.0739, 20.856, 40.}, {-4.3135, 22.083, 40.}, {0.61997, 22.491, 40.}}], Polygon[{{-4.0739, 20.856, 40.}, {-8.536, 19.46, 40.}, {-9.0381, 20.605, 40.}, {-4.3135, 22.083, 40.}}], Polygon[{{-8.536, 19.46, 40.}, {-12.585, 17.123, 40.}, {-13.325, 18.13, 40.}, {-9.0381, 20.605, 40.}}], Polygon[{{-12.585, 17.123, 40.}, {-16.025, 13.956, 40.}, {-16.967, 14.777, 40.}, {-13.325, 18.13, 40.}}], Polygon[{{-16.025, 13.956, 40.}, {-18.689, 10.114, 40.}, {-19.788, 10.709, 40.}, {-16.967, 14.777, 40.}}], Polygon[{{-18.689, 10.114, 40.}, {-20.448, 5.7822, 40.}, {-21.651, 6.1223, 40.}, {-19.788, 10.709, 40.}}], Polygon[{{-20.448, 5.7822, 40.}, {-21.218, 1.1706, 40.}, {-22.466, 1.2395, 40.}, {-21.651, 6.1223, 40.}}], Polygon[{{-21.218, 1.1706, 40.}, {-20.96, -3.4976, 40.}, {-22.193, -3.7034, 40.}, {-22.466, 1.2395, 40.}}], Polygon[{{-20.96, -3.4976, 40.}, {-19.688, -7.9966, 40.}, {-20.846, -8.467, 40.}, {-22.193, -3.7034, 40.}}], Polygon[{{-19.688, -7.9966, 40.}, {-17.463, -12.108, 40.}, {-18.49, -12.821, 40.}, {-20.846, -8.467, 40.}}], Polygon[{{-17.463, -12.108, 40.}, {-14.392, -15.634, 40.}, {-15.239, -16.554, 40.}, {-18.49, -12.821, 40.}}], Polygon[{{-14.392, -15.634, 40.}, {-10.625, -18.403, 40.}, {-11.25, -19.486, 40.}, {-15.239, -16.554, 40.}}], Polygon[{{22.5, 0., 40.}, {21.955, 4.9203, 40.}, {23.175, 5.1937, 40.}, {23.75, 0., 40.}}], Polygon[{{21.955, 4.9203, 40.}, {20.348, 9.6025, 40.}, {21.478, 10.136, 40.}, {23.175, 5.1937, 40.}}], Polygon[{{20.348, 9.6025, 40.}, {17.756, 13.82, 40.}, {18.742, 14.588, 40.}, {21.478, 10.136, 40.}}], Polygon[{{17.756, 13.82, 40.}, {14.304, 17.368, 40.}, {15.098, 18.333, 40.}, {18.742, 14.588, 40.}}], Polygon[{{14.304, 17.368, 40.}, {10.16, 20.076, 40.}, {10.724, 21.191, 40.}, {15.098, 18.333, 40.}}], Polygon[{{10.16, 20.076, 40.}, {5.5234, 21.812, 40.}, {5.8303, 23.023, 40.}, {10.724, 21.191, 40.}}], Polygon[{{5.5234, 21.812, 40.}, {0.61997, 22.491, 40.}, {0.65442, 23.741, 40.}, {5.8303, 23.023, 40.}}], Polygon[{{0.61997, 22.491, 40.}, {-4.3135, 22.083, 40.}, {-4.5531, 23.309, 40.}, {0.65442, 23.741, 40.}}], Polygon[{{-4.3135, 22.083, 40.}, {-9.0381, 20.605, 40.}, {-9.5403, 21.75, 40.}, {-4.5531, 23.309, 40.}}], Polygon[{{-9.0381, 20.605, 40.}, {-13.325, 18.13, 40.}, {-14.066, 19.137, 40.}, {-9.5403, 21.75, 40.}}], Polygon[{{-13.325, 18.13, 40.}, {-16.967, 14.777, 40.}, {-17.91, 15.598, 40.}, {-14.066, 19.137, 40.}}], Polygon[{{-16.967, 14.777, 40.}, {-19.788, 10.709, 40.}, {-20.888, 11.304, 40.}, {-17.91, 15.598, 40.}}], Polygon[{{-19.788, 10.709, 40.}, {-21.651, 6.1223, 40.}, {-22.854, 6.4625, 40.}, {-20.888, 11.304, 40.}}], Polygon[{{-21.651, 6.1223, 40.}, {-22.466, 1.2395, 40.}, {-23.714, 1.3083, 40.}, {-22.854, 6.4625, 40.}}], Polygon[{{-22.466, 1.2395, 40.}, {-22.193, -3.7034, 40.}, {-23.426, -3.9091, 40.}, {-23.714, 1.3083, 40.}}], Polygon[{{-22.193, -3.7034, 40.}, {-20.846, -8.467, 40.}, {-22.004, -8.9373, 40.}, {-23.426, -3.9091, 40.}}], Polygon[{{-20.846, -8.467, 40.}, {-18.49, -12.821, 40.}, {-19.517, -13.533, 40.}, {-22.004, -8.9373, 40.}}], Polygon[{{-18.49, -12.821, 40.}, {-15.239, -16.554, 40.}, {-16.085, -17.473, 40.}, {-19.517, -13.533, 40.}}], Polygon[{{-15.239, -16.554, 40.}, {-11.25, -19.486, 40.}, {-11.875, -20.568, 40.}, {-16.085, -17.473, 40.}}], Polygon[{{23.75, 0., 40.}, {23.175, 5.1937, 40.}, {24.395, 5.467, 40.}, {25., 0., 40.}}], Polygon[{{23.175, 5.1937, 40.}, {21.478, 10.136, 40.}, {22.609, 10.669, 40.}, {24.395, 5.467, 40.}}], Polygon[{{21.478, 10.136, 40.}, {18.742, 14.588, 40.}, {19.729, 15.355, 40.}, {22.609, 10.669, 40.}}], Polygon[{{18.742, 14.588, 40.}, {15.098, 18.333, 40.}, {15.893, 19.298, 40.}, {19.729, 15.355, 40.}}], Polygon[{{15.098, 18.333, 40.}, {10.724, 21.191, 40.}, {11.288, 22.306, 40.}, {15.893, 19.298, 40.}}], Polygon[{{10.724, 21.191, 40.}, {5.8303, 23.023, 40.}, {6.1371, 24.235, 40.}, {11.288, 22.306, 40.}}], Polygon[{{5.8303, 23.023, 40.}, {0.65442, 23.741, 40.}, {0.68886, 24.991, 40.}, {6.1371, 24.235, 40.}}], Polygon[{{0.65442, 23.741, 40.}, {-4.5531, 23.309, 40.}, {-4.7928, 24.536, 40.}, {0.68886, 24.991, 40.}}], Polygon[{{-4.5531, 23.309, 40.}, {-9.5403, 21.75, 40.}, {-10.042, 22.894, 40.}, {-4.7928, 24.536, 40.}}], Polygon[{{-9.5403, 21.75, 40.}, {-14.066, 19.137, 40.}, {-14.806, 20.144, 40.}, {-10.042, 22.894, 40.}}], Polygon[{{-14.066, 19.137, 40.}, {-17.91, 15.598, 40.}, {-18.853, 16.419, 40.}, {-14.806, 20.144, 40.}}], Polygon[{{-17.91, 15.598, 40.}, {-20.888, 11.304, 40.}, {-21.987, 11.899, 40.}, {-18.853, 16.419, 40.}}], Polygon[{{-20.888, 11.304, 40.}, {-22.854, 6.4625, 40.}, {-24.057, 6.8026, 40.}, {-21.987, 11.899, 40.}}], Polygon[{{-22.854, 6.4625, 40.}, {-23.714, 1.3083, 40.}, {-24.962, 1.3772, 40.}, {-24.057, 6.8026, 40.}}], Polygon[{{-23.714, 1.3083, 40.}, {-23.426, -3.9091, 40.}, {-24.659, -4.1149, 40.}, {-24.962, 1.3772, 40.}}], Polygon[{{-23.426, -3.9091, 40.}, {-22.004, -8.9373, 40.}, {-23.162, -9.4077, 40.}, {-24.659, -4.1149, 40.}}], Polygon[{{-22.004, -8.9373, 40.}, {-19.517, -13.533, 40.}, {-20.544, -14.245, 40.}, {-23.162, -9.4077, 40.}}], Polygon[{{-19.517, -13.533, 40.}, {-16.085, -17.473, 40.}, {-16.932, -18.393, 40.}, {-20.544, -14.245, 40.}}], Polygon[{{-16.085, -17.473, 40.}, {-11.875, -20.568, 40.}, {-12.5, -21.651, 40.}, {-16.932, -18.393, 40.}}]}, {Polygon[{{5., 0., -40.}, {5.7895, 0., -35.789}, {7.0395, 0., -35.789}, {6.25, 0., -40.}}], Polygon[{{5.7895, 0., -35.789}, {6.5789, 0., -31.579}, {7.8289, 0., -31.579}, {7.0395, 0., -35.789}}], Polygon[{{6.5789, 0., -31.579}, {7.3684, 0., -27.368}, {8.6184, 0., -27.368}, {7.8289, 0., -31.579}}], Polygon[{{7.3684, 0., -27.368}, {8.1579, 0., -23.158}, {9.4079, 0., -23.158}, {8.6184, 0., -27.368}}], Polygon[{{8.1579, 0., -23.158}, {8.9474, 0., -18.947}, {10.197, 0., -18.947}, {9.4079, 0., -23.158}}], Polygon[{{8.9474, 0., -18.947}, {9.7368, 0., -14.737}, {10.987, 0., -14.737}, {10.197, 0., -18.947}}], Polygon[{{9.7368, 0., -14.737}, {10.526, 0., -10.526}, {11.776, 0., -10.526}, {10.987, 0., -14.737}}], Polygon[{{10.526, 0., -10.526}, {11.316, 0., -6.3158}, {12.566, 0., -6.3158}, {11.776, 0., -10.526}}], Polygon[{{11.316, 0., -6.3158}, {12.105, 0., -2.1053}, {13.355, 0., -2.1053}, {12.566, 0., -6.3158}}], Polygon[{{12.105, 0., -2.1053}, {12.895, 0., 2.1053}, {14.145, 0., 2.1053}, {13.355, 0., -2.1053}}], Polygon[{{12.895, 0., 2.1053}, {13.684, 0., 6.3158}, {14.934, 0., 6.3158}, {14.145, 0., 2.1053}}], Polygon[{{13.684, 0., 6.3158}, {14.474, 0., 10.526}, {15.724, 0., 10.526}, {14.934, 0., 6.3158}}], Polygon[{{14.474, 0., 10.526}, {15.263, 0., 14.737}, {16.513, 0., 14.737}, {15.724, 0., 10.526}}], Polygon[{{15.263, 0., 14.737}, {16.053, 0., 18.947}, {17.303, 0., 18.947}, {16.513, 0., 14.737}}], Polygon[{{16.053, 0., 18.947}, {16.842, 0., 23.158}, {18.092, 0., 23.158}, {17.303, 0., 18.947}}], Polygon[{{16.842, 0., 23.158}, {17.632, 0., 27.368}, {18.882, 0., 27.368}, {18.092, 0., 23.158}}], Polygon[{{17.632, 0., 27.368}, {18.421, 0., 31.579}, {19.671, 0., 31.579}, {18.882, 0., 27.368}}], Polygon[{{18.421, 0., 31.579}, {19.211, 0., 35.789}, {20.461, 0., 35.789}, {19.671, 0., 31.579}}], Polygon[{{19.211, 0., 35.789}, {20., 0., 40.}, {21.25, 0., 40.}, {20.461, 0., 35.789}}], Polygon[{{6.25, 0., -40.}, {7.0395, 0., -35.789}, {8.2895, 0., -35.789}, {7.5, 0., -40.}}], Polygon[{{7.0395, 0., -35.789}, {7.8289, 0., -31.579}, {9.0789, 0., -31.579}, {8.2895, 0., -35.789}}], Polygon[{{7.8289, 0., -31.579}, {8.6184, 0., -27.368}, {9.8684, 0., -27.368}, {9.0789, 0., -31.579}}], Polygon[{{8.6184, 0., -27.368}, {9.4079, 0., -23.158}, {10.658, 0., -23.158}, {9.8684, 0., -27.368}}], Polygon[{{9.4079, 0., -23.158}, {10.197, 0., -18.947}, {11.447, 0., -18.947}, {10.658, 0., -23.158}}], Polygon[{{10.197, 0., -18.947}, {10.987, 0., -14.737}, {12.237, 0., -14.737}, {11.447, 0., -18.947}}], Polygon[{{10.987, 0., -14.737}, {11.776, 0., -10.526}, {13.026, 0., -10.526}, {12.237, 0., -14.737}}], Polygon[{{11.776, 0., -10.526}, {12.566, 0., -6.3158}, {13.816, 0., -6.3158}, {13.026, 0., -10.526}}], Polygon[{{12.566, 0., -6.3158}, {13.355, 0., -2.1053}, {14.605, 0., -2.1053}, {13.816, 0., -6.3158}}], Polygon[{{13.355, 0., -2.1053}, {14.145, 0., 2.1053}, {15.395, 0., 2.1053}, {14.605, 0., -2.1053}}], Polygon[{{14.145, 0., 2.1053}, {14.934, 0., 6.3158}, {16.184, 0., 6.3158}, {15.395, 0., 2.1053}}], Polygon[{{14.934, 0., 6.3158}, {15.724, 0., 10.526}, {16.974, 0., 10.526}, {16.184, 0., 6.3158}}], Polygon[{{15.724, 0., 10.526}, {16.513, 0., 14.737}, {17.763, 0., 14.737}, {16.974, 0., 10.526}}], Polygon[{{16.513, 0., 14.737}, {17.303, 0., 18.947}, {18.553, 0., 18.947}, {17.763, 0., 14.737}}], Polygon[{{17.303, 0., 18.947}, {18.092, 0., 23.158}, {19.342, 0., 23.158}, {18.553, 0., 18.947}}], Polygon[{{18.092, 0., 23.158}, {18.882, 0., 27.368}, {20.132, 0., 27.368}, {19.342, 0., 23.158}}], Polygon[{{18.882, 0., 27.368}, {19.671, 0., 31.579}, {20.921, 0., 31.579}, {20.132, 0., 27.368}}], Polygon[{{19.671, 0., 31.579}, {20.461, 0., 35.789}, {21.711, 0., 35.789}, {20.921, 0., 31.579}}], Polygon[{{20.461, 0., 35.789}, {21.25, 0., 40.}, {22.5, 0., 40.}, {21.711, 0., 35.789}}], Polygon[{{7.5, 0., -40.}, {8.2895, 0., -35.789}, {9.5395, 0., -35.789}, {8.75, 0., -40.}}], Polygon[{{8.2895, 0., -35.789}, {9.0789, 0., -31.579}, {10.329, 0., -31.579}, {9.5395, 0., -35.789}}], Polygon[{{9.0789, 0., -31.579}, {9.8684, 0., -27.368}, {11.118, 0., -27.368}, {10.329, 0., -31.579}}], Polygon[{{9.8684, 0., -27.368}, {10.658, 0., -23.158}, {11.908, 0., -23.158}, {11.118, 0., -27.368}}], Polygon[{{10.658, 0., -23.158}, {11.447, 0., -18.947}, {12.697, 0., -18.947}, {11.908, 0., -23.158}}], Polygon[{{11.447, 0., -18.947}, {12.237, 0., -14.737}, {13.487, 0., -14.737}, {12.697, 0., -18.947}}], Polygon[{{12.237, 0., -14.737}, {13.026, 0., -10.526}, {14.276, 0., -10.526}, {13.487, 0., -14.737}}], Polygon[{{13.026, 0., -10.526}, {13.816, 0., -6.3158}, {15.066, 0., -6.3158}, {14.276, 0., -10.526}}], Polygon[{{13.816, 0., -6.3158}, {14.605, 0., -2.1053}, {15.855, 0., -2.1053}, {15.066, 0., -6.3158}}], Polygon[{{14.605, 0., -2.1053}, {15.395, 0., 2.1053}, {16.645, 0., 2.1053}, {15.855, 0., -2.1053}}], Polygon[{{15.395, 0., 2.1053}, {16.184, 0., 6.3158}, {17.434, 0., 6.3158}, {16.645, 0., 2.1053}}], Polygon[{{16.184, 0., 6.3158}, {16.974, 0., 10.526}, {18.224, 0., 10.526}, {17.434, 0., 6.3158}}], Polygon[{{16.974, 0., 10.526}, {17.763, 0., 14.737}, {19.013, 0., 14.737}, {18.224, 0., 10.526}}], Polygon[{{17.763, 0., 14.737}, {18.553, 0., 18.947}, {19.803, 0., 18.947}, {19.013, 0., 14.737}}], Polygon[{{18.553, 0., 18.947}, {19.342, 0., 23.158}, {20.592, 0., 23.158}, {19.803, 0., 18.947}}], Polygon[{{19.342, 0., 23.158}, {20.132, 0., 27.368}, {21.382, 0., 27.368}, {20.592, 0., 23.158}}], Polygon[{{20.132, 0., 27.368}, {20.921, 0., 31.579}, {22.171, 0., 31.579}, {21.382, 0., 27.368}}], Polygon[{{20.921, 0., 31.579}, {21.711, 0., 35.789}, {22.961, 0., 35.789}, {22.171, 0., 31.579}}], Polygon[{{21.711, 0., 35.789}, {22.5, 0., 40.}, {23.75, 0., 40.}, {22.961, 0., 35.789}}], Polygon[{{8.75, 0., -40.}, {9.5395, 0., -35.789}, {10.789, 0., -35.789}, {10., 0., -40.}}], Polygon[{{9.5395, 0., -35.789}, {10.329, 0., -31.579}, {11.579, 0., -31.579}, {10.789, 0., -35.789}}], Polygon[{{10.329, 0., -31.579}, {11.118, 0., -27.368}, {12.368, 0., -27.368}, {11.579, 0., -31.579}}], Polygon[{{11.118, 0., -27.368}, {11.908, 0., -23.158}, {13.158, 0., -23.158}, {12.368, 0., -27.368}}], Polygon[{{11.908, 0., -23.158}, {12.697, 0., -18.947}, {13.947, 0., -18.947}, {13.158, 0., -23.158}}], Polygon[{{12.697, 0., -18.947}, {13.487, 0., -14.737}, {14.737, 0., -14.737}, {13.947, 0., -18.947}}], Polygon[{{13.487, 0., -14.737}, {14.276, 0., -10.526}, {15.526, 0., -10.526}, {14.737, 0., -14.737}}], Polygon[{{14.276, 0., -10.526}, {15.066, 0., -6.3158}, {16.316, 0., -6.3158}, {15.526, 0., -10.526}}], Polygon[{{15.066, 0., -6.3158}, {15.855, 0., -2.1053}, {17.105, 0., -2.1053}, {16.316, 0., -6.3158}}], Polygon[{{15.855, 0., -2.1053}, {16.645, 0., 2.1053}, {17.895, 0., 2.1053}, {17.105, 0., -2.1053}}], Polygon[{{16.645, 0., 2.1053}, {17.434, 0., 6.3158}, {18.684, 0., 6.3158}, {17.895, 0., 2.1053}}], Polygon[{{17.434, 0., 6.3158}, {18.224, 0., 10.526}, {19.474, 0., 10.526}, {18.684, 0., 6.3158}}], Polygon[{{18.224, 0., 10.526}, {19.013, 0., 14.737}, {20.263, 0., 14.737}, {19.474, 0., 10.526}}], Polygon[{{19.013, 0., 14.737}, {19.803, 0., 18.947}, {21.053, 0., 18.947}, {20.263, 0., 14.737}}], Polygon[{{19.803, 0., 18.947}, {20.592, 0., 23.158}, {21.842, 0., 23.158}, {21.053, 0., 18.947}}], Polygon[{{20.592, 0., 23.158}, {21.382, 0., 27.368}, {22.632, 0., 27.368}, {21.842, 0., 23.158}}], Polygon[{{21.382, 0., 27.368}, {22.171, 0., 31.579}, {23.421, 0., 31.579}, {22.632, 0., 27.368}}], Polygon[{{22.171, 0., 31.579}, {22.961, 0., 35.789}, {24.211, 0., 35.789}, {23.421, 0., 31.579}}], Polygon[{{22.961, 0., 35.789}, {23.75, 0., 40.}, {25., 0., 40.}, {24.211, 0., 35.789}}]}, {Polygon[{{-2.5, -4.3301, -40.}, {-2.8947, -5.0138, -35.789}, {-3.5197, -6.0964, -35.789}, {-3.125, -5.4127, -40.}}], Polygon[{{-2.8947, -5.0138, -35.789}, {-3.2895, -5.6975, -31.579}, {-3.9145, -6.7801, -31.579}, {-3.5197, -6.0964, -35.789}}], Polygon[{{-3.2895, -5.6975, -31.579}, {-3.6842, -6.3812, -27.368}, {-4.3092, -7.4638, -27.368}, {-3.9145, -6.7801, -31.579}}], Polygon[{{-3.6842, -6.3812, -27.368}, {-4.0789, -7.0649, -23.158}, {-4.7039, -8.1475, -23.158}, {-4.3092, -7.4638, -27.368}}], Polygon[{{-4.0789, -7.0649, -23.158}, {-4.4737, -7.7486, -18.947}, {-5.0987, -8.8312, -18.947}, {-4.7039, -8.1475, -23.158}}], Polygon[{{-4.4737, -7.7486, -18.947}, {-4.8684, -8.4324, -14.737}, {-5.4934, -9.5149, -14.737}, {-5.0987, -8.8312, -18.947}}], Polygon[{{-4.8684, -8.4324, -14.737}, {-5.2632, -9.1161, -10.526}, {-5.8882, -10.199, -10.526}, {-5.4934, -9.5149, -14.737}}], Polygon[{{-5.2632, -9.1161, -10.526}, {-5.6579, -9.7998, -6.3158}, {-6.2829, -10.882, -6.3158}, {-5.8882, -10.199, -10.526}}], Polygon[{{-5.6579, -9.7998, -6.3158}, {-6.0526, -10.483, -2.1053}, {-6.6776, -11.566, -2.1053}, {-6.2829, -10.882, -6.3158}}], Polygon[{{-6.0526, -10.483, -2.1053}, {-6.4474, -11.167, 2.1053}, {-7.0724, -12.25, 2.1053}, {-6.6776, -11.566, -2.1053}}], Polygon[{{-6.4474, -11.167, 2.1053}, {-6.8421, -11.851, 6.3158}, {-7.4671, -12.933, 6.3158}, {-7.0724, -12.25, 2.1053}}], Polygon[{{-6.8421, -11.851, 6.3158}, {-7.2368, -12.535, 10.526}, {-7.8618, -13.617, 10.526}, {-7.4671, -12.933, 6.3158}}], Polygon[{{-7.2368, -12.535, 10.526}, {-7.6316, -13.218, 14.737}, {-8.2566, -14.301, 14.737}, {-7.8618, -13.617, 10.526}}], Polygon[{{-7.6316, -13.218, 14.737}, {-8.0263, -13.902, 18.947}, {-8.6513, -14.985, 18.947}, {-8.2566, -14.301, 14.737}}], Polygon[{{-8.0263, -13.902, 18.947}, {-8.4211, -14.586, 23.158}, {-9.0461, -15.668, 23.158}, {-8.6513, -14.985, 18.947}}], Polygon[{{-8.4211, -14.586, 23.158}, {-8.8158, -15.269, 27.368}, {-9.4408, -16.352, 27.368}, {-9.0461, -15.668, 23.158}}], Polygon[{{-8.8158, -15.269, 27.368}, {-9.2105, -15.953, 31.579}, {-9.8355, -17.036, 31.579}, {-9.4408, -16.352, 27.368}}], Polygon[{{-9.2105, -15.953, 31.579}, {-9.6053, -16.637, 35.789}, {-10.23, -17.719, 35.789}, {-9.8355, -17.036, 31.579}}], Polygon[{{-9.6053, -16.637, 35.789}, {-10., -17.321, 40.}, {-10.625, -18.403, 40.}, {-10.23, -17.719, 35.789}}], Polygon[{{-3.125, -5.4127, -40.}, {-3.5197, -6.0964, -35.789}, {-4.1447, -7.1789, -35.789}, {-3.75, -6.4952, -40.}}], Polygon[{{-3.5197, -6.0964, -35.789}, {-3.9145, -6.7801, -31.579}, {-4.5395, -7.8626, -31.579}, {-4.1447, -7.1789, -35.789}}], Polygon[{{-3.9145, -6.7801, -31.579}, {-4.3092, -7.4638, -27.368}, {-4.9342, -8.5463, -27.368}, {-4.5395, -7.8626, -31.579}}], Polygon[{{-4.3092, -7.4638, -27.368}, {-4.7039, -8.1475, -23.158}, {-5.3289, -9.23, -23.158}, {-4.9342, -8.5463, -27.368}}], Polygon[{{-4.7039, -8.1475, -23.158}, {-5.0987, -8.8312, -18.947}, {-5.7237, -9.9137, -18.947}, {-5.3289, -9.23, -23.158}}], Polygon[{{-5.0987, -8.8312, -18.947}, {-5.4934, -9.5149, -14.737}, {-6.1184, -10.597, -14.737}, {-5.7237, -9.9137, -18.947}}], Polygon[{{-5.4934, -9.5149, -14.737}, {-5.8882, -10.199, -10.526}, {-6.5132, -11.281, -10.526}, {-6.1184, -10.597, -14.737}}], Polygon[{{-5.8882, -10.199, -10.526}, {-6.2829, -10.882, -6.3158}, {-6.9079, -11.965, -6.3158}, {-6.5132, -11.281, -10.526}}], Polygon[{{-6.2829, -10.882, -6.3158}, {-6.6776, -11.566, -2.1053}, {-7.3026, -12.649, -2.1053}, {-6.9079, -11.965, -6.3158}}], Polygon[{{-6.6776, -11.566, -2.1053}, {-7.0724, -12.25, 2.1053}, {-7.6974, -13.332, 2.1053}, {-7.3026, -12.649, -2.1053}}], Polygon[{{-7.0724, -12.25, 2.1053}, {-7.4671, -12.933, 6.3158}, {-8.0921, -14.016, 6.3158}, {-7.6974, -13.332, 2.1053}}], Polygon[{{-7.4671, -12.933, 6.3158}, {-7.8618, -13.617, 10.526}, {-8.4868, -14.7, 10.526}, {-8.0921, -14.016, 6.3158}}], Polygon[{{-7.8618, -13.617, 10.526}, {-8.2566, -14.301, 14.737}, {-8.8816, -15.383, 14.737}, {-8.4868, -14.7, 10.526}}], Polygon[{{-8.2566, -14.301, 14.737}, {-8.6513, -14.985, 18.947}, {-9.2763, -16.067, 18.947}, {-8.8816, -15.383, 14.737}}], Polygon[{{-8.6513, -14.985, 18.947}, {-9.0461, -15.668, 23.158}, {-9.6711, -16.751, 23.158}, {-9.2763, -16.067, 18.947}}], Polygon[{{-9.0461, -15.668, 23.158}, {-9.4408, -16.352, 27.368}, {-10.066, -17.434, 27.368}, {-9.6711, -16.751, 23.158}}], Polygon[{{-9.4408, -16.352, 27.368}, {-9.8355, -17.036, 31.579}, {-10.461, -18.118, 31.579}, {-10.066, -17.434, 27.368}}], Polygon[{{-9.8355, -17.036, 31.579}, {-10.23, -17.719, 35.789}, {-10.855, -18.802, 35.789}, {-10.461, -18.118, 31.579}}], Polygon[{{-10.23, -17.719, 35.789}, {-10.625, -18.403, 40.}, {-11.25, -19.486, 40.}, {-10.855, -18.802, 35.789}}], Polygon[{{-3.75, -6.4952, -40.}, {-4.1447, -7.1789, -35.789}, {-4.7697, -8.2614, -35.789}, {-4.375, -7.5777, -40.}}], Polygon[{{-4.1447, -7.1789, -35.789}, {-4.5395, -7.8626, -31.579}, {-5.1645, -8.9451, -31.579}, {-4.7697, -8.2614, -35.789}}], Polygon[{{-4.5395, -7.8626, -31.579}, {-4.9342, -8.5463, -27.368}, {-5.5592, -9.6288, -27.368}, {-5.1645, -8.9451, -31.579}}], Polygon[{{-4.9342, -8.5463, -27.368}, {-5.3289, -9.23, -23.158}, {-5.9539, -10.313, -23.158}, {-5.5592, -9.6288, -27.368}}], Polygon[{{-5.3289, -9.23, -23.158}, {-5.7237, -9.9137, -18.947}, {-6.3487, -10.996, -18.947}, {-5.9539, -10.313, -23.158}}], Polygon[{{-5.7237, -9.9137, -18.947}, {-6.1184, -10.597, -14.737}, {-6.7434, -11.68, -14.737}, {-6.3487, -10.996, -18.947}}], Polygon[{{-6.1184, -10.597, -14.737}, {-6.5132, -11.281, -10.526}, {-7.1382, -12.364, -10.526}, {-6.7434, -11.68, -14.737}}], Polygon[{{-6.5132, -11.281, -10.526}, {-6.9079, -11.965, -6.3158}, {-7.5329, -13.047, -6.3158}, {-7.1382, -12.364, -10.526}}], Polygon[{{-6.9079, -11.965, -6.3158}, {-7.3026, -12.649, -2.1053}, {-7.9276, -13.731, -2.1053}, {-7.5329, -13.047, -6.3158}}], Polygon[{{-7.3026, -12.649, -2.1053}, {-7.6974, -13.332, 2.1053}, {-8.3224, -14.415, 2.1053}, {-7.9276, -13.731, -2.1053}}], Polygon[{{-7.6974, -13.332, 2.1053}, {-8.0921, -14.016, 6.3158}, {-8.7171, -15.098, 6.3158}, {-8.3224, -14.415, 2.1053}}], Polygon[{{-8.0921, -14.016, 6.3158}, {-8.4868, -14.7, 10.526}, {-9.1118, -15.782, 10.526}, {-8.7171, -15.098, 6.3158}}], Polygon[{{-8.4868, -14.7, 10.526}, {-8.8816, -15.383, 14.737}, {-9.5066, -16.466, 14.737}, {-9.1118, -15.782, 10.526}}], Polygon[{{-8.8816, -15.383, 14.737}, {-9.2763, -16.067, 18.947}, {-9.9013, -17.15, 18.947}, {-9.5066, -16.466, 14.737}}], Polygon[{{-9.2763, -16.067, 18.947}, {-9.6711, -16.751, 23.158}, {-10.296, -17.833, 23.158}, {-9.9013, -17.15, 18.947}}], Polygon[{{-9.6711, -16.751, 23.158}, {-10.066, -17.434, 27.368}, {-10.691, -18.517, 27.368}, {-10.296, -17.833, 23.158}}], Polygon[{{-10.066, -17.434, 27.368}, {-10.461, -18.118, 31.579}, {-11.086, -19.201, 31.579}, {-10.691, -18.517, 27.368}}], Polygon[{{-10.461, -18.118, 31.579}, {-10.855, -18.802, 35.789}, {-11.48, -19.884, 35.789}, {-11.086, -19.201, 31.579}}], Polygon[{{-10.855, -18.802, 35.789}, {-11.25, -19.486, 40.}, {-11.875, -20.568, 40.}, {-11.48, -19.884, 35.789}}], Polygon[{{-4.375, -7.5777, -40.}, {-4.7697, -8.2614, -35.789}, {-5.3947, -9.344, -35.789}, {-5., -8.6603, -40.}}], Polygon[{{-4.7697, -8.2614, -35.789}, {-5.1645, -8.9451, -31.579}, {-5.7895, -10.028, -31.579}, {-5.3947, -9.344, -35.789}}], Polygon[{{-5.1645, -8.9451, -31.579}, {-5.5592, -9.6288, -27.368}, {-6.1842, -10.711, -27.368}, {-5.7895, -10.028, -31.579}}], Polygon[{{-5.5592, -9.6288, -27.368}, {-5.9539, -10.313, -23.158}, {-6.5789, -11.395, -23.158}, {-6.1842, -10.711, -27.368}}], Polygon[{{-5.9539, -10.313, -23.158}, {-6.3487, -10.996, -18.947}, {-6.9737, -12.079, -18.947}, {-6.5789, -11.395, -23.158}}], Polygon[{{-6.3487, -10.996, -18.947}, {-6.7434, -11.68, -14.737}, {-7.3684, -12.762, -14.737}, {-6.9737, -12.079, -18.947}}], Polygon[{{-6.7434, -11.68, -14.737}, {-7.1382, -12.364, -10.526}, {-7.7632, -13.446, -10.526}, {-7.3684, -12.762, -14.737}}], Polygon[{{-7.1382, -12.364, -10.526}, {-7.5329, -13.047, -6.3158}, {-8.1579, -14.13, -6.3158}, {-7.7632, -13.446, -10.526}}], Polygon[{{-7.5329, -13.047, -6.3158}, {-7.9276, -13.731, -2.1053}, {-8.5526, -14.814, -2.1053}, {-8.1579, -14.13, -6.3158}}], Polygon[{{-7.9276, -13.731, -2.1053}, {-8.3224, -14.415, 2.1053}, {-8.9474, -15.497, 2.1053}, {-8.5526, -14.814, -2.1053}}], Polygon[{{-8.3224, -14.415, 2.1053}, {-8.7171, -15.098, 6.3158}, {-9.3421, -16.181, 6.3158}, {-8.9474, -15.497, 2.1053}}], Polygon[{{-8.7171, -15.098, 6.3158}, {-9.1118, -15.782, 10.526}, {-9.7368, -16.865, 10.526}, {-9.3421, -16.181, 6.3158}}], Polygon[{{-9.1118, -15.782, 10.526}, {-9.5066, -16.466, 14.737}, {-10.132, -17.548, 14.737}, {-9.7368, -16.865, 10.526}}], Polygon[{{-9.5066, -16.466, 14.737}, {-9.9013, -17.15, 18.947}, {-10.526, -18.232, 18.947}, {-10.132, -17.548, 14.737}}], Polygon[{{-9.9013, -17.15, 18.947}, {-10.296, -17.833, 23.158}, {-10.921, -18.916, 23.158}, {-10.526, -18.232, 18.947}}], Polygon[{{-10.296, -17.833, 23.158}, {-10.691, -18.517, 27.368}, {-11.316, -19.6, 27.368}, {-10.921, -18.916, 23.158}}], Polygon[{{-10.691, -18.517, 27.368}, {-11.086, -19.201, 31.579}, {-11.711, -20.283, 31.579}, {-11.316, -19.6, 27.368}}], Polygon[{{-11.086, -19.201, 31.579}, {-11.48, -19.884, 35.789}, {-12.105, -20.967, 35.789}, {-11.711, -20.283, 31.579}}], Polygon[{{-11.48, -19.884, 35.789}, {-11.875, -20.568, 40.}, {-12.5, -21.651, 40.}, {-12.105, -20.967, 35.789}}]}}, {AmbientLight -> GrayLevel[0.15], PlotRange -> Automatic, DisplayFunction :> $DisplayFunction, ColorOutput -> Automatic, Axes -> True, PlotLabel -> None, AxesLabel -> {"x", "y", "z"}, Ticks -> Automatic, Prolog -> {}, Epilog -> {}, AxesStyle -> Automatic, Background -> Automatic, DefaultColor -> Automatic, DefaultFont :> $DefaultFont, AspectRatio -> Automatic, ViewPoint -> {1.3, -2.4, 2.}, Boxed -> True, BoxRatios -> Automatic, Plot3Matrix -> Automatic, Lighting -> True, AmbientLight -> GrayLevel[0.], LightSources -> {{{1., 0., 1.}, RGBColor[1., 0., 0.]}, {{1., 1., 1.}, RGBColor[0., 1., 0.]}, {{0., 1., 1.}, RGBColor[0., 0., 1.]}}, ViewCenter -> Automatic, PlotRegion -> Automatic, ImageSize -> Automatic, TextStyle :> {FontFamily -> "Times", FontSize -> 16.}, FormatType :> $FormatType, ViewVertical -> {0., 0., 1.}, FaceGrids -> None, Shading -> True, RenderAll -> True, PolygonIntersections -> True, AxesEdge -> Automatic, BoxStyle -> Automatic, SphericalRegion -> False}]
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aEllipsoid.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aEllipsoid.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aEllipsoid.txt	(revision 904)
@@ -0,0 +1,1 @@
+Graphics3D[{{Polygon[{{9.798, 0., -10.}, {9.4641, 5.0718, -10.}, {9.5374, 5.1111, -7.9167}, {9.8739, 0., -7.9167}}], Polygon[{{9.4641, 5.0718, -10.}, {8.4853, 9.798, -10.}, {8.551, 9.8739, -7.9167}, {9.5374, 5.1111, -7.9167}}], Polygon[{{8.4853, 9.798, -10.}, {6.9282, 13.856, -10.}, {6.9819, 13.964, -7.9167}, {8.551, 9.8739, -7.9167}}], Polygon[{{6.9282, 13.856, -10.}, {4.899, 16.971, -10.}, {4.9369, 17.102, -7.9167}, {6.9819, 13.964, -7.9167}}], Polygon[{{4.899, 16.971, -10.}, {2.5359, 18.928, -10.}, {2.5555, 19.075, -7.9167}, {4.9369, 17.102, -7.9167}}], Polygon[{{2.5359, 18.928, -10.}, {2.7755*^-15, 19.596, -10.}, {2.797*^-15, 19.748, -7.9167}, {2.5555, 19.075, -7.9167}}], Polygon[{{2.7755*^-15, 19.596, -10.}, {-2.5359, 18.928, -10.}, {-2.5555, 19.075, -7.9167}, {2.797*^-15, 19.748, -7.9167}}], Polygon[{{-2.5359, 18.928, -10.}, {-4.899, 16.971, -10.}, {-4.9369, 17.102, -7.9167}, {-2.5555, 19.075, -7.9167}}], Polygon[{{-4.899, 16.971, -10.}, {-6.9282, 13.856, -10.}, {-6.9819, 13.964, -7.9167}, {-4.9369, 17.102, -7.9167}}], Polygon[{{-6.9282, 13.856, -10.}, {-8.4853, 9.798, -10.}, {-8.551, 9.8739, -7.9167}, {-6.9819, 13.964, -7.9167}}], Polygon[{{-8.4853, 9.798, -10.}, {-9.4641, 5.0718, -10.}, {-9.5374, 5.1111, -7.9167}, {-8.551, 9.8739, -7.9167}}], Polygon[{{-9.4641, 5.0718, -10.}, {-9.798, -6.3026*^-15, -10.}, {-9.8739, -6.3514*^-15, -7.9167}, {-9.5374, 5.1111, -7.9167}}], Polygon[{{-9.798, -6.3026*^-15, -10.}, {-9.4641, -5.0718, -10.}, {-9.5374, -5.1111, -7.9167}, {-9.8739, -6.3514*^-15, -7.9167}}], Polygon[{{-9.4641, -5.0718, -10.}, {-8.4853, -9.798, -10.}, {-8.551, -9.8739, -7.9167}, {-9.5374, -5.1111, -7.9167}}], Polygon[{{-8.4853, -9.798, -10.}, {-6.9282, -13.856, -10.}, {-6.9819, -13.964, -7.9167}, {-8.551, -9.8739, -7.9167}}], Polygon[{{-6.9282, -13.856, -10.}, {-4.899, -16.971, -10.}, {-4.9369, -17.102, -7.9167}, {-6.9819, -13.964, -7.9167}}], Polygon[{{-4.899, -16.971, -10.}, {-2.5359, -18.928, -10.}, {-2.5555, -19.075, -7.9167}, {-4.9369, -17.102, -7.9167}}], Polygon[{{-2.5359, -18.928, -10.}, {-1.7998*^-15, -19.596, -10.}, {-1.8137*^-15, -19.748, -7.9167}, {-2.5555, -19.075, -7.9167}}], Polygon[{{-1.7998*^-15, -19.596, -10.}, {2.5359, -18.928, -10.}, {2.5555, -19.075, -7.9167}, {-1.8137*^-15, -19.748, -7.9167}}], Polygon[{{2.5359, -18.928, -10.}, {4.899, -16.971, -10.}, {4.9369, -17.102, -7.9167}, {2.5555, -19.075, -7.9167}}], Polygon[{{4.899, -16.971, -10.}, {6.9282, -13.856, -10.}, {6.9819, -13.964, -7.9167}, {4.9369, -17.102, -7.9167}}], Polygon[{{6.9282, -13.856, -10.}, {8.4853, -9.798, -10.}, {8.551, -9.8739, -7.9167}, {6.9819, -13.964, -7.9167}}], Polygon[{{8.4853, -9.798, -10.}, {9.4641, -5.0718, -10.}, {9.5374, -5.1111, -7.9167}, {8.551, -9.8739, -7.9167}}], Polygon[{{9.4641, -5.0718, -10.}, {9.798, -3.9609*^-14, -10.}, {9.8739, -3.9916*^-14, -7.9167}, {9.5374, -5.1111, -7.9167}}], Polygon[{{9.8739, 0., -7.9167}, {9.5374, 5.1111, -7.9167}, {9.5933, 5.141, -5.8333}, {9.9317, 0., -5.8333}}], Polygon[{{9.5374, 5.1111, -7.9167}, {8.551, 9.8739, -7.9167}, {8.6011, 9.9317, -5.8333}, {9.5933, 5.141, -5.8333}}], Polygon[{{8.551, 9.8739, -7.9167}, {6.9819, 13.964, -7.9167}, {7.0228, 14.046, -5.8333}, {8.6011, 9.9317, -5.8333}}], Polygon[{{6.9819, 13.964, -7.9167}, {4.9369, 17.102, -7.9167}, {4.9659, 17.202, -5.8333}, {7.0228, 14.046, -5.8333}}], Polygon[{{4.9369, 17.102, -7.9167}, {2.5555, 19.075, -7.9167}, {2.5705, 19.187, -5.8333}, {4.9659, 17.202, -5.8333}}], Polygon[{{2.5555, 19.075, -7.9167}, {2.797*^-15, 19.748, -7.9167}, {2.8134*^-15, 19.863, -5.8333}, {2.5705, 19.187, -5.8333}}], Polygon[{{2.797*^-15, 19.748, -7.9167}, {-2.5555, 19.075, -7.9167}, {-2.5705, 19.187, -5.8333}, {2.8134*^-15, 19.863, -5.8333}}], Polygon[{{-2.5555, 19.075, -7.9167}, {-4.9369, 17.102, -7.9167}, {-4.9659, 17.202, -5.8333}, {-2.5705, 19.187, -5.8333}}], Polygon[{{-4.9369, 17.102, -7.9167}, {-6.9819, 13.964, -7.9167}, {-7.0228, 14.046, -5.8333}, {-4.9659, 17.202, -5.8333}}], Polygon[{{-6.9819, 13.964, -7.9167}, {-8.551, 9.8739, -7.9167}, {-8.6011, 9.9317, -5.8333}, {-7.0228, 14.046, -5.8333}}], Polygon[{{-8.551, 9.8739, -7.9167}, {-9.5374, 5.1111, -7.9167}, {-9.5933, 5.141, -5.8333}, {-8.6011, 9.9317, -5.8333}}], Polygon[{{-9.5374, 5.1111, -7.9167}, {-9.8739, -6.3514*^-15, -7.9167}, {-9.9317, -6.3886*^-15, -5.8333}, {-9.5933, 5.141, -5.8333}}], Polygon[{{-9.8739, -6.3514*^-15, -7.9167}, {-9.5374, -5.1111, -7.9167}, {-9.5933, -5.141, -5.8333}, {-9.9317, -6.3886*^-15, -5.8333}}], Polygon[{{-9.5374, -5.1111, -7.9167}, {-8.551, -9.8739, -7.9167}, {-8.6011, -9.9317, -5.8333}, {-9.5933, -5.141, -5.8333}}], Polygon[{{-8.551, -9.8739, -7.9167}, {-6.9819, -13.964, -7.9167}, {-7.0228, -14.046, -5.8333}, {-8.6011, -9.9317, -5.8333}}], Polygon[{{-6.9819, -13.964, -7.9167}, {-4.9369, -17.102, -7.9167}, {-4.9659, -17.202, -5.8333}, {-7.0228, -14.046, -5.8333}}], Polygon[{{-4.9369, -17.102, -7.9167}, {-2.5555, -19.075, -7.9167}, {-2.5705, -19.187, -5.8333}, {-4.9659, -17.202, -5.8333}}], Polygon[{{-2.5555, -19.075, -7.9167}, {-1.8137*^-15, -19.748, -7.9167}, {-1.8244*^-15, -19.863, -5.8333}, {-2.5705, -19.187, -5.8333}}], Polygon[{{-1.8137*^-15, -19.748, -7.9167}, {2.5555, -19.075, -7.9167}, {2.5705, -19.187, -5.8333}, {-1.8244*^-15, -19.863, -5.8333}}], Polygon[{{2.5555, -19.075, -7.9167}, {4.9369, -17.102, -7.9167}, {4.9659, -17.202, -5.8333}, {2.5705, -19.187, -5.8333}}], Polygon[{{4.9369, -17.102, -7.9167}, {6.9819, -13.964, -7.9167}, {7.0228, -14.046, -5.8333}, {4.9659, -17.202, -5.8333}}], Polygon[{{6.9819, -13.964, -7.9167}, {8.551, -9.8739, -7.9167}, {8.6011, -9.9317, -5.8333}, {7.0228, -14.046, -5.8333}}], Polygon[{{8.551, -9.8739, -7.9167}, {9.5374, -5.1111, -7.9167}, {9.5933, -5.141, -5.8333}, {8.6011, -9.9317, -5.8333}}], Polygon[{{9.5374, -5.1111, -7.9167}, {9.8739, -3.9916*^-14, -7.9167}, {9.9317, -4.015*^-14, -5.8333}, {9.5933, -5.141, -5.8333}}], Polygon[{{9.9317, 0., -5.8333}, {9.5933, 5.141, -5.8333}, {9.6321, 5.1618, -3.75}, {9.9718, 0., -3.75}}], Polygon[{{9.5933, 5.141, -5.8333}, {8.6011, 9.9317, -5.8333}, {8.6359, 9.9718, -3.75}, {9.6321, 5.1618, -3.75}}], Polygon[{{8.6011, 9.9317, -5.8333}, {7.0228, 14.046, -5.8333}, {7.0512, 14.102, -3.75}, {8.6359, 9.9718, -3.75}}], Polygon[{{7.0228, 14.046, -5.8333}, {4.9659, 17.202, -5.8333}, {4.9859, 17.272, -3.75}, {7.0512, 14.102, -3.75}}], Polygon[{{4.9659, 17.202, -5.8333}, {2.5705, 19.187, -5.8333}, {2.5809, 19.264, -3.75}, {4.9859, 17.272, -3.75}}], Polygon[{{2.5705, 19.187, -5.8333}, {2.8134*^-15, 19.863, -5.8333}, {2.8248*^-15, 19.944, -3.75}, {2.5809, 19.264, -3.75}}], Polygon[{{2.8134*^-15, 19.863, -5.8333}, {-2.5705, 19.187, -5.8333}, {-2.5809, 19.264, -3.75}, {2.8248*^-15, 19.944, -3.75}}], Polygon[{{-2.5705, 19.187, -5.8333}, {-4.9659, 17.202, -5.8333}, {-4.9859, 17.272, -3.75}, {-2.5809, 19.264, -3.75}}], Polygon[{{-4.9659, 17.202, -5.8333}, {-7.0228, 14.046, -5.8333}, {-7.0512, 14.102, -3.75}, {-4.9859, 17.272, -3.75}}], Polygon[{{-7.0228, 14.046, -5.8333}, {-8.6011, 9.9317, -5.8333}, {-8.6359, 9.9718, -3.75}, {-7.0512, 14.102, -3.75}}], Polygon[{{-8.6011, 9.9317, -5.8333}, {-9.5933, 5.141, -5.8333}, {-9.6321, 5.1618, -3.75}, {-8.6359, 9.9718, -3.75}}], Polygon[{{-9.5933, 5.141, -5.8333}, {-9.9317, -6.3886*^-15, -5.8333}, {-9.9718, -6.4145*^-15, -3.75}, {-9.6321, 5.1618, -3.75}}], Polygon[{{-9.9317, -6.3886*^-15, -5.8333}, {-9.5933, -5.141, -5.8333}, {-9.6321, -5.1618, -3.75}, {-9.9718, -6.4145*^-15, -3.75}}], Polygon[{{-9.5933, -5.141, -5.8333}, {-8.6011, -9.9317, -5.8333}, {-8.6359, -9.9718, -3.75}, {-9.6321, -5.1618, -3.75}}], Polygon[{{-8.6011, -9.9317, -5.8333}, {-7.0228, -14.046, -5.8333}, {-7.0512, -14.102, -3.75}, {-8.6359, -9.9718, -3.75}}], Polygon[{{-7.0228, -14.046, -5.8333}, {-4.9659, -17.202, -5.8333}, {-4.9859, -17.272, -3.75}, {-7.0512, -14.102, -3.75}}], Polygon[{{-4.9659, -17.202, -5.8333}, {-2.5705, -19.187, -5.8333}, {-2.5809, -19.264, -3.75}, {-4.9859, -17.272, -3.75}}], Polygon[{{-2.5705, -19.187, -5.8333}, {-1.8244*^-15, -19.863, -5.8333}, {-1.8317*^-15, -19.944, -3.75}, {-2.5809, -19.264, -3.75}}], Polygon[{{-1.8244*^-15, -19.863, -5.8333}, {2.5705, -19.187, -5.8333}, {2.5809, -19.264, -3.75}, {-1.8317*^-15, -19.944, -3.75}}], Polygon[{{2.5705, -19.187, -5.8333}, {4.9659, -17.202, -5.8333}, {4.9859, -17.272, -3.75}, {2.5809, -19.264, -3.75}}], Polygon[{{4.9659, -17.202, -5.8333}, {7.0228, -14.046, -5.8333}, {7.0512, -14.102, -3.75}, {4.9859, -17.272, -3.75}}], Polygon[{{7.0228, -14.046, -5.8333}, {8.6011, -9.9317, -5.8333}, {8.6359, -9.9718, -3.75}, {7.0512, -14.102, -3.75}}], Polygon[{{8.6011, -9.9317, -5.8333}, {9.5933, -5.141, -5.8333}, {9.6321, -5.1618, -3.75}, {8.6359, -9.9718, -3.75}}], Polygon[{{9.5933, -5.141, -5.8333}, {9.9317, -4.015*^-14, -5.8333}, {9.9718, -4.0312*^-14, -3.75}, {9.6321, -5.1618, -3.75}}], Polygon[{{9.9718, 0., -3.75}, {9.6321, 5.1618, -3.75}, {9.6539, 5.1735, -1.6667}, {9.9944, 0., -1.6667}}], Polygon[{{9.6321, 5.1618, -3.75}, {8.6359, 9.9718, -3.75}, {8.6554, 9.9944, -1.6667}, {9.6539, 5.1735, -1.6667}}], Polygon[{{8.6359, 9.9718, -3.75}, {7.0512, 14.102, -3.75}, {7.0671, 14.134, -1.6667}, {8.6554, 9.9944, -1.6667}}], Polygon[{{7.0512, 14.102, -3.75}, {4.9859, 17.272, -3.75}, {4.9972, 17.311, -1.6667}, {7.0671, 14.134, -1.6667}}], Polygon[{{4.9859, 17.272, -3.75}, {2.5809, 19.264, -3.75}, {2.5868, 19.308, -1.6667}, {4.9972, 17.311, -1.6667}}], Polygon[{{2.5809, 19.264, -3.75}, {2.8248*^-15, 19.944, -3.75}, {2.8312*^-15, 19.989, -1.6667}, {2.5868, 19.308, -1.6667}}], Polygon[{{2.8248*^-15, 19.944, -3.75}, {-2.5809, 19.264, -3.75}, {-2.5868, 19.308, -1.6667}, {2.8312*^-15, 19.989, -1.6667}}], Polygon[{{-2.5809, 19.264, -3.75}, {-4.9859, 17.272, -3.75}, {-4.9972, 17.311, -1.6667}, {-2.5868, 19.308, -1.6667}}], Polygon[{{-4.9859, 17.272, -3.75}, {-7.0512, 14.102, -3.75}, {-7.0671, 14.134, -1.6667}, {-4.9972, 17.311, -1.6667}}], Polygon[{{-7.0512, 14.102, -3.75}, {-8.6359, 9.9718, -3.75}, {-8.6554, 9.9944, -1.6667}, {-7.0671, 14.134, -1.6667}}], Polygon[{{-8.6359, 9.9718, -3.75}, {-9.6321, 5.1618, -3.75}, {-9.6539, 5.1735, -1.6667}, {-8.6554, 9.9944, -1.6667}}], Polygon[{{-9.6321, 5.1618, -3.75}, {-9.9718, -6.4145*^-15, -3.75}, {-9.9944, -6.429*^-15, -1.6667}, {-9.6539, 5.1735, -1.6667}}], Polygon[{{-9.9718, -6.4145*^-15, -3.75}, {-9.6321, -5.1618, -3.75}, {-9.6539, -5.1735, -1.6667}, {-9.9944, -6.429*^-15, -1.6667}}], Polygon[{{-9.6321, -5.1618, -3.75}, {-8.6359, -9.9718, -3.75}, {-8.6554, -9.9944, -1.6667}, {-9.6539, -5.1735, -1.6667}}], Polygon[{{-8.6359, -9.9718, -3.75}, {-7.0512, -14.102, -3.75}, {-7.0671, -14.134, -1.6667}, {-8.6554, -9.9944, -1.6667}}], Polygon[{{-7.0512, -14.102, -3.75}, {-4.9859, -17.272, -3.75}, {-4.9972, -17.311, -1.6667}, {-7.0671, -14.134, -1.6667}}], Polygon[{{-4.9859, -17.272, -3.75}, {-2.5809, -19.264, -3.75}, {-2.5868, -19.308, -1.6667}, {-4.9972, -17.311, -1.6667}}], Polygon[{{-2.5809, -19.264, -3.75}, {-1.8317*^-15, -19.944, -3.75}, {-1.8359*^-15, -19.989, -1.6667}, {-2.5868, -19.308, -1.6667}}], Polygon[{{-1.8317*^-15, -19.944, -3.75}, {2.5809, -19.264, -3.75}, {2.5868, -19.308, -1.6667}, {-1.8359*^-15, -19.989, -1.6667}}], Polygon[{{2.5809, -19.264, -3.75}, {4.9859, -17.272, -3.75}, {4.9972, -17.311, -1.6667}, {2.5868, -19.308, -1.6667}}], Polygon[{{4.9859, -17.272, -3.75}, {7.0512, -14.102, -3.75}, {7.0671, -14.134, -1.6667}, {4.9972, -17.311, -1.6667}}], Polygon[{{7.0512, -14.102, -3.75}, {8.6359, -9.9718, -3.75}, {8.6554, -9.9944, -1.6667}, {7.0671, -14.134, -1.6667}}], Polygon[{{8.6359, -9.9718, -3.75}, {9.6321, -5.1618, -3.75}, {9.6539, -5.1735, -1.6667}, {8.6554, -9.9944, -1.6667}}], Polygon[{{9.6321, -5.1618, -3.75}, {9.9718, -4.0312*^-14, -3.75}, {9.9944, -4.0403*^-14, -1.6667}, {9.6539, -5.1735, -1.6667}}], Polygon[{{9.9944, 0., -1.6667}, {9.6539, 5.1735, -1.6667}, {9.6589, 5.1762, 0.41667}, {9.9997, 0., 0.41667}}], Polygon[{{9.6539, 5.1735, -1.6667}, {8.6554, 9.9944, -1.6667}, {8.66, 9.9997, 0.41667}, {9.6589, 5.1762, 0.41667}}], Polygon[{{8.6554, 9.9944, -1.6667}, {7.0671, 14.134, -1.6667}, {7.0708, 14.142, 0.41667}, {8.66, 9.9997, 0.41667}}], Polygon[{{7.0671, 14.134, -1.6667}, {4.9972, 17.311, -1.6667}, {4.9998, 17.32, 0.41667}, {7.0708, 14.142, 0.41667}}], Polygon[{{4.9972, 17.311, -1.6667}, {2.5868, 19.308, -1.6667}, {2.5881, 19.318, 0.41667}, {4.9998, 17.32, 0.41667}}], Polygon[{{2.5868, 19.308, -1.6667}, {2.8312*^-15, 19.989, -1.6667}, {2.8327*^-15, 19.999, 0.41667}, {2.5881, 19.318, 0.41667}}], Polygon[{{2.8312*^-15, 19.989, -1.6667}, {-2.5868, 19.308, -1.6667}, {-2.5881, 19.318, 0.41667}, {2.8327*^-15, 19.999, 0.41667}}], Polygon[{{-2.5868, 19.308, -1.6667}, {-4.9972, 17.311, -1.6667}, {-4.9998, 17.32, 0.41667}, {-2.5881, 19.318, 0.41667}}], Polygon[{{-4.9972, 17.311, -1.6667}, {-7.0671, 14.134, -1.6667}, {-7.0708, 14.142, 0.41667}, {-4.9998, 17.32, 0.41667}}], Polygon[{{-7.0671, 14.134, -1.6667}, {-8.6554, 9.9944, -1.6667}, {-8.66, 9.9997, 0.41667}, {-7.0708, 14.142, 0.41667}}], Polygon[{{-8.6554, 9.9944, -1.6667}, {-9.6539, 5.1735, -1.6667}, {-9.6589, 5.1762, 0.41667}, {-8.66, 9.9997, 0.41667}}], Polygon[{{-9.6539, 5.1735, -1.6667}, {-9.9944, -6.429*^-15, -1.6667}, {-9.9997, -6.4323*^-15, 0.41667}, {-9.6589, 5.1762, 0.41667}}], Polygon[{{-9.9944, -6.429*^-15, -1.6667}, {-9.6539, -5.1735, -1.6667}, {-9.6589, -5.1762, 0.41667}, {-9.9997, -6.4323*^-15, 0.41667}}], Polygon[{{-9.6539, -5.1735, -1.6667}, {-8.6554, -9.9944, -1.6667}, {-8.66, -9.9997, 0.41667}, {-9.6589, -5.1762, 0.41667}}], Polygon[{{-8.6554, -9.9944, -1.6667}, {-7.0671, -14.134, -1.6667}, {-7.0708, -14.142, 0.41667}, {-8.66, -9.9997, 0.41667}}], Polygon[{{-7.0671, -14.134, -1.6667}, {-4.9972, -17.311, -1.6667}, {-4.9998, -17.32, 0.41667}, {-7.0708, -14.142, 0.41667}}], Polygon[{{-4.9972, -17.311, -1.6667}, {-2.5868, -19.308, -1.6667}, {-2.5881, -19.318, 0.41667}, {-4.9998, -17.32, 0.41667}}], Polygon[{{-2.5868, -19.308, -1.6667}, {-1.8359*^-15, -19.989, -1.6667}, {-1.8368*^-15, -19.999, 0.41667}, {-2.5881, -19.318, 0.41667}}], Polygon[{{-1.8359*^-15, -19.989, -1.6667}, {2.5868, -19.308, -1.6667}, {2.5881, -19.318, 0.41667}, {-1.8368*^-15, -19.999, 0.41667}}], Polygon[{{2.5868, -19.308, -1.6667}, {4.9972, -17.311, -1.6667}, {4.9998, -17.32, 0.41667}, {2.5881, -19.318, 0.41667}}], Polygon[{{4.9972, -17.311, -1.6667}, {7.0671, -14.134, -1.6667}, {7.0708, -14.142, 0.41667}, {4.9998, -17.32, 0.41667}}], Polygon[{{7.0671, -14.134, -1.6667}, {8.6554, -9.9944, -1.6667}, {8.66, -9.9997, 0.41667}, {7.0708, -14.142, 0.41667}}], Polygon[{{8.6554, -9.9944, -1.6667}, {9.6539, -5.1735, -1.6667}, {9.6589, -5.1762, 0.41667}, {8.66, -9.9997, 0.41667}}], Polygon[{{9.6539, -5.1735, -1.6667}, {9.9944, -4.0403*^-14, -1.6667}, {9.9997, -4.0424*^-14, 0.41667}, {9.6589, -5.1762, 0.41667}}], Polygon[{{9.9997, 0., 0.41667}, {9.6589, 5.1762, 0.41667}, {9.6472, 5.1699, 2.5}, {9.9875, 0., 2.5}}], Polygon[{{9.6589, 5.1762, 0.41667}, {8.66, 9.9997, 0.41667}, {8.6494, 9.9875, 2.5}, {9.6472, 5.1699, 2.5}}], Polygon[{{8.66, 9.9997, 0.41667}, {7.0708, 14.142, 0.41667}, {7.0622, 14.124, 2.5}, {8.6494, 9.9875, 2.5}}], Polygon[{{7.0708, 14.142, 0.41667}, {4.9998, 17.32, 0.41667}, {4.9937, 17.299, 2.5}, {7.0622, 14.124, 2.5}}], Polygon[{{4.9998, 17.32, 0.41667}, {2.5881, 19.318, 0.41667}, {2.585, 19.294, 2.5}, {4.9937, 17.299, 2.5}}], Polygon[{{2.5881, 19.318, 0.41667}, {2.8327*^-15, 19.999, 0.41667}, {2.8292*^-15, 19.975, 2.5}, {2.585, 19.294, 2.5}}], Polygon[{{2.8327*^-15, 19.999, 0.41667}, {-2.5881, 19.318, 0.41667}, {-2.585, 19.294, 2.5}, {2.8292*^-15, 19.975, 2.5}}], Polygon[{{-2.5881, 19.318, 0.41667}, {-4.9998, 17.32, 0.41667}, {-4.9937, 17.299, 2.5}, {-2.585, 19.294, 2.5}}], Polygon[{{-4.9998, 17.32, 0.41667}, {-7.0708, 14.142, 0.41667}, {-7.0622, 14.124, 2.5}, {-4.9937, 17.299, 2.5}}], Polygon[{{-7.0708, 14.142, 0.41667}, {-8.66, 9.9997, 0.41667}, {-8.6494, 9.9875, 2.5}, {-7.0622, 14.124, 2.5}}], Polygon[{{-8.66, 9.9997, 0.41667}, {-9.6589, 5.1762, 0.41667}, {-9.6472, 5.1699, 2.5}, {-8.6494, 9.9875, 2.5}}], Polygon[{{-9.6589, 5.1762, 0.41667}, {-9.9997, -6.4323*^-15, 0.41667}, {-9.9875, -6.4245*^-15, 2.5}, {-9.6472, 5.1699, 2.5}}], Polygon[{{-9.9997, -6.4323*^-15, 0.41667}, {-9.6589, -5.1762, 0.41667}, {-9.6472, -5.1699, 2.5}, {-9.9875, -6.4245*^-15, 2.5}}], Polygon[{{-9.6589, -5.1762, 0.41667}, {-8.66, -9.9997, 0.41667}, {-8.6494, -9.9875, 2.5}, {-9.6472, -5.1699, 2.5}}], Polygon[{{-8.66, -9.9997, 0.41667}, {-7.0708, -14.142, 0.41667}, {-7.0622, -14.124, 2.5}, {-8.6494, -9.9875, 2.5}}], Polygon[{{-7.0708, -14.142, 0.41667}, {-4.9998, -17.32, 0.41667}, {-4.9937, -17.299, 2.5}, {-7.0622, -14.124, 2.5}}], Polygon[{{-4.9998, -17.32, 0.41667}, {-2.5881, -19.318, 0.41667}, {-2.585, -19.294, 2.5}, {-4.9937, -17.299, 2.5}}], Polygon[{{-2.5881, -19.318, 0.41667}, {-1.8368*^-15, -19.999, 0.41667}, {-1.8346*^-15, -19.975, 2.5}, {-2.585, -19.294, 2.5}}], Polygon[{{-1.8368*^-15, -19.999, 0.41667}, {2.5881, -19.318, 0.41667}, {2.585, -19.294, 2.5}, {-1.8346*^-15, -19.975, 2.5}}], Polygon[{{2.5881, -19.318, 0.41667}, {4.9998, -17.32, 0.41667}, {4.9937, -17.299, 2.5}, {2.585, -19.294, 2.5}}], Polygon[{{4.9998, -17.32, 0.41667}, {7.0708, -14.142, 0.41667}, {7.0622, -14.124, 2.5}, {4.9937, -17.299, 2.5}}], Polygon[{{7.0708, -14.142, 0.41667}, {8.66, -9.9997, 0.41667}, {8.6494, -9.9875, 2.5}, {7.0622, -14.124, 2.5}}], Polygon[{{8.66, -9.9997, 0.41667}, {9.6589, -5.1762, 0.41667}, {9.6472, -5.1699, 2.5}, {8.6494, -9.9875, 2.5}}], Polygon[{{9.6589, -5.1762, 0.41667}, {9.9997, -4.0424*^-14, 0.41667}, {9.9875, -4.0375*^-14, 2.5}, {9.6472, -5.1699, 2.5}}], Polygon[{{9.9875, 0., 2.5}, {9.6472, 5.1699, 2.5}, {9.6186, 5.1546, 4.5833}, {9.9579, 0., 4.5833}}], Polygon[{{9.6472, 5.1699, 2.5}, {8.6494, 9.9875, 2.5}, {8.6238, 9.9579, 4.5833}, {9.6186, 5.1546, 4.5833}}], Polygon[{{8.6494, 9.9875, 2.5}, {7.0622, 14.124, 2.5}, {7.0413, 14.083, 4.5833}, {8.6238, 9.9579, 4.5833}}], Polygon[{{7.0622, 14.124, 2.5}, {4.9937, 17.299, 2.5}, {4.9789, 17.248, 4.5833}, {7.0413, 14.083, 4.5833}}], Polygon[{{4.9937, 17.299, 2.5}, {2.585, 19.294, 2.5}, {2.5773, 19.237, 4.5833}, {4.9789, 17.248, 4.5833}}], Polygon[{{2.585, 19.294, 2.5}, {2.8292*^-15, 19.975, 2.5}, {2.8208*^-15, 19.916, 4.5833}, {2.5773, 19.237, 4.5833}}], Polygon[{{2.8292*^-15, 19.975, 2.5}, {-2.585, 19.294, 2.5}, {-2.5773, 19.237, 4.5833}, {2.8208*^-15, 19.916, 4.5833}}], Polygon[{{-2.585, 19.294, 2.5}, {-4.9937, 17.299, 2.5}, {-4.9789, 17.248, 4.5833}, {-2.5773, 19.237, 4.5833}}], Polygon[{{-4.9937, 17.299, 2.5}, {-7.0622, 14.124, 2.5}, {-7.0413, 14.083, 4.5833}, {-4.9789, 17.248, 4.5833}}], Polygon[{{-7.0622, 14.124, 2.5}, {-8.6494, 9.9875, 2.5}, {-8.6238, 9.9579, 4.5833}, {-7.0413, 14.083, 4.5833}}], Polygon[{{-8.6494, 9.9875, 2.5}, {-9.6472, 5.1699, 2.5}, {-9.6186, 5.1546, 4.5833}, {-8.6238, 9.9579, 4.5833}}], Polygon[{{-9.6472, 5.1699, 2.5}, {-9.9875, -6.4245*^-15, 2.5}, {-9.9579, -6.4055*^-15, 4.5833}, {-9.6186, 5.1546, 4.5833}}], Polygon[{{-9.9875, -6.4245*^-15, 2.5}, {-9.6472, -5.1699, 2.5}, {-9.6186, -5.1546, 4.5833}, {-9.9579, -6.4055*^-15, 4.5833}}], Polygon[{{-9.6472, -5.1699, 2.5}, {-8.6494, -9.9875, 2.5}, {-8.6238, -9.9579, 4.5833}, {-9.6186, -5.1546, 4.5833}}], Polygon[{{-8.6494, -9.9875, 2.5}, {-7.0622, -14.124, 2.5}, {-7.0413, -14.083, 4.5833}, {-8.6238, -9.9579, 4.5833}}], Polygon[{{-7.0622, -14.124, 2.5}, {-4.9937, -17.299, 2.5}, {-4.9789, -17.248, 4.5833}, {-7.0413, -14.083, 4.5833}}], Polygon[{{-4.9937, -17.299, 2.5}, {-2.585, -19.294, 2.5}, {-2.5773, -19.237, 4.5833}, {-4.9789, -17.248, 4.5833}}], Polygon[{{-2.585, -19.294, 2.5}, {-1.8346*^-15, -19.975, 2.5}, {-1.8292*^-15, -19.916, 4.5833}, {-2.5773, -19.237, 4.5833}}], Polygon[{{-1.8346*^-15, -19.975, 2.5}, {2.585, -19.294, 2.5}, {2.5773, -19.237, 4.5833}, {-1.8292*^-15, -19.916, 4.5833}}], Polygon[{{2.585, -19.294, 2.5}, {4.9937, -17.299, 2.5}, {4.9789, -17.248, 4.5833}, {2.5773, -19.237, 4.5833}}], Polygon[{{4.9937, -17.299, 2.5}, {7.0622, -14.124, 2.5}, {7.0413, -14.083, 4.5833}, {4.9789, -17.248, 4.5833}}], Polygon[{{7.0622, -14.124, 2.5}, {8.6494, -9.9875, 2.5}, {8.6238, -9.9579, 4.5833}, {7.0413, -14.083, 4.5833}}], Polygon[{{8.6494, -9.9875, 2.5}, {9.6472, -5.1699, 2.5}, {9.6186, -5.1546, 4.5833}, {8.6238, -9.9579, 4.5833}}], Polygon[{{9.6472, -5.1699, 2.5}, {9.9875, -4.0375*^-14, 2.5}, {9.9579, -4.0255*^-14, 4.5833}, {9.6186, -5.1546, 4.5833}}], Polygon[{{9.9579, 0., 4.5833}, {9.6186, 5.1546, 4.5833}, {9.573, 5.1302, 6.6667}, {9.9107, 0., 6.6667}}], Polygon[{{9.6186, 5.1546, 4.5833}, {8.6238, 9.9579, 4.5833}, {8.5829, 9.9107, 6.6667}, {9.573, 5.1302, 6.6667}}], Polygon[{{8.6238, 9.9579, 4.5833}, {7.0413, 14.083, 4.5833}, {7.0079, 14.016, 6.6667}, {8.5829, 9.9107, 6.6667}}], Polygon[{{7.0413, 14.083, 4.5833}, {4.9789, 17.248, 4.5833}, {4.9554, 17.166, 6.6667}, {7.0079, 14.016, 6.6667}}], Polygon[{{4.9789, 17.248, 4.5833}, {2.5773, 19.237, 4.5833}, {2.5651, 19.146, 6.6667}, {4.9554, 17.166, 6.6667}}], Polygon[{{2.5773, 19.237, 4.5833}, {2.8208*^-15, 19.916, 4.5833}, {2.8075*^-15, 19.821, 6.6667}, {2.5651, 19.146, 6.6667}}], Polygon[{{2.8208*^-15, 19.916, 4.5833}, {-2.5773, 19.237, 4.5833}, {-2.5651, 19.146, 6.6667}, {2.8075*^-15, 19.821, 6.6667}}], Polygon[{{-2.5773, 19.237, 4.5833}, {-4.9789, 17.248, 4.5833}, {-4.9554, 17.166, 6.6667}, {-2.5651, 19.146, 6.6667}}], Polygon[{{-4.9789, 17.248, 4.5833}, {-7.0413, 14.083, 4.5833}, {-7.0079, 14.016, 6.6667}, {-4.9554, 17.166, 6.6667}}], Polygon[{{-7.0413, 14.083, 4.5833}, {-8.6238, 9.9579, 4.5833}, {-8.5829, 9.9107, 6.6667}, {-7.0079, 14.016, 6.6667}}], Polygon[{{-8.6238, 9.9579, 4.5833}, {-9.6186, 5.1546, 4.5833}, {-9.573, 5.1302, 6.6667}, {-8.5829, 9.9107, 6.6667}}], Polygon[{{-9.6186, 5.1546, 4.5833}, {-9.9579, -6.4055*^-15, 4.5833}, {-9.9107, -6.3751*^-15, 6.6667}, {-9.573, 5.1302, 6.6667}}], Polygon[{{-9.9579, -6.4055*^-15, 4.5833}, {-9.6186, -5.1546, 4.5833}, {-9.573, -5.1302, 6.6667}, {-9.9107, -6.3751*^-15, 6.6667}}], Polygon[{{-9.6186, -5.1546, 4.5833}, {-8.6238, -9.9579, 4.5833}, {-8.5829, -9.9107, 6.6667}, {-9.573, -5.1302, 6.6667}}], Polygon[{{-8.6238, -9.9579, 4.5833}, {-7.0413, -14.083, 4.5833}, {-7.0079, -14.016, 6.6667}, {-8.5829, -9.9107, 6.6667}}], Polygon[{{-7.0413, -14.083, 4.5833}, {-4.9789, -17.248, 4.5833}, {-4.9554, -17.166, 6.6667}, {-7.0079, -14.016, 6.6667}}], Polygon[{{-4.9789, -17.248, 4.5833}, {-2.5773, -19.237, 4.5833}, {-2.5651, -19.146, 6.6667}, {-4.9554, -17.166, 6.6667}}], Polygon[{{-2.5773, -19.237, 4.5833}, {-1.8292*^-15, -19.916, 4.5833}, {-1.8205*^-15, -19.821, 6.6667}, {-2.5651, -19.146, 6.6667}}], Polygon[{{-1.8292*^-15, -19.916, 4.5833}, {2.5773, -19.237, 4.5833}, {2.5651, -19.146, 6.6667}, {-1.8205*^-15, -19.821, 6.6667}}], Polygon[{{2.5773, -19.237, 4.5833}, {4.9789, -17.248, 4.5833}, {4.9554, -17.166, 6.6667}, {2.5651, -19.146, 6.6667}}], Polygon[{{4.9789, -17.248, 4.5833}, {7.0413, -14.083, 4.5833}, {7.0079, -14.016, 6.6667}, {4.9554, -17.166, 6.6667}}], Polygon[{{7.0413, -14.083, 4.5833}, {8.6238, -9.9579, 4.5833}, {8.5829, -9.9107, 6.6667}, {7.0079, -14.016, 6.6667}}], Polygon[{{8.6238, -9.9579, 4.5833}, {9.6186, -5.1546, 4.5833}, {9.573, -5.1302, 6.6667}, {8.5829, -9.9107, 6.6667}}], Polygon[{{9.6186, -5.1546, 4.5833}, {9.9579, -4.0255*^-14, 4.5833}, {9.9107, -4.0065*^-14, 6.6667}, {9.573, -5.1302, 6.6667}}], Polygon[{{9.9107, 0., 6.6667}, {9.573, 5.1302, 6.6667}, {9.5102, 5.0965, 8.75}, {9.8457, 0., 8.75}}], Polygon[{{9.573, 5.1302, 6.6667}, {8.5829, 9.9107, 6.6667}, {8.5266, 9.8457, 8.75}, {9.5102, 5.0965, 8.75}}], Polygon[{{8.5829, 9.9107, 6.6667}, {7.0079, 14.016, 6.6667}, {6.962, 13.924, 8.75}, {8.5266, 9.8457, 8.75}}], Polygon[{{7.0079, 14.016, 6.6667}, {4.9554, 17.166, 6.6667}, {4.9228, 17.053, 8.75}, {6.962, 13.924, 8.75}}], Polygon[{{4.9554, 17.166, 6.6667}, {2.5651, 19.146, 6.6667}, {2.5483, 19.02, 8.75}, {4.9228, 17.053, 8.75}}], Polygon[{{2.5651, 19.146, 6.6667}, {2.8075*^-15, 19.821, 6.6667}, {2.789*^-15, 19.691, 8.75}, {2.5483, 19.02, 8.75}}], Polygon[{{2.8075*^-15, 19.821, 6.6667}, {-2.5651, 19.146, 6.6667}, {-2.5483, 19.02, 8.75}, {2.789*^-15, 19.691, 8.75}}], Polygon[{{-2.5651, 19.146, 6.6667}, {-4.9554, 17.166, 6.6667}, {-4.9228, 17.053, 8.75}, {-2.5483, 19.02, 8.75}}], Polygon[{{-4.9554, 17.166, 6.6667}, {-7.0079, 14.016, 6.6667}, {-6.962, 13.924, 8.75}, {-4.9228, 17.053, 8.75}}], Polygon[{{-7.0079, 14.016, 6.6667}, {-8.5829, 9.9107, 6.6667}, {-8.5266, 9.8457, 8.75}, {-6.962, 13.924, 8.75}}], Polygon[{{-8.5829, 9.9107, 6.6667}, {-9.573, 5.1302, 6.6667}, {-9.5102, 5.0965, 8.75}, {-8.5266, 9.8457, 8.75}}], Polygon[{{-9.573, 5.1302, 6.6667}, {-9.9107, -6.3751*^-15, 6.6667}, {-9.8457, -6.3333*^-15, 8.75}, {-9.5102, 5.0965, 8.75}}], Polygon[{{-9.9107, -6.3751*^-15, 6.6667}, {-9.573, -5.1302, 6.6667}, {-9.5102, -5.0965, 8.75}, {-9.8457, -6.3333*^-15, 8.75}}], Polygon[{{-9.573, -5.1302, 6.6667}, {-8.5829, -9.9107, 6.6667}, {-8.5266, -9.8457, 8.75}, {-9.5102, -5.0965, 8.75}}], Polygon[{{-8.5829, -9.9107, 6.6667}, {-7.0079, -14.016, 6.6667}, {-6.962, -13.924, 8.75}, {-8.5266, -9.8457, 8.75}}], Polygon[{{-7.0079, -14.016, 6.6667}, {-4.9554, -17.166, 6.6667}, {-4.9228, -17.053, 8.75}, {-6.962, -13.924, 8.75}}], Polygon[{{-4.9554, -17.166, 6.6667}, {-2.5651, -19.146, 6.6667}, {-2.5483, -19.02, 8.75}, {-4.9228, -17.053, 8.75}}], Polygon[{{-2.5651, -19.146, 6.6667}, {-1.8205*^-15, -19.821, 6.6667}, {-1.8086*^-15, -19.691, 8.75}, {-2.5483, -19.02, 8.75}}], Polygon[{{-1.8205*^-15, -19.821, 6.6667}, {2.5651, -19.146, 6.6667}, {2.5483, -19.02, 8.75}, {-1.8086*^-15, -19.691, 8.75}}], Polygon[{{2.5651, -19.146, 6.6667}, {4.9554, -17.166, 6.6667}, {4.9228, -17.053, 8.75}, {2.5483, -19.02, 8.75}}], Polygon[{{4.9554, -17.166, 6.6667}, {7.0079, -14.016, 6.6667}, {6.962, -13.924, 8.75}, {4.9228, -17.053, 8.75}}], Polygon[{{7.0079, -14.016, 6.6667}, {8.5829, -9.9107, 6.6667}, {8.5266, -9.8457, 8.75}, {6.962, -13.924, 8.75}}], Polygon[{{8.5829, -9.9107, 6.6667}, {9.573, -5.1302, 6.6667}, {9.5102, -5.0965, 8.75}, {8.5266, -9.8457, 8.75}}], Polygon[{{9.573, -5.1302, 6.6667}, {9.9107, -4.0065*^-14, 6.6667}, {9.8457, -3.9802*^-14, 8.75}, {9.5102, -5.0965, 8.75}}], Polygon[{{9.8457, 0., 8.75}, {9.5102, 5.0965, 8.75}, {9.4298, 5.0534, 10.833}, {9.7625, 0., 10.833}}], Polygon[{{9.5102, 5.0965, 8.75}, {8.5266, 9.8457, 8.75}, {8.4545, 9.7625, 10.833}, {9.4298, 5.0534, 10.833}}], Polygon[{{8.5266, 9.8457, 8.75}, {6.962, 13.924, 8.75}, {6.9031, 13.806, 10.833}, {8.4545, 9.7625, 10.833}}], Polygon[{{6.962, 13.924, 8.75}, {4.9228, 17.053, 8.75}, {4.8812, 16.909, 10.833}, {6.9031, 13.806, 10.833}}], Polygon[{{4.9228, 17.053, 8.75}, {2.5483, 19.02, 8.75}, {2.5267, 18.86, 10.833}, {4.8812, 16.909, 10.833}}], Polygon[{{2.5483, 19.02, 8.75}, {2.789*^-15, 19.691, 8.75}, {2.7655*^-15, 19.525, 10.833}, {2.5267, 18.86, 10.833}}], Polygon[{{2.789*^-15, 19.691, 8.75}, {-2.5483, 19.02, 8.75}, {-2.5267, 18.86, 10.833}, {2.7655*^-15, 19.525, 10.833}}], Polygon[{{-2.5483, 19.02, 8.75}, {-4.9228, 17.053, 8.75}, {-4.8812, 16.909, 10.833}, {-2.5267, 18.86, 10.833}}], Polygon[{{-4.9228, 17.053, 8.75}, {-6.962, 13.924, 8.75}, {-6.9031, 13.806, 10.833}, {-4.8812, 16.909, 10.833}}], Polygon[{{-6.962, 13.924, 8.75}, {-8.5266, 9.8457, 8.75}, {-8.4545, 9.7625, 10.833}, {-6.9031, 13.806, 10.833}}], Polygon[{{-8.5266, 9.8457, 8.75}, {-9.5102, 5.0965, 8.75}, {-9.4298, 5.0534, 10.833}, {-8.4545, 9.7625, 10.833}}], Polygon[{{-9.5102, 5.0965, 8.75}, {-9.8457, -6.3333*^-15, 8.75}, {-9.7625, -6.2798*^-15, 10.833}, {-9.4298, 5.0534, 10.833}}], Polygon[{{-9.8457, -6.3333*^-15, 8.75}, {-9.5102, -5.0965, 8.75}, {-9.4298, -5.0534, 10.833}, {-9.7625, -6.2798*^-15, 10.833}}], Polygon[{{-9.5102, -5.0965, 8.75}, {-8.5266, -9.8457, 8.75}, {-8.4545, -9.7625, 10.833}, {-9.4298, -5.0534, 10.833}}], Polygon[{{-8.5266, -9.8457, 8.75}, {-6.962, -13.924, 8.75}, {-6.9031, -13.806, 10.833}, {-8.4545, -9.7625, 10.833}}], Polygon[{{-6.962, -13.924, 8.75}, {-4.9228, -17.053, 8.75}, {-4.8812, -16.909, 10.833}, {-6.9031, -13.806, 10.833}}], Polygon[{{-4.9228, -17.053, 8.75}, {-2.5483, -19.02, 8.75}, {-2.5267, -18.86, 10.833}, {-4.8812, -16.909, 10.833}}], Polygon[{{-2.5483, -19.02, 8.75}, {-1.8086*^-15, -19.691, 8.75}, {-1.7933*^-15, -19.525, 10.833}, {-2.5267, -18.86, 10.833}}], Polygon[{{-1.8086*^-15, -19.691, 8.75}, {2.5483, -19.02, 8.75}, {2.5267, -18.86, 10.833}, {-1.7933*^-15, -19.525, 10.833}}], Polygon[{{2.5483, -19.02, 8.75}, {4.9228, -17.053, 8.75}, {4.8812, -16.909, 10.833}, {2.5267, -18.86, 10.833}}], Polygon[{{4.9228, -17.053, 8.75}, {6.962, -13.924, 8.75}, {6.9031, -13.806, 10.833}, {4.8812, -16.909, 10.833}}], Polygon[{{6.962, -13.924, 8.75}, {8.5266, -9.8457, 8.75}, {8.4545, -9.7625, 10.833}, {6.9031, -13.806, 10.833}}], Polygon[{{8.5266, -9.8457, 8.75}, {9.5102, -5.0965, 8.75}, {9.4298, -5.0534, 10.833}, {8.4545, -9.7625, 10.833}}], Polygon[{{9.5102, -5.0965, 8.75}, {9.8457, -3.9802*^-14, 8.75}, {9.7625, -3.9465*^-14, 10.833}, {9.4298, -5.0534, 10.833}}], Polygon[{{9.7625, 0., 10.833}, {9.4298, 5.0534, 10.833}, {9.3314, 5.0007, 12.917}, {9.6606, 0., 12.917}}], Polygon[{{9.4298, 5.0534, 10.833}, {8.4545, 9.7625, 10.833}, {8.3663, 9.6606, 12.917}, {9.3314, 5.0007, 12.917}}], Polygon[{{8.4545, 9.7625, 10.833}, {6.9031, 13.806, 10.833}, {6.831, 13.662, 12.917}, {8.3663, 9.6606, 12.917}}], Polygon[{{6.9031, 13.806, 10.833}, {4.8812, 16.909, 10.833}, {4.8303, 16.733, 12.917}, {6.831, 13.662, 12.917}}], Polygon[{{4.8812, 16.909, 10.833}, {2.5267, 18.86, 10.833}, {2.5003, 18.663, 12.917}, {4.8303, 16.733, 12.917}}], Polygon[{{2.5267, 18.86, 10.833}, {2.7655*^-15, 19.525, 10.833}, {2.7366*^-15, 19.321, 12.917}, {2.5003, 18.663, 12.917}}], Polygon[{{2.7655*^-15, 19.525, 10.833}, {-2.5267, 18.86, 10.833}, {-2.5003, 18.663, 12.917}, {2.7366*^-15, 19.321, 12.917}}], Polygon[{{-2.5267, 18.86, 10.833}, {-4.8812, 16.909, 10.833}, {-4.8303, 16.733, 12.917}, {-2.5003, 18.663, 12.917}}], Polygon[{{-4.8812, 16.909, 10.833}, {-6.9031, 13.806, 10.833}, {-6.831, 13.662, 12.917}, {-4.8303, 16.733, 12.917}}], Polygon[{{-6.9031, 13.806, 10.833}, {-8.4545, 9.7625, 10.833}, {-8.3663, 9.6606, 12.917}, {-6.831, 13.662, 12.917}}], Polygon[{{-8.4545, 9.7625, 10.833}, {-9.4298, 5.0534, 10.833}, {-9.3314, 5.0007, 12.917}, {-8.3663, 9.6606, 12.917}}], Polygon[{{-9.4298, 5.0534, 10.833}, {-9.7625, -6.2798*^-15, 10.833}, {-9.6606, -6.2142*^-15, 12.917}, {-9.3314, 5.0007, 12.917}}], Polygon[{{-9.7625, -6.2798*^-15, 10.833}, {-9.4298, -5.0534, 10.833}, {-9.3314, -5.0007, 12.917}, {-9.6606, -6.2142*^-15, 12.917}}], Polygon[{{-9.4298, -5.0534, 10.833}, {-8.4545, -9.7625, 10.833}, {-8.3663, -9.6606, 12.917}, {-9.3314, -5.0007, 12.917}}], Polygon[{{-8.4545, -9.7625, 10.833}, {-6.9031, -13.806, 10.833}, {-6.831, -13.662, 12.917}, {-8.3663, -9.6606, 12.917}}], Polygon[{{-6.9031, -13.806, 10.833}, {-4.8812, -16.909, 10.833}, {-4.8303, -16.733, 12.917}, {-6.831, -13.662, 12.917}}], Polygon[{{-4.8812, -16.909, 10.833}, {-2.5267, -18.86, 10.833}, {-2.5003, -18.663, 12.917}, {-4.8303, -16.733, 12.917}}], Polygon[{{-2.5267, -18.86, 10.833}, {-1.7933*^-15, -19.525, 10.833}, {-1.7746*^-15, -19.321, 12.917}, {-2.5003, -18.663, 12.917}}], Polygon[{{-1.7933*^-15, -19.525, 10.833}, {2.5267, -18.86, 10.833}, {2.5003, -18.663, 12.917}, {-1.7746*^-15, -19.321, 12.917}}], Polygon[{{2.5267, -18.86, 10.833}, {4.8812, -16.909, 10.833}, {4.8303, -16.733, 12.917}, {2.5003, -18.663, 12.917}}], Polygon[{{4.8812, -16.909, 10.833}, {6.9031, -13.806, 10.833}, {6.831, -13.662, 12.917}, {4.8303, -16.733, 12.917}}], Polygon[{{6.9031, -13.806, 10.833}, {8.4545, -9.7625, 10.833}, {8.3663, -9.6606, 12.917}, {6.831, -13.662, 12.917}}], Polygon[{{8.4545, -9.7625, 10.833}, {9.4298, -5.0534, 10.833}, {9.3314, -5.0007, 12.917}, {8.3663, -9.6606, 12.917}}], Polygon[{{9.4298, -5.0534, 10.833}, {9.7625, -3.9465*^-14, 10.833}, {9.6606, -3.9053*^-14, 12.917}, {9.3314, -5.0007, 12.917}}], Polygon[{{9.6606, 0., 12.917}, {9.3314, 5.0007, 12.917}, {9.2143, 4.938, 15.}, {9.5394, 0., 15.}}], Polygon[{{9.3314, 5.0007, 12.917}, {8.3663, 9.6606, 12.917}, {8.2614, 9.5394, 15.}, {9.2143, 4.938, 15.}}], Polygon[{{8.3663, 9.6606, 12.917}, {6.831, 13.662, 12.917}, {6.7454, 13.491, 15.}, {8.2614, 9.5394, 15.}}], Polygon[{{6.831, 13.662, 12.917}, {4.8303, 16.733, 12.917}, {4.7697, 16.523, 15.}, {6.7454, 13.491, 15.}}], Polygon[{{4.8303, 16.733, 12.917}, {2.5003, 18.663, 12.917}, {2.469, 18.429, 15.}, {4.7697, 16.523, 15.}}], Polygon[{{2.5003, 18.663, 12.917}, {2.7366*^-15, 19.321, 12.917}, {2.7023*^-15, 19.079, 15.}, {2.469, 18.429, 15.}}], Polygon[{{2.7366*^-15, 19.321, 12.917}, {-2.5003, 18.663, 12.917}, {-2.469, 18.429, 15.}, {2.7023*^-15, 19.079, 15.}}], Polygon[{{-2.5003, 18.663, 12.917}, {-4.8303, 16.733, 12.917}, {-4.7697, 16.523, 15.}, {-2.469, 18.429, 15.}}], Polygon[{{-4.8303, 16.733, 12.917}, {-6.831, 13.662, 12.917}, {-6.7454, 13.491, 15.}, {-4.7697, 16.523, 15.}}], Polygon[{{-6.831, 13.662, 12.917}, {-8.3663, 9.6606, 12.917}, {-8.2614, 9.5394, 15.}, {-6.7454, 13.491, 15.}}], Polygon[{{-8.3663, 9.6606, 12.917}, {-9.3314, 5.0007, 12.917}, {-9.2143, 4.938, 15.}, {-8.2614, 9.5394, 15.}}], Polygon[{{-9.3314, 5.0007, 12.917}, {-9.6606, -6.2142*^-15, 12.917}, {-9.5394, -6.1363*^-15, 15.}, {-9.2143, 4.938, 15.}}], Polygon[{{-9.6606, -6.2142*^-15, 12.917}, {-9.3314, -5.0007, 12.917}, {-9.2143, -4.938, 15.}, {-9.5394, -6.1363*^-15, 15.}}], Polygon[{{-9.3314, -5.0007, 12.917}, {-8.3663, -9.6606, 12.917}, {-8.2614, -9.5394, 15.}, {-9.2143, -4.938, 15.}}], Polygon[{{-8.3663, -9.6606, 12.917}, {-6.831, -13.662, 12.917}, {-6.7454, -13.491, 15.}, {-8.2614, -9.5394, 15.}}], Polygon[{{-6.831, -13.662, 12.917}, {-4.8303, -16.733, 12.917}, {-4.7697, -16.523, 15.}, {-6.7454, -13.491, 15.}}], Polygon[{{-4.8303, -16.733, 12.917}, {-2.5003, -18.663, 12.917}, {-2.469, -18.429, 15.}, {-4.7697, -16.523, 15.}}], Polygon[{{-2.5003, -18.663, 12.917}, {-1.7746*^-15, -19.321, 12.917}, {-1.7523*^-15, -19.079, 15.}, {-2.469, -18.429, 15.}}], Polygon[{{-1.7746*^-15, -19.321, 12.917}, {2.5003, -18.663, 12.917}, {2.469, -18.429, 15.}, {-1.7523*^-15, -19.079, 15.}}], Polygon[{{2.5003, -18.663, 12.917}, {4.8303, -16.733, 12.917}, {4.7697, -16.523, 15.}, {2.469, -18.429, 15.}}], Polygon[{{4.8303, -16.733, 12.917}, {6.831, -13.662, 12.917}, {6.7454, -13.491, 15.}, {4.7697, -16.523, 15.}}], Polygon[{{6.831, -13.662, 12.917}, {8.3663, -9.6606, 12.917}, {8.2614, -9.5394, 15.}, {6.7454, -13.491, 15.}}], Polygon[{{8.3663, -9.6606, 12.917}, {9.3314, -5.0007, 12.917}, {9.2143, -4.938, 15.}, {8.2614, -9.5394, 15.}}], Polygon[{{9.3314, -5.0007, 12.917}, {9.6606, -3.9053*^-14, 12.917}, {9.5394, -3.8564*^-14, 15.}, {9.2143, -4.938, 15.}}], Polygon[{{9.5394, 0., 15.}, {9.2143, 4.938, 15.}, {9.078, 4.8649, 17.083}, {9.3982, 0., 17.083}}], Polygon[{{9.2143, 4.938, 15.}, {8.2614, 9.5394, 15.}, {8.1391, 9.3982, 17.083}, {9.078, 4.8649, 17.083}}], Polygon[{{8.2614, 9.5394, 15.}, {6.7454, 13.491, 15.}, {6.6455, 13.291, 17.083}, {8.1391, 9.3982, 17.083}}], Polygon[{{6.7454, 13.491, 15.}, {4.7697, 16.523, 15.}, {4.6991, 16.278, 17.083}, {6.6455, 13.291, 17.083}}], Polygon[{{4.7697, 16.523, 15.}, {2.469, 18.429, 15.}, {2.4324, 18.156, 17.083}, {4.6991, 16.278, 17.083}}], Polygon[{{2.469, 18.429, 15.}, {2.7023*^-15, 19.079, 15.}, {2.6623*^-15, 18.796, 17.083}, {2.4324, 18.156, 17.083}}], Polygon[{{2.7023*^-15, 19.079, 15.}, {-2.469, 18.429, 15.}, {-2.4324, 18.156, 17.083}, {2.6623*^-15, 18.796, 17.083}}], Polygon[{{-2.469, 18.429, 15.}, {-4.7697, 16.523, 15.}, {-4.6991, 16.278, 17.083}, {-2.4324, 18.156, 17.083}}], Polygon[{{-4.7697, 16.523, 15.}, {-6.7454, 13.491, 15.}, {-6.6455, 13.291, 17.083}, {-4.6991, 16.278, 17.083}}], Polygon[{{-6.7454, 13.491, 15.}, {-8.2614, 9.5394, 15.}, {-8.1391, 9.3982, 17.083}, {-6.6455, 13.291, 17.083}}], Polygon[{{-8.2614, 9.5394, 15.}, {-9.2143, 4.938, 15.}, {-9.078, 4.8649, 17.083}, {-8.1391, 9.3982, 17.083}}], Polygon[{{-9.2143, 4.938, 15.}, {-9.5394, -6.1363*^-15, 15.}, {-9.3982, -6.0455*^-15, 17.083}, {-9.078, 4.8649, 17.083}}], Polygon[{{-9.5394, -6.1363*^-15, 15.}, {-9.2143, -4.938, 15.}, {-9.078, -4.8649, 17.083}, {-9.3982, -6.0455*^-15, 17.083}}], Polygon[{{-9.2143, -4.938, 15.}, {-8.2614, -9.5394, 15.}, {-8.1391, -9.3982, 17.083}, {-9.078, -4.8649, 17.083}}], Polygon[{{-8.2614, -9.5394, 15.}, {-6.7454, -13.491, 15.}, {-6.6455, -13.291, 17.083}, {-8.1391, -9.3982, 17.083}}], Polygon[{{-6.7454, -13.491, 15.}, {-4.7697, -16.523, 15.}, {-4.6991, -16.278, 17.083}, {-6.6455, -13.291, 17.083}}], Polygon[{{-4.7697, -16.523, 15.}, {-2.469, -18.429, 15.}, {-2.4324, -18.156, 17.083}, {-4.6991, -16.278, 17.083}}], Polygon[{{-2.469, -18.429, 15.}, {-1.7523*^-15, -19.079, 15.}, {-1.7264*^-15, -18.796, 17.083}, {-2.4324, -18.156, 17.083}}], Polygon[{{-1.7523*^-15, -19.079, 15.}, {2.469, -18.429, 15.}, {2.4324, -18.156, 17.083}, {-1.7264*^-15, -18.796, 17.083}}], Polygon[{{2.469, -18.429, 15.}, {4.7697, -16.523, 15.}, {4.6991, -16.278, 17.083}, {2.4324, -18.156, 17.083}}], Polygon[{{4.7697, -16.523, 15.}, {6.7454, -13.491, 15.}, {6.6455, -13.291, 17.083}, {4.6991, -16.278, 17.083}}], Polygon[{{6.7454, -13.491, 15.}, {8.2614, -9.5394, 15.}, {8.1391, -9.3982, 17.083}, {6.6455, -13.291, 17.083}}], Polygon[{{8.2614, -9.5394, 15.}, {9.2143, -4.938, 15.}, {9.078, -4.8649, 17.083}, {8.1391, -9.3982, 17.083}}], Polygon[{{9.2143, -4.938, 15.}, {9.5394, -3.8564*^-14, 15.}, {9.3982, -3.7993*^-14, 17.083}, {9.078, -4.8649, 17.083}}], Polygon[{{9.3982, 0., 17.083}, {9.078, 4.8649, 17.083}, {8.9214, 4.781, 19.167}, {9.2361, 0., 19.167}}], Polygon[{{9.078, 4.8649, 17.083}, {8.1391, 9.3982, 17.083}, {7.9987, 9.2361, 19.167}, {8.9214, 4.781, 19.167}}], Polygon[{{8.1391, 9.3982, 17.083}, {6.6455, 13.291, 17.083}, {6.5309, 13.062, 19.167}, {7.9987, 9.2361, 19.167}}], Polygon[{{6.6455, 13.291, 17.083}, {4.6991, 16.278, 17.083}, {4.6181, 15.997, 19.167}, {6.5309, 13.062, 19.167}}], Polygon[{{4.6991, 16.278, 17.083}, {2.4324, 18.156, 17.083}, {2.3905, 17.843, 19.167}, {4.6181, 15.997, 19.167}}], Polygon[{{2.4324, 18.156, 17.083}, {2.6623*^-15, 18.796, 17.083}, {2.6164*^-15, 18.472, 19.167}, {2.3905, 17.843, 19.167}}], Polygon[{{2.6623*^-15, 18.796, 17.083}, {-2.4324, 18.156, 17.083}, {-2.3905, 17.843, 19.167}, {2.6164*^-15, 18.472, 19.167}}], Polygon[{{-2.4324, 18.156, 17.083}, {-4.6991, 16.278, 17.083}, {-4.6181, 15.997, 19.167}, {-2.3905, 17.843, 19.167}}], Polygon[{{-4.6991, 16.278, 17.083}, {-6.6455, 13.291, 17.083}, {-6.5309, 13.062, 19.167}, {-4.6181, 15.997, 19.167}}], Polygon[{{-6.6455, 13.291, 17.083}, {-8.1391, 9.3982, 17.083}, {-7.9987, 9.2361, 19.167}, {-6.5309, 13.062, 19.167}}], Polygon[{{-8.1391, 9.3982, 17.083}, {-9.078, 4.8649, 17.083}, {-8.9214, 4.781, 19.167}, {-7.9987, 9.2361, 19.167}}], Polygon[{{-9.078, 4.8649, 17.083}, {-9.3982, -6.0455*^-15, 17.083}, {-9.2361, -5.9412*^-15, 19.167}, {-8.9214, 4.781, 19.167}}], Polygon[{{-9.3982, -6.0455*^-15, 17.083}, {-9.078, -4.8649, 17.083}, {-8.9214, -4.781, 19.167}, {-9.2361, -5.9412*^-15, 19.167}}], Polygon[{{-9.078, -4.8649, 17.083}, {-8.1391, -9.3982, 17.083}, {-7.9987, -9.2361, 19.167}, {-8.9214, -4.781, 19.167}}], Polygon[{{-8.1391, -9.3982, 17.083}, {-6.6455, -13.291, 17.083}, {-6.5309, -13.062, 19.167}, {-7.9987, -9.2361, 19.167}}], Polygon[{{-6.6455, -13.291, 17.083}, {-4.6991, -16.278, 17.083}, {-4.6181, -15.997, 19.167}, {-6.5309, -13.062, 19.167}}], Polygon[{{-4.6991, -16.278, 17.083}, {-2.4324, -18.156, 17.083}, {-2.3905, -17.843, 19.167}, {-4.6181, -15.997, 19.167}}], Polygon[{{-2.4324, -18.156, 17.083}, {-1.7264*^-15, -18.796, 17.083}, {-1.6966*^-15, -18.472, 19.167}, {-2.3905, -17.843, 19.167}}], Polygon[{{-1.7264*^-15, -18.796, 17.083}, {2.4324, -18.156, 17.083}, {2.3905, -17.843, 19.167}, {-1.6966*^-15, -18.472, 19.167}}], Polygon[{{2.4324, -18.156, 17.083}, {4.6991, -16.278, 17.083}, {4.6181, -15.997, 19.167}, {2.3905, -17.843, 19.167}}], Polygon[{{4.6991, -16.278, 17.083}, {6.6455, -13.291, 17.083}, {6.5309, -13.062, 19.167}, {4.6181, -15.997, 19.167}}], Polygon[{{6.6455, -13.291, 17.083}, {8.1391, -9.3982, 17.083}, {7.9987, -9.2361, 19.167}, {6.5309, -13.062, 19.167}}], Polygon[{{8.1391, -9.3982, 17.083}, {9.078, -4.8649, 17.083}, {8.9214, -4.781, 19.167}, {7.9987, -9.2361, 19.167}}], Polygon[{{9.078, -4.8649, 17.083}, {9.3982, -3.7993*^-14, 17.083}, {9.2361, -3.7337*^-14, 19.167}, {8.9214, -4.781, 19.167}}], Polygon[{{9.2361, 0., 19.167}, {8.9214, 4.781, 19.167}, {8.7435, 4.6856, 21.25}, {9.0519, 0., 21.25}}], Polygon[{{8.9214, 4.781, 19.167}, {7.9987, 9.2361, 19.167}, {7.8392, 9.0519, 21.25}, {8.7435, 4.6856, 21.25}}], Polygon[{{7.9987, 9.2361, 19.167}, {6.5309, 13.062, 19.167}, {6.4007, 12.801, 21.25}, {7.8392, 9.0519, 21.25}}], Polygon[{{6.5309, 13.062, 19.167}, {4.6181, 15.997, 19.167}, {4.526, 15.678, 21.25}, {6.4007, 12.801, 21.25}}], Polygon[{{4.6181, 15.997, 19.167}, {2.3905, 17.843, 19.167}, {2.3428, 17.487, 21.25}, {4.526, 15.678, 21.25}}], Polygon[{{2.3905, 17.843, 19.167}, {2.6164*^-15, 18.472, 19.167}, {2.5642*^-15, 18.104, 21.25}, {2.3428, 17.487, 21.25}}], Polygon[{{2.6164*^-15, 18.472, 19.167}, {-2.3905, 17.843, 19.167}, {-2.3428, 17.487, 21.25}, {2.5642*^-15, 18.104, 21.25}}], Polygon[{{-2.3905, 17.843, 19.167}, {-4.6181, 15.997, 19.167}, {-4.526, 15.678, 21.25}, {-2.3428, 17.487, 21.25}}], Polygon[{{-4.6181, 15.997, 19.167}, {-6.5309, 13.062, 19.167}, {-6.4007, 12.801, 21.25}, {-4.526, 15.678, 21.25}}], Polygon[{{-6.5309, 13.062, 19.167}, {-7.9987, 9.2361, 19.167}, {-7.8392, 9.0519, 21.25}, {-6.4007, 12.801, 21.25}}], Polygon[{{-7.9987, 9.2361, 19.167}, {-8.9214, 4.781, 19.167}, {-8.7435, 4.6856, 21.25}, {-7.8392, 9.0519, 21.25}}], Polygon[{{-8.9214, 4.781, 19.167}, {-9.2361, -5.9412*^-15, 19.167}, {-9.0519, -5.8227*^-15, 21.25}, {-8.7435, 4.6856, 21.25}}], Polygon[{{-9.2361, -5.9412*^-15, 19.167}, {-8.9214, -4.781, 19.167}, {-8.7435, -4.6856, 21.25}, {-9.0519, -5.8227*^-15, 21.25}}], Polygon[{{-8.9214, -4.781, 19.167}, {-7.9987, -9.2361, 19.167}, {-7.8392, -9.0519, 21.25}, {-8.7435, -4.6856, 21.25}}], Polygon[{{-7.9987, -9.2361, 19.167}, {-6.5309, -13.062, 19.167}, {-6.4007, -12.801, 21.25}, {-7.8392, -9.0519, 21.25}}], Polygon[{{-6.5309, -13.062, 19.167}, {-4.6181, -15.997, 19.167}, {-4.526, -15.678, 21.25}, {-6.4007, -12.801, 21.25}}], Polygon[{{-4.6181, -15.997, 19.167}, {-2.3905, -17.843, 19.167}, {-2.3428, -17.487, 21.25}, {-4.526, -15.678, 21.25}}], Polygon[{{-2.3905, -17.843, 19.167}, {-1.6966*^-15, -18.472, 19.167}, {-1.6628*^-15, -18.104, 21.25}, {-2.3428, -17.487, 21.25}}], Polygon[{{-1.6966*^-15, -18.472, 19.167}, {2.3905, -17.843, 19.167}, {2.3428, -17.487, 21.25}, {-1.6628*^-15, -18.104, 21.25}}], Polygon[{{2.3905, -17.843, 19.167}, {4.6181, -15.997, 19.167}, {4.526, -15.678, 21.25}, {2.3428, -17.487, 21.25}}], Polygon[{{4.6181, -15.997, 19.167}, {6.5309, -13.062, 19.167}, {6.4007, -12.801, 21.25}, {4.526, -15.678, 21.25}}], Polygon[{{6.5309, -13.062, 19.167}, {7.9987, -9.2361, 19.167}, {7.8392, -9.0519, 21.25}, {6.4007, -12.801, 21.25}}], Polygon[{{7.9987, -9.2361, 19.167}, {8.9214, -4.781, 19.167}, {8.7435, -4.6856, 21.25}, {7.8392, -9.0519, 21.25}}], Polygon[{{8.9214, -4.781, 19.167}, {9.2361, -3.7337*^-14, 19.167}, {9.0519, -3.6593*^-14, 21.25}, {8.7435, -4.6856, 21.25}}], Polygon[{{9.0519, 0., 21.25}, {8.7435, 4.6856, 21.25}, {8.543, 4.5782, 23.333}, {8.8443, 0., 23.333}}], Polygon[{{8.7435, 4.6856, 21.25}, {7.8392, 9.0519, 21.25}, {7.6594, 8.8443, 23.333}, {8.543, 4.5782, 23.333}}], Polygon[{{7.8392, 9.0519, 21.25}, {6.4007, 12.801, 21.25}, {6.2539, 12.508, 23.333}, {7.6594, 8.8443, 23.333}}], Polygon[{{6.4007, 12.801, 21.25}, {4.526, 15.678, 21.25}, {4.4222, 15.319, 23.333}, {6.2539, 12.508, 23.333}}], Polygon[{{4.526, 15.678, 21.25}, {2.3428, 17.487, 21.25}, {2.2891, 17.086, 23.333}, {4.4222, 15.319, 23.333}}], Polygon[{{2.3428, 17.487, 21.25}, {2.5642*^-15, 18.104, 21.25}, {2.5054*^-15, 17.689, 23.333}, {2.2891, 17.086, 23.333}}], Polygon[{{2.5642*^-15, 18.104, 21.25}, {-2.3428, 17.487, 21.25}, {-2.2891, 17.086, 23.333}, {2.5054*^-15, 17.689, 23.333}}], Polygon[{{-2.3428, 17.487, 21.25}, {-4.526, 15.678, 21.25}, {-4.4222, 15.319, 23.333}, {-2.2891, 17.086, 23.333}}], Polygon[{{-4.526, 15.678, 21.25}, {-6.4007, 12.801, 21.25}, {-6.2539, 12.508, 23.333}, {-4.4222, 15.319, 23.333}}], Polygon[{{-6.4007, 12.801, 21.25}, {-7.8392, 9.0519, 21.25}, {-7.6594, 8.8443, 23.333}, {-6.2539, 12.508, 23.333}}], Polygon[{{-7.8392, 9.0519, 21.25}, {-8.7435, 4.6856, 21.25}, {-8.543, 4.5782, 23.333}, {-7.6594, 8.8443, 23.333}}], Polygon[{{-8.7435, 4.6856, 21.25}, {-9.0519, -5.8227*^-15, 21.25}, {-8.8443, -5.6892*^-15, 23.333}, {-8.543, 4.5782, 23.333}}], Polygon[{{-9.0519, -5.8227*^-15, 21.25}, {-8.7435, -4.6856, 21.25}, {-8.543, -4.5782, 23.333}, {-8.8443, -5.6892*^-15, 23.333}}], Polygon[{{-8.7435, -4.6856, 21.25}, {-7.8392, -9.0519, 21.25}, {-7.6594, -8.8443, 23.333}, {-8.543, -4.5782, 23.333}}], Polygon[{{-7.8392, -9.0519, 21.25}, {-6.4007, -12.801, 21.25}, {-6.2539, -12.508, 23.333}, {-7.6594, -8.8443, 23.333}}], Polygon[{{-6.4007, -12.801, 21.25}, {-4.526, -15.678, 21.25}, {-4.4222, -15.319, 23.333}, {-6.2539, -12.508, 23.333}}], Polygon[{{-4.526, -15.678, 21.25}, {-2.3428, -17.487, 21.25}, {-2.2891, -17.086, 23.333}, {-4.4222, -15.319, 23.333}}], Polygon[{{-2.3428, -17.487, 21.25}, {-1.6628*^-15, -18.104, 21.25}, {-1.6246*^-15, -17.689, 23.333}, {-2.2891, -17.086, 23.333}}], Polygon[{{-1.6628*^-15, -18.104, 21.25}, {2.3428, -17.487, 21.25}, {2.2891, -17.086, 23.333}, {-1.6246*^-15, -17.689, 23.333}}], Polygon[{{2.3428, -17.487, 21.25}, {4.526, -15.678, 21.25}, {4.4222, -15.319, 23.333}, {2.2891, -17.086, 23.333}}], Polygon[{{4.526, -15.678, 21.25}, {6.4007, -12.801, 21.25}, {6.2539, -12.508, 23.333}, {4.4222, -15.319, 23.333}}], Polygon[{{6.4007, -12.801, 21.25}, {7.8392, -9.0519, 21.25}, {7.6594, -8.8443, 23.333}, {6.2539, -12.508, 23.333}}], Polygon[{{7.8392, -9.0519, 21.25}, {8.7435, -4.6856, 21.25}, {8.543, -4.5782, 23.333}, {7.6594, -8.8443, 23.333}}], Polygon[{{8.7435, -4.6856, 21.25}, {9.0519, -3.6593*^-14, 21.25}, {8.8443, -3.5754*^-14, 23.333}, {8.543, -4.5782, 23.333}}], Polygon[{{8.8443, 0., 23.333}, {8.543, 4.5782, 23.333}, {8.3182, 4.4577, 25.417}, {8.6116, 0., 25.417}}], Polygon[{{8.543, 4.5782, 23.333}, {7.6594, 8.8443, 23.333}, {7.4579, 8.6116, 25.417}, {8.3182, 4.4577, 25.417}}], Polygon[{{7.6594, 8.8443, 23.333}, {6.2539, 12.508, 23.333}, {6.0893, 12.179, 25.417}, {7.4579, 8.6116, 25.417}}], Polygon[{{6.2539, 12.508, 23.333}, {4.4222, 15.319, 23.333}, {4.3058, 14.916, 25.417}, {6.0893, 12.179, 25.417}}], Polygon[{{4.4222, 15.319, 23.333}, {2.2891, 17.086, 23.333}, {2.2288, 16.636, 25.417}, {4.3058, 14.916, 25.417}}], Polygon[{{2.2891, 17.086, 23.333}, {2.5054*^-15, 17.689, 23.333}, {2.4395*^-15, 17.223, 25.417}, {2.2288, 16.636, 25.417}}], Polygon[{{2.5054*^-15, 17.689, 23.333}, {-2.2891, 17.086, 23.333}, {-2.2288, 16.636, 25.417}, {2.4395*^-15, 17.223, 25.417}}], Polygon[{{-2.2891, 17.086, 23.333}, {-4.4222, 15.319, 23.333}, {-4.3058, 14.916, 25.417}, {-2.2288, 16.636, 25.417}}], Polygon[{{-4.4222, 15.319, 23.333}, {-6.2539, 12.508, 23.333}, {-6.0893, 12.179, 25.417}, {-4.3058, 14.916, 25.417}}], Polygon[{{-6.2539, 12.508, 23.333}, {-7.6594, 8.8443, 23.333}, {-7.4579, 8.6116, 25.417}, {-6.0893, 12.179, 25.417}}], Polygon[{{-7.6594, 8.8443, 23.333}, {-8.543, 4.5782, 23.333}, {-8.3182, 4.4577, 25.417}, {-7.4579, 8.6116, 25.417}}], Polygon[{{-8.543, 4.5782, 23.333}, {-8.8443, -5.6892*^-15, 23.333}, {-8.6116, -5.5395*^-15, 25.417}, {-8.3182, 4.4577, 25.417}}], Polygon[{{-8.8443, -5.6892*^-15, 23.333}, {-8.543, -4.5782, 23.333}, {-8.3182, -4.4577, 25.417}, {-8.6116, -5.5395*^-15, 25.417}}], Polygon[{{-8.543, -4.5782, 23.333}, {-7.6594, -8.8443, 23.333}, {-7.4579, -8.6116, 25.417}, {-8.3182, -4.4577, 25.417}}], Polygon[{{-7.6594, -8.8443, 23.333}, {-6.2539, -12.508, 23.333}, {-6.0893, -12.179, 25.417}, {-7.4579, -8.6116, 25.417}}], Polygon[{{-6.2539, -12.508, 23.333}, {-4.4222, -15.319, 23.333}, {-4.3058, -14.916, 25.417}, {-6.0893, -12.179, 25.417}}], Polygon[{{-4.4222, -15.319, 23.333}, {-2.2891, -17.086, 23.333}, {-2.2288, -16.636, 25.417}, {-4.3058, -14.916, 25.417}}], Polygon[{{-2.2891, -17.086, 23.333}, {-1.6246*^-15, -17.689, 23.333}, {-1.5819*^-15, -17.223, 25.417}, {-2.2288, -16.636, 25.417}}], Polygon[{{-1.6246*^-15, -17.689, 23.333}, {2.2891, -17.086, 23.333}, {2.2288, -16.636, 25.417}, {-1.5819*^-15, -17.223, 25.417}}], Polygon[{{2.2891, -17.086, 23.333}, {4.4222, -15.319, 23.333}, {4.3058, -14.916, 25.417}, {2.2288, -16.636, 25.417}}], Polygon[{{4.4222, -15.319, 23.333}, {6.2539, -12.508, 23.333}, {6.0893, -12.179, 25.417}, {4.3058, -14.916, 25.417}}], Polygon[{{6.2539, -12.508, 23.333}, {7.6594, -8.8443, 23.333}, {7.4579, -8.6116, 25.417}, {6.0893, -12.179, 25.417}}], Polygon[{{7.6594, -8.8443, 23.333}, {8.543, -4.5782, 23.333}, {8.3182, -4.4577, 25.417}, {7.4579, -8.6116, 25.417}}], Polygon[{{8.543, -4.5782, 23.333}, {8.8443, -3.5754*^-14, 23.333}, {8.6116, -3.4813*^-14, 25.417}, {8.3182, -4.4577, 25.417}}], Polygon[{{8.6116, 0., 25.417}, {8.3182, 4.4577, 25.417}, {8.0671, 4.3231, 27.5}, {8.3516, 0., 27.5}}], Polygon[{{8.3182, 4.4577, 25.417}, {7.4579, 8.6116, 25.417}, {7.2327, 8.3516, 27.5}, {8.0671, 4.3231, 27.5}}], Polygon[{{7.4579, 8.6116, 25.417}, {6.0893, 12.179, 25.417}, {5.9055, 11.811, 27.5}, {7.2327, 8.3516, 27.5}}], Polygon[{{6.0893, 12.179, 25.417}, {4.3058, 14.916, 25.417}, {4.1758, 14.465, 27.5}, {5.9055, 11.811, 27.5}}], Polygon[{{4.3058, 14.916, 25.417}, {2.2288, 16.636, 25.417}, {2.1616, 16.134, 27.5}, {4.1758, 14.465, 27.5}}], Polygon[{{2.2288, 16.636, 25.417}, {2.4395*^-15, 17.223, 25.417}, {2.3658*^-15, 16.703, 27.5}, {2.1616, 16.134, 27.5}}], Polygon[{{2.4395*^-15, 17.223, 25.417}, {-2.2288, 16.636, 25.417}, {-2.1616, 16.134, 27.5}, {2.3658*^-15, 16.703, 27.5}}], Polygon[{{-2.2288, 16.636, 25.417}, {-4.3058, 14.916, 25.417}, {-4.1758, 14.465, 27.5}, {-2.1616, 16.134, 27.5}}], Polygon[{{-4.3058, 14.916, 25.417}, {-6.0893, 12.179, 25.417}, {-5.9055, 11.811, 27.5}, {-4.1758, 14.465, 27.5}}], Polygon[{{-6.0893, 12.179, 25.417}, {-7.4579, 8.6116, 25.417}, {-7.2327, 8.3516, 27.5}, {-5.9055, 11.811, 27.5}}], Polygon[{{-7.4579, 8.6116, 25.417}, {-8.3182, 4.4577, 25.417}, {-8.0671, 4.3231, 27.5}, {-7.2327, 8.3516, 27.5}}], Polygon[{{-8.3182, 4.4577, 25.417}, {-8.6116, -5.5395*^-15, 25.417}, {-8.3516, -5.3723*^-15, 27.5}, {-8.0671, 4.3231, 27.5}}], Polygon[{{-8.6116, -5.5395*^-15, 25.417}, {-8.3182, -4.4577, 25.417}, {-8.0671, -4.3231, 27.5}, {-8.3516, -5.3723*^-15, 27.5}}], Polygon[{{-8.3182, -4.4577, 25.417}, {-7.4579, -8.6116, 25.417}, {-7.2327, -8.3516, 27.5}, {-8.0671, -4.3231, 27.5}}], Polygon[{{-7.4579, -8.6116, 25.417}, {-6.0893, -12.179, 25.417}, {-5.9055, -11.811, 27.5}, {-7.2327, -8.3516, 27.5}}], Polygon[{{-6.0893, -12.179, 25.417}, {-4.3058, -14.916, 25.417}, {-4.1758, -14.465, 27.5}, {-5.9055, -11.811, 27.5}}], Polygon[{{-4.3058, -14.916, 25.417}, {-2.2288, -16.636, 25.417}, {-2.1616, -16.134, 27.5}, {-4.1758, -14.465, 27.5}}], Polygon[{{-2.2288, -16.636, 25.417}, {-1.5819*^-15, -17.223, 25.417}, {-1.5341*^-15, -16.703, 27.5}, {-2.1616, -16.134, 27.5}}], Polygon[{{-1.5819*^-15, -17.223, 25.417}, {2.2288, -16.636, 25.417}, {2.1616, -16.134, 27.5}, {-1.5341*^-15, -16.703, 27.5}}], Polygon[{{2.2288, -16.636, 25.417}, {4.3058, -14.916, 25.417}, {4.1758, -14.465, 27.5}, {2.1616, -16.134, 27.5}}], Polygon[{{4.3058, -14.916, 25.417}, {6.0893, -12.179, 25.417}, {5.9055, -11.811, 27.5}, {4.1758, -14.465, 27.5}}], Polygon[{{6.0893, -12.179, 25.417}, {7.4579, -8.6116, 25.417}, {7.2327, -8.3516, 27.5}, {5.9055, -11.811, 27.5}}], Polygon[{{7.4579, -8.6116, 25.417}, {8.3182, -4.4577, 25.417}, {8.0671, -4.3231, 27.5}, {7.2327, -8.3516, 27.5}}], Polygon[{{8.3182, -4.4577, 25.417}, {8.6116, -3.4813*^-14, 25.417}, {8.3516, -3.3762*^-14, 27.5}, {8.0671, -4.3231, 27.5}}], Polygon[{{8.3516, 0., 27.5}, {8.0671, 4.3231, 27.5}, {7.7871, 4.1731, 29.583}, {8.0618, 0., 29.583}}], Polygon[{{8.0671, 4.3231, 27.5}, {7.2327, 8.3516, 27.5}, {6.9817, 8.0618, 29.583}, {7.7871, 4.1731, 29.583}}], Polygon[{{7.2327, 8.3516, 27.5}, {5.9055, 11.811, 27.5}, {5.7006, 11.401, 29.583}, {6.9817, 8.0618, 29.583}}], Polygon[{{5.9055, 11.811, 27.5}, {4.1758, 14.465, 27.5}, {4.0309, 13.963, 29.583}, {5.7006, 11.401, 29.583}}], Polygon[{{4.1758, 14.465, 27.5}, {2.1616, 16.134, 27.5}, {2.0866, 15.574, 29.583}, {4.0309, 13.963, 29.583}}], Polygon[{{2.1616, 16.134, 27.5}, {2.3658*^-15, 16.703, 27.5}, {2.2837*^-15, 16.124, 29.583}, {2.0866, 15.574, 29.583}}], Polygon[{{2.3658*^-15, 16.703, 27.5}, {-2.1616, 16.134, 27.5}, {-2.0866, 15.574, 29.583}, {2.2837*^-15, 16.124, 29.583}}], Polygon[{{-2.1616, 16.134, 27.5}, {-4.1758, 14.465, 27.5}, {-4.0309, 13.963, 29.583}, {-2.0866, 15.574, 29.583}}], Polygon[{{-4.1758, 14.465, 27.5}, {-5.9055, 11.811, 27.5}, {-5.7006, 11.401, 29.583}, {-4.0309, 13.963, 29.583}}], Polygon[{{-5.9055, 11.811, 27.5}, {-7.2327, 8.3516, 27.5}, {-6.9817, 8.0618, 29.583}, {-5.7006, 11.401, 29.583}}], Polygon[{{-7.2327, 8.3516, 27.5}, {-8.0671, 4.3231, 27.5}, {-7.7871, 4.1731, 29.583}, {-6.9817, 8.0618, 29.583}}], Polygon[{{-8.0671, 4.3231, 27.5}, {-8.3516, -5.3723*^-15, 27.5}, {-8.0618, -5.1858*^-15, 29.583}, {-7.7871, 4.1731, 29.583}}], Polygon[{{-8.3516, -5.3723*^-15, 27.5}, {-8.0671, -4.3231, 27.5}, {-7.7871, -4.1731, 29.583}, {-8.0618, -5.1858*^-15, 29.583}}], Polygon[{{-8.0671, -4.3231, 27.5}, {-7.2327, -8.3516, 27.5}, {-6.9817, -8.0618, 29.583}, {-7.7871, -4.1731, 29.583}}], Polygon[{{-7.2327, -8.3516, 27.5}, {-5.9055, -11.811, 27.5}, {-5.7006, -11.401, 29.583}, {-6.9817, -8.0618, 29.583}}], Polygon[{{-5.9055, -11.811, 27.5}, {-4.1758, -14.465, 27.5}, {-4.0309, -13.963, 29.583}, {-5.7006, -11.401, 29.583}}], Polygon[{{-4.1758, -14.465, 27.5}, {-2.1616, -16.134, 27.5}, {-2.0866, -15.574, 29.583}, {-4.0309, -13.963, 29.583}}], Polygon[{{-2.1616, -16.134, 27.5}, {-1.5341*^-15, -16.703, 27.5}, {-1.4809*^-15, -16.124, 29.583}, {-2.0866, -15.574, 29.583}}], Polygon[{{-1.5341*^-15, -16.703, 27.5}, {2.1616, -16.134, 27.5}, {2.0866, -15.574, 29.583}, {-1.4809*^-15, -16.124, 29.583}}], Polygon[{{2.1616, -16.134, 27.5}, {4.1758, -14.465, 27.5}, {4.0309, -13.963, 29.583}, {2.0866, -15.574, 29.583}}], Polygon[{{4.1758, -14.465, 27.5}, {5.9055, -11.811, 27.5}, {5.7006, -11.401, 29.583}, {4.0309, -13.963, 29.583}}], Polygon[{{5.9055, -11.811, 27.5}, {7.2327, -8.3516, 27.5}, {6.9817, -8.0618, 29.583}, {5.7006, -11.401, 29.583}}], Polygon[{{7.2327, -8.3516, 27.5}, {8.0671, -4.3231, 27.5}, {7.7871, -4.1731, 29.583}, {6.9817, -8.0618, 29.583}}], Polygon[{{8.0671, -4.3231, 27.5}, {8.3516, -3.3762*^-14, 27.5}, {8.0618, -3.259*^-14, 29.583}, {7.7871, -4.1731, 29.583}}], Polygon[{{8.0618, 0., 29.583}, {7.7871, 4.1731, 29.583}, {7.4751, 4.0059, 31.667}, {7.7388, 0., 31.667}}], Polygon[{{7.7871, 4.1731, 29.583}, {6.9817, 8.0618, 29.583}, {6.702, 7.7388, 31.667}, {7.4751, 4.0059, 31.667}}], Polygon[{{6.9817, 8.0618, 29.583}, {5.7006, 11.401, 29.583}, {5.4722, 10.944, 31.667}, {6.702, 7.7388, 31.667}}], Polygon[{{5.7006, 11.401, 29.583}, {4.0309, 13.963, 29.583}, {3.8694, 13.404, 31.667}, {5.4722, 10.944, 31.667}}], Polygon[{{4.0309, 13.963, 29.583}, {2.0866, 15.574, 29.583}, {2.0029, 14.95, 31.667}, {3.8694, 13.404, 31.667}}], Polygon[{{2.0866, 15.574, 29.583}, {2.2837*^-15, 16.124, 29.583}, {2.1922*^-15, 15.478, 31.667}, {2.0029, 14.95, 31.667}}], Polygon[{{2.2837*^-15, 16.124, 29.583}, {-2.0866, 15.574, 29.583}, {-2.0029, 14.95, 31.667}, {2.1922*^-15, 15.478, 31.667}}], Polygon[{{-2.0866, 15.574, 29.583}, {-4.0309, 13.963, 29.583}, {-3.8694, 13.404, 31.667}, {-2.0029, 14.95, 31.667}}], Polygon[{{-4.0309, 13.963, 29.583}, {-5.7006, 11.401, 29.583}, {-5.4722, 10.944, 31.667}, {-3.8694, 13.404, 31.667}}], Polygon[{{-5.7006, 11.401, 29.583}, {-6.9817, 8.0618, 29.583}, {-6.702, 7.7388, 31.667}, {-5.4722, 10.944, 31.667}}], Polygon[{{-6.9817, 8.0618, 29.583}, {-7.7871, 4.1731, 29.583}, {-7.4751, 4.0059, 31.667}, {-6.702, 7.7388, 31.667}}], Polygon[{{-7.7871, 4.1731, 29.583}, {-8.0618, -5.1858*^-15, 29.583}, {-7.7388, -4.978*^-15, 31.667}, {-7.4751, 4.0059, 31.667}}], Polygon[{{-8.0618, -5.1858*^-15, 29.583}, {-7.7871, -4.1731, 29.583}, {-7.4751, -4.0059, 31.667}, {-7.7388, -4.978*^-15, 31.667}}], Polygon[{{-7.7871, -4.1731, 29.583}, {-6.9817, -8.0618, 29.583}, {-6.702, -7.7388, 31.667}, {-7.4751, -4.0059, 31.667}}], Polygon[{{-6.9817, -8.0618, 29.583}, {-5.7006, -11.401, 29.583}, {-5.4722, -10.944, 31.667}, {-6.702, -7.7388, 31.667}}], Polygon[{{-5.7006, -11.401, 29.583}, {-4.0309, -13.963, 29.583}, {-3.8694, -13.404, 31.667}, {-5.4722, -10.944, 31.667}}], Polygon[{{-4.0309, -13.963, 29.583}, {-2.0866, -15.574, 29.583}, {-2.0029, -14.95, 31.667}, {-3.8694, -13.404, 31.667}}], Polygon[{{-2.0866, -15.574, 29.583}, {-1.4809*^-15, -16.124, 29.583}, {-1.4215*^-15, -15.478, 31.667}, {-2.0029, -14.95, 31.667}}], Polygon[{{-1.4809*^-15, -16.124, 29.583}, {2.0866, -15.574, 29.583}, {2.0029, -14.95, 31.667}, {-1.4215*^-15, -15.478, 31.667}}], Polygon[{{2.0866, -15.574, 29.583}, {4.0309, -13.963, 29.583}, {3.8694, -13.404, 31.667}, {2.0029, -14.95, 31.667}}], Polygon[{{4.0309, -13.963, 29.583}, {5.7006, -11.401, 29.583}, {5.4722, -10.944, 31.667}, {3.8694, -13.404, 31.667}}], Polygon[{{5.7006, -11.401, 29.583}, {6.9817, -8.0618, 29.583}, {6.702, -7.7388, 31.667}, {5.4722, -10.944, 31.667}}], Polygon[{{6.9817, -8.0618, 29.583}, {7.7871, -4.1731, 29.583}, {7.4751, -4.0059, 31.667}, {6.702, -7.7388, 31.667}}], Polygon[{{7.7871, -4.1731, 29.583}, {8.0618, -3.259*^-14, 29.583}, {7.7388, -3.1284*^-14, 31.667}, {7.4751, -4.0059, 31.667}}], Polygon[{{7.7388, 0., 31.667}, {7.4751, 4.0059, 31.667}, {7.1268, 3.8192, 33.75}, {7.3782, 0., 33.75}}], Polygon[{{7.4751, 4.0059, 31.667}, {6.702, 7.7388, 31.667}, {6.3897, 7.3782, 33.75}, {7.1268, 3.8192, 33.75}}], Polygon[{{6.702, 7.7388, 31.667}, {5.4722, 10.944, 31.667}, {5.2172, 10.434, 33.75}, {6.3897, 7.3782, 33.75}}], Polygon[{{5.4722, 10.944, 31.667}, {3.8694, 13.404, 31.667}, {3.6891, 12.779, 33.75}, {5.2172, 10.434, 33.75}}], Polygon[{{3.8694, 13.404, 31.667}, {2.0029, 14.95, 31.667}, {1.9096, 14.254, 33.75}, {3.6891, 12.779, 33.75}}], Polygon[{{2.0029, 14.95, 31.667}, {2.1922*^-15, 15.478, 31.667}, {2.0901*^-15, 14.756, 33.75}, {1.9096, 14.254, 33.75}}], Polygon[{{2.1922*^-15, 15.478, 31.667}, {-2.0029, 14.95, 31.667}, {-1.9096, 14.254, 33.75}, {2.0901*^-15, 14.756, 33.75}}], Polygon[{{-2.0029, 14.95, 31.667}, {-3.8694, 13.404, 31.667}, {-3.6891, 12.779, 33.75}, {-1.9096, 14.254, 33.75}}], Polygon[{{-3.8694, 13.404, 31.667}, {-5.4722, 10.944, 31.667}, {-5.2172, 10.434, 33.75}, {-3.6891, 12.779, 33.75}}], Polygon[{{-5.4722, 10.944, 31.667}, {-6.702, 7.7388, 31.667}, {-6.3897, 7.3782, 33.75}, {-5.2172, 10.434, 33.75}}], Polygon[{{-6.702, 7.7388, 31.667}, {-7.4751, 4.0059, 31.667}, {-7.1268, 3.8192, 33.75}, {-6.3897, 7.3782, 33.75}}], Polygon[{{-7.4751, 4.0059, 31.667}, {-7.7388, -4.978*^-15, 31.667}, {-7.3782, -4.7461*^-15, 33.75}, {-7.1268, 3.8192, 33.75}}], Polygon[{{-7.7388, -4.978*^-15, 31.667}, {-7.4751, -4.0059, 31.667}, {-7.1268, -3.8192, 33.75}, {-7.3782, -4.7461*^-15, 33.75}}], Polygon[{{-7.4751, -4.0059, 31.667}, {-6.702, -7.7388, 31.667}, {-6.3897, -7.3782, 33.75}, {-7.1268, -3.8192, 33.75}}], Polygon[{{-6.702, -7.7388, 31.667}, {-5.4722, -10.944, 31.667}, {-5.2172, -10.434, 33.75}, {-6.3897, -7.3782, 33.75}}], Polygon[{{-5.4722, -10.944, 31.667}, {-3.8694, -13.404, 31.667}, {-3.6891, -12.779, 33.75}, {-5.2172, -10.434, 33.75}}], Polygon[{{-3.8694, -13.404, 31.667}, {-2.0029, -14.95, 31.667}, {-1.9096, -14.254, 33.75}, {-3.6891, -12.779, 33.75}}], Polygon[{{-2.0029, -14.95, 31.667}, {-1.4215*^-15, -15.478, 31.667}, {-1.3553*^-15, -14.756, 33.75}, {-1.9096, -14.254, 33.75}}], Polygon[{{-1.4215*^-15, -15.478, 31.667}, {2.0029, -14.95, 31.667}, {1.9096, -14.254, 33.75}, {-1.3553*^-15, -14.756, 33.75}}], Polygon[{{2.0029, -14.95, 31.667}, {3.8694, -13.404, 31.667}, {3.6891, -12.779, 33.75}, {1.9096, -14.254, 33.75}}], Polygon[{{3.8694, -13.404, 31.667}, {5.4722, -10.944, 31.667}, {5.2172, -10.434, 33.75}, {3.6891, -12.779, 33.75}}], Polygon[{{5.4722, -10.944, 31.667}, {6.702, -7.7388, 31.667}, {6.3897, -7.3782, 33.75}, {5.2172, -10.434, 33.75}}], Polygon[{{6.702, -7.7388, 31.667}, {7.4751, -4.0059, 31.667}, {7.1268, -3.8192, 33.75}, {6.3897, -7.3782, 33.75}}], Polygon[{{7.4751, -4.0059, 31.667}, {7.7388, -3.1284*^-14, 31.667}, {7.3782, -2.9827*^-14, 33.75}, {7.1268, -3.8192, 33.75}}], Polygon[{{7.3782, 0., 33.75}, {7.1268, 3.8192, 33.75}, {6.7365, 3.6101, 35.833}, {6.9742, 0., 35.833}}], Polygon[{{7.1268, 3.8192, 33.75}, {6.3897, 7.3782, 33.75}, {6.0398, 6.9742, 35.833}, {6.7365, 3.6101, 35.833}}], Polygon[{{6.3897, 7.3782, 33.75}, {5.2172, 10.434, 33.75}, {4.9315, 9.8629, 35.833}, {6.0398, 6.9742, 35.833}}], Polygon[{{5.2172, 10.434, 33.75}, {3.6891, 12.779, 33.75}, {3.4871, 12.08, 35.833}, {4.9315, 9.8629, 35.833}}], Polygon[{{3.6891, 12.779, 33.75}, {1.9096, 14.254, 33.75}, {1.805, 13.473, 35.833}, {3.4871, 12.08, 35.833}}], Polygon[{{1.9096, 14.254, 33.75}, {2.0901*^-15, 14.756, 33.75}, {1.9756*^-15, 13.948, 35.833}, {1.805, 13.473, 35.833}}], Polygon[{{2.0901*^-15, 14.756, 33.75}, {-1.9096, 14.254, 33.75}, {-1.805, 13.473, 35.833}, {1.9756*^-15, 13.948, 35.833}}], Polygon[{{-1.9096, 14.254, 33.75}, {-3.6891, 12.779, 33.75}, {-3.4871, 12.08, 35.833}, {-1.805, 13.473, 35.833}}], Polygon[{{-3.6891, 12.779, 33.75}, {-5.2172, 10.434, 33.75}, {-4.9315, 9.8629, 35.833}, {-3.4871, 12.08, 35.833}}], Polygon[{{-5.2172, 10.434, 33.75}, {-6.3897, 7.3782, 33.75}, {-6.0398, 6.9742, 35.833}, {-4.9315, 9.8629, 35.833}}], Polygon[{{-6.3897, 7.3782, 33.75}, {-7.1268, 3.8192, 33.75}, {-6.7365, 3.6101, 35.833}, {-6.0398, 6.9742, 35.833}}], Polygon[{{-7.1268, 3.8192, 33.75}, {-7.3782, -4.7461*^-15, 33.75}, {-6.9742, -4.4862*^-15, 35.833}, {-6.7365, 3.6101, 35.833}}], Polygon[{{-7.3782, -4.7461*^-15, 33.75}, {-7.1268, -3.8192, 33.75}, {-6.7365, -3.6101, 35.833}, {-6.9742, -4.4862*^-15, 35.833}}], Polygon[{{-7.1268, -3.8192, 33.75}, {-6.3897, -7.3782, 33.75}, {-6.0398, -6.9742, 35.833}, {-6.7365, -3.6101, 35.833}}], Polygon[{{-6.3897, -7.3782, 33.75}, {-5.2172, -10.434, 33.75}, {-4.9315, -9.8629, 35.833}, {-6.0398, -6.9742, 35.833}}], Polygon[{{-5.2172, -10.434, 33.75}, {-3.6891, -12.779, 33.75}, {-3.4871, -12.08, 35.833}, {-4.9315, -9.8629, 35.833}}], Polygon[{{-3.6891, -12.779, 33.75}, {-1.9096, -14.254, 33.75}, {-1.805, -13.473, 35.833}, {-3.4871, -12.08, 35.833}}], Polygon[{{-1.9096, -14.254, 33.75}, {-1.3553*^-15, -14.756, 33.75}, {-1.2811*^-15, -13.948, 35.833}, {-1.805, -13.473, 35.833}}], Polygon[{{-1.3553*^-15, -14.756, 33.75}, {1.9096, -14.254, 33.75}, {1.805, -13.473, 35.833}, {-1.2811*^-15, -13.948, 35.833}}], Polygon[{{1.9096, -14.254, 33.75}, {3.6891, -12.779, 33.75}, {3.4871, -12.08, 35.833}, {1.805, -13.473, 35.833}}], Polygon[{{3.6891, -12.779, 33.75}, {5.2172, -10.434, 33.75}, {4.9315, -9.8629, 35.833}, {3.4871, -12.08, 35.833}}], Polygon[{{5.2172, -10.434, 33.75}, {6.3897, -7.3782, 33.75}, {6.0398, -6.9742, 35.833}, {4.9315, -9.8629, 35.833}}], Polygon[{{6.3897, -7.3782, 33.75}, {7.1268, -3.8192, 33.75}, {6.7365, -3.6101, 35.833}, {6.0398, -6.9742, 35.833}}], Polygon[{{7.1268, -3.8192, 33.75}, {7.3782, -2.9827*^-14, 33.75}, {6.9742, -2.8193*^-14, 35.833}, {6.7365, -3.6101, 35.833}}], Polygon[{{6.9742, 0., 35.833}, {6.7365, 3.6101, 35.833}, {6.2966, 3.3743, 37.917}, {6.5187, 0., 37.917}}], Polygon[{{6.7365, 3.6101, 35.833}, {6.0398, 6.9742, 35.833}, {5.6453, 6.5187, 37.917}, {6.2966, 3.3743, 37.917}}], Polygon[{{6.0398, 6.9742, 35.833}, {4.9315, 9.8629, 35.833}, {4.6094, 9.2188, 37.917}, {5.6453, 6.5187, 37.917}}], Polygon[{{4.9315, 9.8629, 35.833}, {3.4871, 12.08, 35.833}, {3.2593, 11.291, 37.917}, {4.6094, 9.2188, 37.917}}], Polygon[{{3.4871, 12.08, 35.833}, {1.805, 13.473, 35.833}, {1.6872, 12.593, 37.917}, {3.2593, 11.291, 37.917}}], Polygon[{{1.805, 13.473, 35.833}, {1.9756*^-15, 13.948, 35.833}, {1.8466*^-15, 13.037, 37.917}, {1.6872, 12.593, 37.917}}], Polygon[{{1.9756*^-15, 13.948, 35.833}, {-1.805, 13.473, 35.833}, {-1.6872, 12.593, 37.917}, {1.8466*^-15, 13.037, 37.917}}], Polygon[{{-1.805, 13.473, 35.833}, {-3.4871, 12.08, 35.833}, {-3.2593, 11.291, 37.917}, {-1.6872, 12.593, 37.917}}], Polygon[{{-3.4871, 12.08, 35.833}, {-4.9315, 9.8629, 35.833}, {-4.6094, 9.2188, 37.917}, {-3.2593, 11.291, 37.917}}], Polygon[{{-4.9315, 9.8629, 35.833}, {-6.0398, 6.9742, 35.833}, {-5.6453, 6.5187, 37.917}, {-4.6094, 9.2188, 37.917}}], Polygon[{{-6.0398, 6.9742, 35.833}, {-6.7365, 3.6101, 35.833}, {-6.2966, 3.3743, 37.917}, {-5.6453, 6.5187, 37.917}}], Polygon[{{-6.7365, 3.6101, 35.833}, {-6.9742, -4.4862*^-15, 35.833}, {-6.5187, -4.1932*^-15, 37.917}, {-6.2966, 3.3743, 37.917}}], Polygon[{{-6.9742, -4.4862*^-15, 35.833}, {-6.7365, -3.6101, 35.833}, {-6.2966, -3.3743, 37.917}, {-6.5187, -4.1932*^-15, 37.917}}], Polygon[{{-6.7365, -3.6101, 35.833}, {-6.0398, -6.9742, 35.833}, {-5.6453, -6.5187, 37.917}, {-6.2966, -3.3743, 37.917}}], Polygon[{{-6.0398, -6.9742, 35.833}, {-4.9315, -9.8629, 35.833}, {-4.6094, -9.2188, 37.917}, {-5.6453, -6.5187, 37.917}}], Polygon[{{-4.9315, -9.8629, 35.833}, {-3.4871, -12.08, 35.833}, {-3.2593, -11.291, 37.917}, {-4.6094, -9.2188, 37.917}}], Polygon[{{-3.4871, -12.08, 35.833}, {-1.805, -13.473, 35.833}, {-1.6872, -12.593, 37.917}, {-3.2593, -11.291, 37.917}}], Polygon[{{-1.805, -13.473, 35.833}, {-1.2811*^-15, -13.948, 35.833}, {-1.1974*^-15, -13.037, 37.917}, {-1.6872, -12.593, 37.917}}], Polygon[{{-1.2811*^-15, -13.948, 35.833}, {1.805, -13.473, 35.833}, {1.6872, -12.593, 37.917}, {-1.1974*^-15, -13.037, 37.917}}], Polygon[{{1.805, -13.473, 35.833}, {3.4871, -12.08, 35.833}, {3.2593, -11.291, 37.917}, {1.6872, -12.593, 37.917}}], Polygon[{{3.4871, -12.08, 35.833}, {4.9315, -9.8629, 35.833}, {4.6094, -9.2188, 37.917}, {3.2593, -11.291, 37.917}}], Polygon[{{4.9315, -9.8629, 35.833}, {6.0398, -6.9742, 35.833}, {5.6453, -6.5187, 37.917}, {4.6094, -9.2188, 37.917}}], Polygon[{{6.0398, -6.9742, 35.833}, {6.7365, -3.6101, 35.833}, {6.2966, -3.3743, 37.917}, {5.6453, -6.5187, 37.917}}], Polygon[{{6.7365, -3.6101, 35.833}, {6.9742, -2.8193*^-14, 35.833}, {6.5187, -2.6352*^-14, 37.917}, {6.2966, -3.3743, 37.917}}], Polygon[{{6.5187, 0., 37.917}, {6.2966, 3.3743, 37.917}, {5.7956, 3.1058, 40.}, {6., 0., 40.}}], Polygon[{{6.2966, 3.3743, 37.917}, {5.6453, 6.5187, 37.917}, {5.1962, 6., 40.}, {5.7956, 3.1058, 40.}}], Polygon[{{5.6453, 6.5187, 37.917}, {4.6094, 9.2188, 37.917}, {4.2426, 8.4853, 40.}, {5.1962, 6., 40.}}], Polygon[{{4.6094, 9.2188, 37.917}, {3.2593, 11.291, 37.917}, {3., 10.392, 40.}, {4.2426, 8.4853, 40.}}], Polygon[{{3.2593, 11.291, 37.917}, {1.6872, 12.593, 37.917}, {1.5529, 11.591, 40.}, {3., 10.392, 40.}}], Polygon[{{1.6872, 12.593, 37.917}, {1.8466*^-15, 13.037, 37.917}, {1.6996*^-15, 12., 40.}, {1.5529, 11.591, 40.}}], Polygon[{{1.8466*^-15, 13.037, 37.917}, {-1.6872, 12.593, 37.917}, {-1.5529, 11.591, 40.}, {1.6996*^-15, 12., 40.}}], Polygon[{{-1.6872, 12.593, 37.917}, {-3.2593, 11.291, 37.917}, {-3., 10.392, 40.}, {-1.5529, 11.591, 40.}}], Polygon[{{-3.2593, 11.291, 37.917}, {-4.6094, 9.2188, 37.917}, {-4.2426, 8.4853, 40.}, {-3., 10.392, 40.}}], Polygon[{{-4.6094, 9.2188, 37.917}, {-5.6453, 6.5187, 37.917}, {-5.1962, 6., 40.}, {-4.2426, 8.4853, 40.}}], Polygon[{{-5.6453, 6.5187, 37.917}, {-6.2966, 3.3743, 37.917}, {-5.7956, 3.1058, 40.}, {-5.1962, 6., 40.}}], Polygon[{{-6.2966, 3.3743, 37.917}, {-6.5187, -4.1932*^-15, 37.917}, {-6., -3.8595*^-15, 40.}, {-5.7956, 3.1058, 40.}}], Polygon[{{-6.5187, -4.1932*^-15, 37.917}, {-6.2966, -3.3743, 37.917}, {-5.7956, -3.1058, 40.}, {-6., -3.8595*^-15, 40.}}], Polygon[{{-6.2966, -3.3743, 37.917}, {-5.6453, -6.5187, 37.917}, {-5.1962, -6., 40.}, {-5.7956, -3.1058, 40.}}], Polygon[{{-5.6453, -6.5187, 37.917}, {-4.6094, -9.2188, 37.917}, {-4.2426, -8.4853, 40.}, {-5.1962, -6., 40.}}], Polygon[{{-4.6094, -9.2188, 37.917}, {-3.2593, -11.291, 37.917}, {-3., -10.392, 40.}, {-4.2426, -8.4853, 40.}}], Polygon[{{-3.2593, -11.291, 37.917}, {-1.6872, -12.593, 37.917}, {-1.5529, -11.591, 40.}, {-3., -10.392, 40.}}], Polygon[{{-1.6872, -12.593, 37.917}, {-1.1974*^-15, -13.037, 37.917}, {-1.1021*^-15, -12., 40.}, {-1.5529, -11.591, 40.}}], Polygon[{{-1.1974*^-15, -13.037, 37.917}, {1.6872, -12.593, 37.917}, {1.5529, -11.591, 40.}, {-1.1021*^-15, -12., 40.}}], Polygon[{{1.6872, -12.593, 37.917}, {3.2593, -11.291, 37.917}, {3., -10.392, 40.}, {1.5529, -11.591, 40.}}], Polygon[{{3.2593, -11.291, 37.917}, {4.6094, -9.2188, 37.917}, {4.2426, -8.4853, 40.}, {3., -10.392, 40.}}], Polygon[{{4.6094, -9.2188, 37.917}, {5.6453, -6.5187, 37.917}, {5.1962, -6., 40.}, {4.2426, -8.4853, 40.}}], Polygon[{{5.6453, -6.5187, 37.917}, {6.2966, -3.3743, 37.917}, {5.7956, -3.1058, 40.}, {5.1962, -6., 40.}}], Polygon[{{6.2966, -3.3743, 37.917}, {6.5187, -2.6352*^-14, 37.917}, {6., -2.4255*^-14, 40.}, {5.7956, -3.1058, 40.}}]}, {Polygon[{{0., 0., -10.}, {0., 0., -10.}, {2.366, 1.2679, -10.}, {2.4495, 0., -10.}}], Polygon[{{0., 0., -10.}, {0., 0., -10.}, {2.1213, 2.4495, -10.}, {2.366, 1.2679, -10.}}], Polygon[{{0., 0., -10.}, {0., 0., -10.}, {1.7321, 3.4641, -10.}, {2.1213, 2.4495, -10.}}], Polygon[{{0., 0., -10.}, {0., 0., -10.}, {1.2247, 4.2426, -10.}, {1.7321, 3.4641, -10.}}], Polygon[{{0., 0., -10.}, {0., 0., -10.}, {0.63397, 4.7321, -10.}, {1.2247, 4.2426, -10.}}], Polygon[{{0., 0., -10.}, {0., 0., -10.}, {6.9388*^-16, 4.899, -10.}, {0.63397, 4.7321, -10.}}], Polygon[{{0., 0., -10.}, {0., 0., -10.}, {-0.63397, 4.7321, -10.}, {6.9388*^-16, 4.899, -10.}}], Polygon[{{0., 0., -10.}, {0., 0., -10.}, {-1.2247, 4.2426, -10.}, {-0.63397, 4.7321, -10.}}], Polygon[{{0., 0., -10.}, {0., 0., -10.}, {-1.7321, 3.4641, -10.}, {-1.2247, 4.2426, -10.}}], Polygon[{{0., 0., -10.}, {0., 0., -10.}, {-2.1213, 2.4495, -10.}, {-1.7321, 3.4641, -10.}}], Polygon[{{0., 0., -10.}, {0., 0., -10.}, {-2.366, 1.2679, -10.}, {-2.1213, 2.4495, -10.}}], Polygon[{{0., 0., -10.}, {0., 0., -10.}, {-2.4495, -1.5757*^-15, -10.}, {-2.366, 1.2679, -10.}}], Polygon[{{0., 0., -10.}, {0., 0., -10.}, {-2.366, -1.2679, -10.}, {-2.4495, -1.5757*^-15, -10.}}], Polygon[{{0., 0., -10.}, {0., 0., -10.}, {-2.1213, -2.4495, -10.}, {-2.366, -1.2679, -10.}}], Polygon[{{0., 0., -10.}, {0., 0., -10.}, {-1.7321, -3.4641, -10.}, {-2.1213, -2.4495, -10.}}], Polygon[{{0., 0., -10.}, {0., 0., -10.}, {-1.2247, -4.2426, -10.}, {-1.7321, -3.4641, -10.}}], Polygon[{{0., 0., -10.}, {0., 0., -10.}, {-0.63397, -4.7321, -10.}, {-1.2247, -4.2426, -10.}}], Polygon[{{0., 0., -10.}, {0., 0., -10.}, {-4.4995*^-16, -4.899, -10.}, {-0.63397, -4.7321, -10.}}], Polygon[{{0., 0., -10.}, {0., 0., -10.}, {0.63397, -4.7321, -10.}, {-4.4995*^-16, -4.899, -10.}}], Polygon[{{0., 0., -10.}, {0., 0., -10.}, {1.2247, -4.2426, -10.}, {0.63397, -4.7321, -10.}}], Polygon[{{0., 0., -10.}, {0., 0., -10.}, {1.7321, -3.4641, -10.}, {1.2247, -4.2426, -10.}}], Polygon[{{0., 0., -10.}, {0., 0., -10.}, {2.1213, -2.4495, -10.}, {1.7321, -3.4641, -10.}}], Polygon[{{0., 0., -10.}, {0., 0., -10.}, {2.366, -1.2679, -10.}, {2.1213, -2.4495, -10.}}], Polygon[{{0., 0., -10.}, {0., 0., -10.}, {2.4495, -9.9022*^-15, -10.}, {2.366, -1.2679, -10.}}], Polygon[{{2.4495, 0., -10.}, {2.366, 1.2679, -10.}, {4.7321, 2.5359, -10.}, {4.899, 0., -10.}}], Polygon[{{2.366, 1.2679, -10.}, {2.1213, 2.4495, -10.}, {4.2426, 4.899, -10.}, {4.7321, 2.5359, -10.}}], Polygon[{{2.1213, 2.4495, -10.}, {1.7321, 3.4641, -10.}, {3.4641, 6.9282, -10.}, {4.2426, 4.899, -10.}}], Polygon[{{1.7321, 3.4641, -10.}, {1.2247, 4.2426, -10.}, {2.4495, 8.4853, -10.}, {3.4641, 6.9282, -10.}}], Polygon[{{1.2247, 4.2426, -10.}, {0.63397, 4.7321, -10.}, {1.2679, 9.4641, -10.}, {2.4495, 8.4853, -10.}}], Polygon[{{0.63397, 4.7321, -10.}, {6.9388*^-16, 4.899, -10.}, {1.3878*^-15, 9.798, -10.}, {1.2679, 9.4641, -10.}}], Polygon[{{6.9388*^-16, 4.899, -10.}, {-0.63397, 4.7321, -10.}, {-1.2679, 9.4641, -10.}, {1.3878*^-15, 9.798, -10.}}], Polygon[{{-0.63397, 4.7321, -10.}, {-1.2247, 4.2426, -10.}, {-2.4495, 8.4853, -10.}, {-1.2679, 9.4641, -10.}}], Polygon[{{-1.2247, 4.2426, -10.}, {-1.7321, 3.4641, -10.}, {-3.4641, 6.9282, -10.}, {-2.4495, 8.4853, -10.}}], Polygon[{{-1.7321, 3.4641, -10.}, {-2.1213, 2.4495, -10.}, {-4.2426, 4.899, -10.}, {-3.4641, 6.9282, -10.}}], Polygon[{{-2.1213, 2.4495, -10.}, {-2.366, 1.2679, -10.}, {-4.7321, 2.5359, -10.}, {-4.2426, 4.899, -10.}}], Polygon[{{-2.366, 1.2679, -10.}, {-2.4495, -1.5757*^-15, -10.}, {-4.899, -3.1513*^-15, -10.}, {-4.7321, 2.5359, -10.}}], Polygon[{{-2.4495, -1.5757*^-15, -10.}, {-2.366, -1.2679, -10.}, {-4.7321, -2.5359, -10.}, {-4.899, -3.1513*^-15, -10.}}], Polygon[{{-2.366, -1.2679, -10.}, {-2.1213, -2.4495, -10.}, {-4.2426, -4.899, -10.}, {-4.7321, -2.5359, -10.}}], Polygon[{{-2.1213, -2.4495, -10.}, {-1.7321, -3.4641, -10.}, {-3.4641, -6.9282, -10.}, {-4.2426, -4.899, -10.}}], Polygon[{{-1.7321, -3.4641, -10.}, {-1.2247, -4.2426, -10.}, {-2.4495, -8.4853, -10.}, {-3.4641, -6.9282, -10.}}], Polygon[{{-1.2247, -4.2426, -10.}, {-0.63397, -4.7321, -10.}, {-1.2679, -9.4641, -10.}, {-2.4495, -8.4853, -10.}}], Polygon[{{-0.63397, -4.7321, -10.}, {-4.4995*^-16, -4.899, -10.}, {-8.999*^-16, -9.798, -10.}, {-1.2679, -9.4641, -10.}}], Polygon[{{-4.4995*^-16, -4.899, -10.}, {0.63397, -4.7321, -10.}, {1.2679, -9.4641, -10.}, {-8.999*^-16, -9.798, -10.}}], Polygon[{{0.63397, -4.7321, -10.}, {1.2247, -4.2426, -10.}, {2.4495, -8.4853, -10.}, {1.2679, -9.4641, -10.}}], Polygon[{{1.2247, -4.2426, -10.}, {1.7321, -3.4641, -10.}, {3.4641, -6.9282, -10.}, {2.4495, -8.4853, -10.}}], Polygon[{{1.7321, -3.4641, -10.}, {2.1213, -2.4495, -10.}, {4.2426, -4.899, -10.}, {3.4641, -6.9282, -10.}}], Polygon[{{2.1213, -2.4495, -10.}, {2.366, -1.2679, -10.}, {4.7321, -2.5359, -10.}, {4.2426, -4.899, -10.}}], Polygon[{{2.366, -1.2679, -10.}, {2.4495, -9.9022*^-15, -10.}, {4.899, -1.9804*^-14, -10.}, {4.7321, -2.5359, -10.}}], Polygon[{{4.899, 0., -10.}, {4.7321, 2.5359, -10.}, {7.0981, 3.8038, -10.}, {7.3485, 0., -10.}}], Polygon[{{4.7321, 2.5359, -10.}, {4.2426, 4.899, -10.}, {6.364, 7.3485, -10.}, {7.0981, 3.8038, -10.}}], Polygon[{{4.2426, 4.899, -10.}, {3.4641, 6.9282, -10.}, {5.1962, 10.392, -10.}, {6.364, 7.3485, -10.}}], Polygon[{{3.4641, 6.9282, -10.}, {2.4495, 8.4853, -10.}, {3.6742, 12.728, -10.}, {5.1962, 10.392, -10.}}], Polygon[{{2.4495, 8.4853, -10.}, {1.2679, 9.4641, -10.}, {1.9019, 14.196, -10.}, {3.6742, 12.728, -10.}}], Polygon[{{1.2679, 9.4641, -10.}, {1.3878*^-15, 9.798, -10.}, {2.0816*^-15, 14.697, -10.}, {1.9019, 14.196, -10.}}], Polygon[{{1.3878*^-15, 9.798, -10.}, {-1.2679, 9.4641, -10.}, {-1.9019, 14.196, -10.}, {2.0816*^-15, 14.697, -10.}}], Polygon[{{-1.2679, 9.4641, -10.}, {-2.4495, 8.4853, -10.}, {-3.6742, 12.728, -10.}, {-1.9019, 14.196, -10.}}], Polygon[{{-2.4495, 8.4853, -10.}, {-3.4641, 6.9282, -10.}, {-5.1962, 10.392, -10.}, {-3.6742, 12.728, -10.}}], Polygon[{{-3.4641, 6.9282, -10.}, {-4.2426, 4.899, -10.}, {-6.364, 7.3485, -10.}, {-5.1962, 10.392, -10.}}], Polygon[{{-4.2426, 4.899, -10.}, {-4.7321, 2.5359, -10.}, {-7.0981, 3.8038, -10.}, {-6.364, 7.3485, -10.}}], Polygon[{{-4.7321, 2.5359, -10.}, {-4.899, -3.1513*^-15, -10.}, {-7.3485, -4.727*^-15, -10.}, {-7.0981, 3.8038, -10.}}], Polygon[{{-4.899, -3.1513*^-15, -10.}, {-4.7321, -2.5359, -10.}, {-7.0981, -3.8038, -10.}, {-7.3485, -4.727*^-15, -10.}}], Polygon[{{-4.7321, -2.5359, -10.}, {-4.2426, -4.899, -10.}, {-6.364, -7.3485, -10.}, {-7.0981, -3.8038, -10.}}], Polygon[{{-4.2426, -4.899, -10.}, {-3.4641, -6.9282, -10.}, {-5.1962, -10.392, -10.}, {-6.364, -7.3485, -10.}}], Polygon[{{-3.4641, -6.9282, -10.}, {-2.4495, -8.4853, -10.}, {-3.6742, -12.728, -10.}, {-5.1962, -10.392, -10.}}], Polygon[{{-2.4495, -8.4853, -10.}, {-1.2679, -9.4641, -10.}, {-1.9019, -14.196, -10.}, {-3.6742, -12.728, -10.}}], Polygon[{{-1.2679, -9.4641, -10.}, {-8.999*^-16, -9.798, -10.}, {-1.3498*^-15, -14.697, -10.}, {-1.9019, -14.196, -10.}}], Polygon[{{-8.999*^-16, -9.798, -10.}, {1.2679, -9.4641, -10.}, {1.9019, -14.196, -10.}, {-1.3498*^-15, -14.697, -10.}}], Polygon[{{1.2679, -9.4641, -10.}, {2.4495, -8.4853, -10.}, {3.6742, -12.728, -10.}, {1.9019, -14.196, -10.}}], Polygon[{{2.4495, -8.4853, -10.}, {3.4641, -6.9282, -10.}, {5.1962, -10.392, -10.}, {3.6742, -12.728, -10.}}], Polygon[{{3.4641, -6.9282, -10.}, {4.2426, -4.899, -10.}, {6.364, -7.3485, -10.}, {5.1962, -10.392, -10.}}], Polygon[{{4.2426, -4.899, -10.}, {4.7321, -2.5359, -10.}, {7.0981, -3.8038, -10.}, {6.364, -7.3485, -10.}}], Polygon[{{4.7321, -2.5359, -10.}, {4.899, -1.9804*^-14, -10.}, {7.3485, -2.9707*^-14, -10.}, {7.0981, -3.8038, -10.}}], Polygon[{{7.3485, 0., -10.}, {7.0981, 3.8038, -10.}, {9.4641, 5.0718, -10.}, {9.798, 0., -10.}}], Polygon[{{7.0981, 3.8038, -10.}, {6.364, 7.3485, -10.}, {8.4853, 9.798, -10.}, {9.4641, 5.0718, -10.}}], Polygon[{{6.364, 7.3485, -10.}, {5.1962, 10.392, -10.}, {6.9282, 13.856, -10.}, {8.4853, 9.798, -10.}}], Polygon[{{5.1962, 10.392, -10.}, {3.6742, 12.728, -10.}, {4.899, 16.971, -10.}, {6.9282, 13.856, -10.}}], Polygon[{{3.6742, 12.728, -10.}, {1.9019, 14.196, -10.}, {2.5359, 18.928, -10.}, {4.899, 16.971, -10.}}], Polygon[{{1.9019, 14.196, -10.}, {2.0816*^-15, 14.697, -10.}, {2.7755*^-15, 19.596, -10.}, {2.5359, 18.928, -10.}}], Polygon[{{2.0816*^-15, 14.697, -10.}, {-1.9019, 14.196, -10.}, {-2.5359, 18.928, -10.}, {2.7755*^-15, 19.596, -10.}}], Polygon[{{-1.9019, 14.196, -10.}, {-3.6742, 12.728, -10.}, {-4.899, 16.971, -10.}, {-2.5359, 18.928, -10.}}], Polygon[{{-3.6742, 12.728, -10.}, {-5.1962, 10.392, -10.}, {-6.9282, 13.856, -10.}, {-4.899, 16.971, -10.}}], Polygon[{{-5.1962, 10.392, -10.}, {-6.364, 7.3485, -10.}, {-8.4853, 9.798, -10.}, {-6.9282, 13.856, -10.}}], Polygon[{{-6.364, 7.3485, -10.}, {-7.0981, 3.8038, -10.}, {-9.4641, 5.0718, -10.}, {-8.4853, 9.798, -10.}}], Polygon[{{-7.0981, 3.8038, -10.}, {-7.3485, -4.727*^-15, -10.}, {-9.798, -6.3026*^-15, -10.}, {-9.4641, 5.0718, -10.}}], Polygon[{{-7.3485, -4.727*^-15, -10.}, {-7.0981, -3.8038, -10.}, {-9.4641, -5.0718, -10.}, {-9.798, -6.3026*^-15, -10.}}], Polygon[{{-7.0981, -3.8038, -10.}, {-6.364, -7.3485, -10.}, {-8.4853, -9.798, -10.}, {-9.4641, -5.0718, -10.}}], Polygon[{{-6.364, -7.3485, -10.}, {-5.1962, -10.392, -10.}, {-6.9282, -13.856, -10.}, {-8.4853, -9.798, -10.}}], Polygon[{{-5.1962, -10.392, -10.}, {-3.6742, -12.728, -10.}, {-4.899, -16.971, -10.}, {-6.9282, -13.856, -10.}}], Polygon[{{-3.6742, -12.728, -10.}, {-1.9019, -14.196, -10.}, {-2.5359, -18.928, -10.}, {-4.899, -16.971, -10.}}], Polygon[{{-1.9019, -14.196, -10.}, {-1.3498*^-15, -14.697, -10.}, {-1.7998*^-15, -19.596, -10.}, {-2.5359, -18.928, -10.}}], Polygon[{{-1.3498*^-15, -14.697, -10.}, {1.9019, -14.196, -10.}, {2.5359, -18.928, -10.}, {-1.7998*^-15, -19.596, -10.}}], Polygon[{{1.9019, -14.196, -10.}, {3.6742, -12.728, -10.}, {4.899, -16.971, -10.}, {2.5359, -18.928, -10.}}], Polygon[{{3.6742, -12.728, -10.}, {5.1962, -10.392, -10.}, {6.9282, -13.856, -10.}, {4.899, -16.971, -10.}}], Polygon[{{5.1962, -10.392, -10.}, {6.364, -7.3485, -10.}, {8.4853, -9.798, -10.}, {6.9282, -13.856, -10.}}], Polygon[{{6.364, -7.3485, -10.}, {7.0981, -3.8038, -10.}, {9.4641, -5.0718, -10.}, {8.4853, -9.798, -10.}}], Polygon[{{7.0981, -3.8038, -10.}, {7.3485, -2.9707*^-14, -10.}, {9.798, -3.9609*^-14, -10.}, {9.4641, -5.0718, -10.}}]}, {Polygon[{{0., 0., 40.}, {0., 0., 40.}, {1.4489, 0.77646, 40.}, {1.5, 0., 40.}}], Polygon[{{0., 0., 40.}, {0., 0., 40.}, {1.299, 1.5, 40.}, {1.4489, 0.77646, 40.}}], Polygon[{{0., 0., 40.}, {0., 0., 40.}, {1.0607, 2.1213, 40.}, {1.299, 1.5, 40.}}], Polygon[{{0., 0., 40.}, {0., 0., 40.}, {0.75, 2.5981, 40.}, {1.0607, 2.1213, 40.}}], Polygon[{{0., 0., 40.}, {0., 0., 40.}, {0.38823, 2.8978, 40.}, {0.75, 2.5981, 40.}}], Polygon[{{0., 0., 40.}, {0., 0., 40.}, {4.2491*^-16, 3., 40.}, {0.38823, 2.8978, 40.}}], Polygon[{{0., 0., 40.}, {0., 0., 40.}, {-0.38823, 2.8978, 40.}, {4.2491*^-16, 3., 40.}}], Polygon[{{0., 0., 40.}, {0., 0., 40.}, {-0.75, 2.5981, 40.}, {-0.38823, 2.8978, 40.}}], Polygon[{{0., 0., 40.}, {0., 0., 40.}, {-1.0607, 2.1213, 40.}, {-0.75, 2.5981, 40.}}], Polygon[{{0., 0., 40.}, {0., 0., 40.}, {-1.299, 1.5, 40.}, {-1.0607, 2.1213, 40.}}], Polygon[{{0., 0., 40.}, {0., 0., 40.}, {-1.4489, 0.77646, 40.}, {-1.299, 1.5, 40.}}], Polygon[{{0., 0., 40.}, {0., 0., 40.}, {-1.5, -9.6489*^-16, 40.}, {-1.4489, 0.77646, 40.}}], Polygon[{{0., 0., 40.}, {0., 0., 40.}, {-1.4489, -0.77646, 40.}, {-1.5, -9.6489*^-16, 40.}}], Polygon[{{0., 0., 40.}, {0., 0., 40.}, {-1.299, -1.5, 40.}, {-1.4489, -0.77646, 40.}}], Polygon[{{0., 0., 40.}, {0., 0., 40.}, {-1.0607, -2.1213, 40.}, {-1.299, -1.5, 40.}}], Polygon[{{0., 0., 40.}, {0., 0., 40.}, {-0.75, -2.5981, 40.}, {-1.0607, -2.1213, 40.}}], Polygon[{{0., 0., 40.}, {0., 0., 40.}, {-0.38823, -2.8978, 40.}, {-0.75, -2.5981, 40.}}], Polygon[{{0., 0., 40.}, {0., 0., 40.}, {-2.7554*^-16, -3., 40.}, {-0.38823, -2.8978, 40.}}], Polygon[{{0., 0., 40.}, {0., 0., 40.}, {0.38823, -2.8978, 40.}, {-2.7554*^-16, -3., 40.}}], Polygon[{{0., 0., 40.}, {0., 0., 40.}, {0.75, -2.5981, 40.}, {0.38823, -2.8978, 40.}}], Polygon[{{0., 0., 40.}, {0., 0., 40.}, {1.0607, -2.1213, 40.}, {0.75, -2.5981, 40.}}], Polygon[{{0., 0., 40.}, {0., 0., 40.}, {1.299, -1.5, 40.}, {1.0607, -2.1213, 40.}}], Polygon[{{0., 0., 40.}, {0., 0., 40.}, {1.4489, -0.77646, 40.}, {1.299, -1.5, 40.}}], Polygon[{{0., 0., 40.}, {0., 0., 40.}, {1.5, -6.0638*^-15, 40.}, {1.4489, -0.77646, 40.}}], Polygon[{{1.5, 0., 40.}, {1.4489, 0.77646, 40.}, {2.8978, 1.5529, 40.}, {3., 0., 40.}}], Polygon[{{1.4489, 0.77646, 40.}, {1.299, 1.5, 40.}, {2.5981, 3., 40.}, {2.8978, 1.5529, 40.}}], Polygon[{{1.299, 1.5, 40.}, {1.0607, 2.1213, 40.}, {2.1213, 4.2426, 40.}, {2.5981, 3., 40.}}], Polygon[{{1.0607, 2.1213, 40.}, {0.75, 2.5981, 40.}, {1.5, 5.1962, 40.}, {2.1213, 4.2426, 40.}}], Polygon[{{0.75, 2.5981, 40.}, {0.38823, 2.8978, 40.}, {0.77646, 5.7956, 40.}, {1.5, 5.1962, 40.}}], Polygon[{{0.38823, 2.8978, 40.}, {4.2491*^-16, 3., 40.}, {8.4982*^-16, 6., 40.}, {0.77646, 5.7956, 40.}}], Polygon[{{4.2491*^-16, 3., 40.}, {-0.38823, 2.8978, 40.}, {-0.77646, 5.7956, 40.}, {8.4982*^-16, 6., 40.}}], Polygon[{{-0.38823, 2.8978, 40.}, {-0.75, 2.5981, 40.}, {-1.5, 5.1962, 40.}, {-0.77646, 5.7956, 40.}}], Polygon[{{-0.75, 2.5981, 40.}, {-1.0607, 2.1213, 40.}, {-2.1213, 4.2426, 40.}, {-1.5, 5.1962, 40.}}], Polygon[{{-1.0607, 2.1213, 40.}, {-1.299, 1.5, 40.}, {-2.5981, 3., 40.}, {-2.1213, 4.2426, 40.}}], Polygon[{{-1.299, 1.5, 40.}, {-1.4489, 0.77646, 40.}, {-2.8978, 1.5529, 40.}, {-2.5981, 3., 40.}}], Polygon[{{-1.4489, 0.77646, 40.}, {-1.5, -9.6489*^-16, 40.}, {-3., -1.9298*^-15, 40.}, {-2.8978, 1.5529, 40.}}], Polygon[{{-1.5, -9.6489*^-16, 40.}, {-1.4489, -0.77646, 40.}, {-2.8978, -1.5529, 40.}, {-3., -1.9298*^-15, 40.}}], Polygon[{{-1.4489, -0.77646, 40.}, {-1.299, -1.5, 40.}, {-2.5981, -3., 40.}, {-2.8978, -1.5529, 40.}}], Polygon[{{-1.299, -1.5, 40.}, {-1.0607, -2.1213, 40.}, {-2.1213, -4.2426, 40.}, {-2.5981, -3., 40.}}], Polygon[{{-1.0607, -2.1213, 40.}, {-0.75, -2.5981, 40.}, {-1.5, -5.1962, 40.}, {-2.1213, -4.2426, 40.}}], Polygon[{{-0.75, -2.5981, 40.}, {-0.38823, -2.8978, 40.}, {-0.77646, -5.7956, 40.}, {-1.5, -5.1962, 40.}}], Polygon[{{-0.38823, -2.8978, 40.}, {-2.7554*^-16, -3., 40.}, {-5.5107*^-16, -6., 40.}, {-0.77646, -5.7956, 40.}}], Polygon[{{-2.7554*^-16, -3., 40.}, {0.38823, -2.8978, 40.}, {0.77646, -5.7956, 40.}, {-5.5107*^-16, -6., 40.}}], Polygon[{{0.38823, -2.8978, 40.}, {0.75, -2.5981, 40.}, {1.5, -5.1962, 40.}, {0.77646, -5.7956, 40.}}], Polygon[{{0.75, -2.5981, 40.}, {1.0607, -2.1213, 40.}, {2.1213, -4.2426, 40.}, {1.5, -5.1962, 40.}}], Polygon[{{1.0607, -2.1213, 40.}, {1.299, -1.5, 40.}, {2.5981, -3., 40.}, {2.1213, -4.2426, 40.}}], Polygon[{{1.299, -1.5, 40.}, {1.4489, -0.77646, 40.}, {2.8978, -1.5529, 40.}, {2.5981, -3., 40.}}], Polygon[{{1.4489, -0.77646, 40.}, {1.5, -6.0638*^-15, 40.}, {3., -1.2128*^-14, 40.}, {2.8978, -1.5529, 40.}}], Polygon[{{3., 0., 40.}, {2.8978, 1.5529, 40.}, {4.3467, 2.3294, 40.}, {4.5, 0., 40.}}], Polygon[{{2.8978, 1.5529, 40.}, {2.5981, 3., 40.}, {3.8971, 4.5, 40.}, {4.3467, 2.3294, 40.}}], Polygon[{{2.5981, 3., 40.}, {2.1213, 4.2426, 40.}, {3.182, 6.364, 40.}, {3.8971, 4.5, 40.}}], Polygon[{{2.1213, 4.2426, 40.}, {1.5, 5.1962, 40.}, {2.25, 7.7942, 40.}, {3.182, 6.364, 40.}}], Polygon[{{1.5, 5.1962, 40.}, {0.77646, 5.7956, 40.}, {1.1647, 8.6933, 40.}, {2.25, 7.7942, 40.}}], Polygon[{{0.77646, 5.7956, 40.}, {8.4982*^-16, 6., 40.}, {1.2747*^-15, 9., 40.}, {1.1647, 8.6933, 40.}}], Polygon[{{8.4982*^-16, 6., 40.}, {-0.77646, 5.7956, 40.}, {-1.1647, 8.6933, 40.}, {1.2747*^-15, 9., 40.}}], Polygon[{{-0.77646, 5.7956, 40.}, {-1.5, 5.1962, 40.}, {-2.25, 7.7942, 40.}, {-1.1647, 8.6933, 40.}}], Polygon[{{-1.5, 5.1962, 40.}, {-2.1213, 4.2426, 40.}, {-3.182, 6.364, 40.}, {-2.25, 7.7942, 40.}}], Polygon[{{-2.1213, 4.2426, 40.}, {-2.5981, 3., 40.}, {-3.8971, 4.5, 40.}, {-3.182, 6.364, 40.}}], Polygon[{{-2.5981, 3., 40.}, {-2.8978, 1.5529, 40.}, {-4.3467, 2.3294, 40.}, {-3.8971, 4.5, 40.}}], Polygon[{{-2.8978, 1.5529, 40.}, {-3., -1.9298*^-15, 40.}, {-4.5, -2.8947*^-15, 40.}, {-4.3467, 2.3294, 40.}}], Polygon[{{-3., -1.9298*^-15, 40.}, {-2.8978, -1.5529, 40.}, {-4.3467, -2.3294, 40.}, {-4.5, -2.8947*^-15, 40.}}], Polygon[{{-2.8978, -1.5529, 40.}, {-2.5981, -3., 40.}, {-3.8971, -4.5, 40.}, {-4.3467, -2.3294, 40.}}], Polygon[{{-2.5981, -3., 40.}, {-2.1213, -4.2426, 40.}, {-3.182, -6.364, 40.}, {-3.8971, -4.5, 40.}}], Polygon[{{-2.1213, -4.2426, 40.}, {-1.5, -5.1962, 40.}, {-2.25, -7.7942, 40.}, {-3.182, -6.364, 40.}}], Polygon[{{-1.5, -5.1962, 40.}, {-0.77646, -5.7956, 40.}, {-1.1647, -8.6933, 40.}, {-2.25, -7.7942, 40.}}], Polygon[{{-0.77646, -5.7956, 40.}, {-5.5107*^-16, -6., 40.}, {-8.2661*^-16, -9., 40.}, {-1.1647, -8.6933, 40.}}], Polygon[{{-5.5107*^-16, -6., 40.}, {0.77646, -5.7956, 40.}, {1.1647, -8.6933, 40.}, {-8.2661*^-16, -9., 40.}}], Polygon[{{0.77646, -5.7956, 40.}, {1.5, -5.1962, 40.}, {2.25, -7.7942, 40.}, {1.1647, -8.6933, 40.}}], Polygon[{{1.5, -5.1962, 40.}, {2.1213, -4.2426, 40.}, {3.182, -6.364, 40.}, {2.25, -7.7942, 40.}}], Polygon[{{2.1213, -4.2426, 40.}, {2.5981, -3., 40.}, {3.8971, -4.5, 40.}, {3.182, -6.364, 40.}}], Polygon[{{2.5981, -3., 40.}, {2.8978, -1.5529, 40.}, {4.3467, -2.3294, 40.}, {3.8971, -4.5, 40.}}], Polygon[{{2.8978, -1.5529, 40.}, {3., -1.2128*^-14, 40.}, {4.5, -1.8192*^-14, 40.}, {4.3467, -2.3294, 40.}}], Polygon[{{4.5, 0., 40.}, {4.3467, 2.3294, 40.}, {5.7956, 3.1058, 40.}, {6., 0., 40.}}], Polygon[{{4.3467, 2.3294, 40.}, {3.8971, 4.5, 40.}, {5.1962, 6., 40.}, {5.7956, 3.1058, 40.}}], Polygon[{{3.8971, 4.5, 40.}, {3.182, 6.364, 40.}, {4.2426, 8.4853, 40.}, {5.1962, 6., 40.}}], Polygon[{{3.182, 6.364, 40.}, {2.25, 7.7942, 40.}, {3., 10.392, 40.}, {4.2426, 8.4853, 40.}}], Polygon[{{2.25, 7.7942, 40.}, {1.1647, 8.6933, 40.}, {1.5529, 11.591, 40.}, {3., 10.392, 40.}}], Polygon[{{1.1647, 8.6933, 40.}, {1.2747*^-15, 9., 40.}, {1.6996*^-15, 12., 40.}, {1.5529, 11.591, 40.}}], Polygon[{{1.2747*^-15, 9., 40.}, {-1.1647, 8.6933, 40.}, {-1.5529, 11.591, 40.}, {1.6996*^-15, 12., 40.}}], Polygon[{{-1.1647, 8.6933, 40.}, {-2.25, 7.7942, 40.}, {-3., 10.392, 40.}, {-1.5529, 11.591, 40.}}], Polygon[{{-2.25, 7.7942, 40.}, {-3.182, 6.364, 40.}, {-4.2426, 8.4853, 40.}, {-3., 10.392, 40.}}], Polygon[{{-3.182, 6.364, 40.}, {-3.8971, 4.5, 40.}, {-5.1962, 6., 40.}, {-4.2426, 8.4853, 40.}}], Polygon[{{-3.8971, 4.5, 40.}, {-4.3467, 2.3294, 40.}, {-5.7956, 3.1058, 40.}, {-5.1962, 6., 40.}}], Polygon[{{-4.3467, 2.3294, 40.}, {-4.5, -2.8947*^-15, 40.}, {-6., -3.8595*^-15, 40.}, {-5.7956, 3.1058, 40.}}], Polygon[{{-4.5, -2.8947*^-15, 40.}, {-4.3467, -2.3294, 40.}, {-5.7956, -3.1058, 40.}, {-6., -3.8595*^-15, 40.}}], Polygon[{{-4.3467, -2.3294, 40.}, {-3.8971, -4.5, 40.}, {-5.1962, -6., 40.}, {-5.7956, -3.1058, 40.}}], Polygon[{{-3.8971, -4.5, 40.}, {-3.182, -6.364, 40.}, {-4.2426, -8.4853, 40.}, {-5.1962, -6., 40.}}], Polygon[{{-3.182, -6.364, 40.}, {-2.25, -7.7942, 40.}, {-3., -10.392, 40.}, {-4.2426, -8.4853, 40.}}], Polygon[{{-2.25, -7.7942, 40.}, {-1.1647, -8.6933, 40.}, {-1.5529, -11.591, 40.}, {-3., -10.392, 40.}}], Polygon[{{-1.1647, -8.6933, 40.}, {-8.2661*^-16, -9., 40.}, {-1.1021*^-15, -12., 40.}, {-1.5529, -11.591, 40.}}], Polygon[{{-8.2661*^-16, -9., 40.}, {1.1647, -8.6933, 40.}, {1.5529, -11.591, 40.}, {-1.1021*^-15, -12., 40.}}], Polygon[{{1.1647, -8.6933, 40.}, {2.25, -7.7942, 40.}, {3., -10.392, 40.}, {1.5529, -11.591, 40.}}], Polygon[{{2.25, -7.7942, 40.}, {3.182, -6.364, 40.}, {4.2426, -8.4853, 40.}, {3., -10.392, 40.}}], Polygon[{{3.182, -6.364, 40.}, {3.8971, -4.5, 40.}, {5.1962, -6., 40.}, {4.2426, -8.4853, 40.}}], Polygon[{{3.8971, -4.5, 40.}, {4.3467, -2.3294, 40.}, {5.7956, -3.1058, 40.}, {5.1962, -6., 40.}}], Polygon[{{4.3467, -2.3294, 40.}, {4.5, -1.8192*^-14, 40.}, {6., -2.4255*^-14, 40.}, {5.7956, -3.1058, 40.}}]}}, {AmbientLight -> GrayLevel[0.15], PlotRange -> Automatic, DisplayFunction :> $DisplayFunction, ColorOutput -> Automatic, Axes -> True, PlotLabel -> None, AxesLabel -> {"x", "y", "z"}, Ticks -> Automatic, Prolog -> {}, Epilog -> {}, AxesStyle -> Automatic, Background -> Automatic, DefaultColor -> Automatic, DefaultFont :> $DefaultFont, AspectRatio -> Automatic, ViewPoint -> {1.3, -2.4, 2.}, Boxed -> True, BoxRatios -> Automatic, Plot3Matrix -> Automatic, Lighting -> True, AmbientLight -> GrayLevel[0.], LightSources -> {{{1., 0., 1.}, RGBColor[1., 0., 0.]}, {{1., 1., 1.}, RGBColor[0., 1., 0.]}, {{0., 1., 1.}, RGBColor[0., 0., 1.]}}, ViewCenter -> Automatic, PlotRegion -> Automatic, ImageSize -> Automatic, TextStyle :> {FontFamily -> "Times", FontSize -> 16.}, FormatType :> $FormatType, ViewVertical -> {0., 0., 1.}, FaceGrids -> None, Shading -> True, RenderAll -> True, PolygonIntersections -> True, AxesEdge -> Automatic, BoxStyle -> Automatic, SphericalRegion -> False}]
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aEllipticalCone.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aEllipticalCone.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aEllipticalCone.txt	(revision 904)
@@ -0,0 +1,1 @@
+Graphics3D[{{Polygon[{{32.5, 0., -25.}, {31.393, 16.823, -25.}, {30.386, 16.284, -22.917}, {31.458, 0., -22.917}}], Polygon[{{31.393, 16.823, -25.}, {28.146, 32.5, -25.}, {27.244, 31.458, -22.917}, {30.386, 16.284, -22.917}}], Polygon[{{28.146, 32.5, -25.}, {22.981, 45.962, -25.}, {22.244, 44.489, -22.917}, {27.244, 31.458, -22.917}}], Polygon[{{22.981, 45.962, -25.}, {16.25, 56.292, -25.}, {15.729, 54.487, -22.917}, {22.244, 44.489, -22.917}}], Polygon[{{16.25, 56.292, -25.}, {8.4116, 62.785, -25.}, {8.142, 60.773, -22.917}, {15.729, 54.487, -22.917}}], Polygon[{{8.4116, 62.785, -25.}, {9.2064*^-15, 65., -25.}, {8.9114*^-15, 62.917, -22.917}, {8.142, 60.773, -22.917}}], Polygon[{{9.2064*^-15, 65., -25.}, {-8.4116, 62.785, -25.}, {-8.142, 60.773, -22.917}, {8.9114*^-15, 62.917, -22.917}}], Polygon[{{-8.4116, 62.785, -25.}, {-16.25, 56.292, -25.}, {-15.729, 54.487, -22.917}, {-8.142, 60.773, -22.917}}], Polygon[{{-16.25, 56.292, -25.}, {-22.981, 45.962, -25.}, {-22.244, 44.489, -22.917}, {-15.729, 54.487, -22.917}}], Polygon[{{-22.981, 45.962, -25.}, {-28.146, 32.5, -25.}, {-27.244, 31.458, -22.917}, {-22.244, 44.489, -22.917}}], Polygon[{{-28.146, 32.5, -25.}, {-31.393, 16.823, -25.}, {-30.386, 16.284, -22.917}, {-27.244, 31.458, -22.917}}], Polygon[{{-31.393, 16.823, -25.}, {-32.5, -2.0906*^-14, -25.}, {-31.458, -2.0236*^-14, -22.917}, {-30.386, 16.284, -22.917}}], Polygon[{{-32.5, -2.0906*^-14, -25.}, {-31.393, -16.823, -25.}, {-30.386, -16.284, -22.917}, {-31.458, -2.0236*^-14, -22.917}}], Polygon[{{-31.393, -16.823, -25.}, {-28.146, -32.5, -25.}, {-27.244, -31.458, -22.917}, {-30.386, -16.284, -22.917}}], Polygon[{{-28.146, -32.5, -25.}, {-22.981, -45.962, -25.}, {-22.244, -44.489, -22.917}, {-27.244, -31.458, -22.917}}], Polygon[{{-22.981, -45.962, -25.}, {-16.25, -56.292, -25.}, {-15.729, -54.487, -22.917}, {-22.244, -44.489, -22.917}}], Polygon[{{-16.25, -56.292, -25.}, {-8.4116, -62.785, -25.}, {-8.142, -60.773, -22.917}, {-15.729, -54.487, -22.917}}], Polygon[{{-8.4116, -62.785, -25.}, {-5.97*^-15, -65., -25.}, {-5.7786*^-15, -62.917, -22.917}, {-8.142, -60.773, -22.917}}], Polygon[{{-5.97*^-15, -65., -25.}, {8.4116, -62.785, -25.}, {8.142, -60.773, -22.917}, {-5.7786*^-15, -62.917, -22.917}}], Polygon[{{8.4116, -62.785, -25.}, {16.25, -56.292, -25.}, {15.729, -54.487, -22.917}, {8.142, -60.773, -22.917}}], Polygon[{{16.25, -56.292, -25.}, {22.981, -45.962, -25.}, {22.244, -44.489, -22.917}, {15.729, -54.487, -22.917}}], Polygon[{{22.981, -45.962, -25.}, {28.146, -32.5, -25.}, {27.244, -31.458, -22.917}, {22.244, -44.489, -22.917}}], Polygon[{{28.146, -32.5, -25.}, {31.393, -16.823, -25.}, {30.386, -16.284, -22.917}, {27.244, -31.458, -22.917}}], Polygon[{{31.393, -16.823, -25.}, {32.5, -1.3138*^-13, -25.}, {31.458, -1.2717*^-13, -22.917}, {30.386, -16.284, -22.917}}], Polygon[{{31.458, 0., -22.917}, {30.386, 16.284, -22.917}, {29.38, 15.745, -20.833}, {30.417, 0., -20.833}}], Polygon[{{30.386, 16.284, -22.917}, {27.244, 31.458, -22.917}, {26.342, 30.417, -20.833}, {29.38, 15.745, -20.833}}], Polygon[{{27.244, 31.458, -22.917}, {22.244, 44.489, -22.917}, {21.508, 43.016, -20.833}, {26.342, 30.417, -20.833}}], Polygon[{{22.244, 44.489, -22.917}, {15.729, 54.487, -22.917}, {15.208, 52.683, -20.833}, {21.508, 43.016, -20.833}}], Polygon[{{15.729, 54.487, -22.917}, {8.142, 60.773, -22.917}, {7.8724, 58.76, -20.833}, {15.208, 52.683, -20.833}}], Polygon[{{8.142, 60.773, -22.917}, {8.9114*^-15, 62.917, -22.917}, {8.6163*^-15, 60.833, -20.833}, {7.8724, 58.76, -20.833}}], Polygon[{{8.9114*^-15, 62.917, -22.917}, {-8.142, 60.773, -22.917}, {-7.8724, 58.76, -20.833}, {8.6163*^-15, 60.833, -20.833}}], Polygon[{{-8.142, 60.773, -22.917}, {-15.729, 54.487, -22.917}, {-15.208, 52.683, -20.833}, {-7.8724, 58.76, -20.833}}], Polygon[{{-15.729, 54.487, -22.917}, {-22.244, 44.489, -22.917}, {-21.508, 43.016, -20.833}, {-15.208, 52.683, -20.833}}], Polygon[{{-22.244, 44.489, -22.917}, {-27.244, 31.458, -22.917}, {-26.342, 30.417, -20.833}, {-21.508, 43.016, -20.833}}], Polygon[{{-27.244, 31.458, -22.917}, {-30.386, 16.284, -22.917}, {-29.38, 15.745, -20.833}, {-26.342, 30.417, -20.833}}], Polygon[{{-30.386, 16.284, -22.917}, {-31.458, -2.0236*^-14, -22.917}, {-30.417, -1.9566*^-14, -20.833}, {-29.38, 15.745, -20.833}}], Polygon[{{-31.458, -2.0236*^-14, -22.917}, {-30.386, -16.284, -22.917}, {-29.38, -15.745, -20.833}, {-30.417, -1.9566*^-14, -20.833}}], Polygon[{{-30.386, -16.284, -22.917}, {-27.244, -31.458, -22.917}, {-26.342, -30.417, -20.833}, {-29.38, -15.745, -20.833}}], Polygon[{{-27.244, -31.458, -22.917}, {-22.244, -44.489, -22.917}, {-21.508, -43.016, -20.833}, {-26.342, -30.417, -20.833}}], Polygon[{{-22.244, -44.489, -22.917}, {-15.729, -54.487, -22.917}, {-15.208, -52.683, -20.833}, {-21.508, -43.016, -20.833}}], Polygon[{{-15.729, -54.487, -22.917}, {-8.142, -60.773, -22.917}, {-7.8724, -58.76, -20.833}, {-15.208, -52.683, -20.833}}], Polygon[{{-8.142, -60.773, -22.917}, {-5.7786*^-15, -62.917, -22.917}, {-5.5873*^-15, -60.833, -20.833}, {-7.8724, -58.76, -20.833}}], Polygon[{{-5.7786*^-15, -62.917, -22.917}, {8.142, -60.773, -22.917}, {7.8724, -58.76, -20.833}, {-5.5873*^-15, -60.833, -20.833}}], Polygon[{{8.142, -60.773, -22.917}, {15.729, -54.487, -22.917}, {15.208, -52.683, -20.833}, {7.8724, -58.76, -20.833}}], Polygon[{{15.729, -54.487, -22.917}, {22.244, -44.489, -22.917}, {21.508, -43.016, -20.833}, {15.208, -52.683, -20.833}}], Polygon[{{22.244, -44.489, -22.917}, {27.244, -31.458, -22.917}, {26.342, -30.417, -20.833}, {21.508, -43.016, -20.833}}], Polygon[{{27.244, -31.458, -22.917}, {30.386, -16.284, -22.917}, {29.38, -15.745, -20.833}, {26.342, -30.417, -20.833}}], Polygon[{{30.386, -16.284, -22.917}, {31.458, -1.2717*^-13, -22.917}, {30.417, -1.2296*^-13, -20.833}, {29.38, -15.745, -20.833}}], Polygon[{{30.417, 0., -20.833}, {29.38, 15.745, -20.833}, {28.374, 15.206, -18.75}, {29.375, 0., -18.75}}], Polygon[{{29.38, 15.745, -20.833}, {26.342, 30.417, -20.833}, {25.439, 29.375, -18.75}, {28.374, 15.206, -18.75}}], Polygon[{{26.342, 30.417, -20.833}, {21.508, 43.016, -20.833}, {20.771, 41.543, -18.75}, {25.439, 29.375, -18.75}}], Polygon[{{21.508, 43.016, -20.833}, {15.208, 52.683, -20.833}, {14.688, 50.879, -18.75}, {20.771, 41.543, -18.75}}], Polygon[{{15.208, 52.683, -20.833}, {7.8724, 58.76, -20.833}, {7.6028, 56.748, -18.75}, {14.688, 50.879, -18.75}}], Polygon[{{7.8724, 58.76, -20.833}, {8.6163*^-15, 60.833, -20.833}, {8.3212*^-15, 58.75, -18.75}, {7.6028, 56.748, -18.75}}], Polygon[{{8.6163*^-15, 60.833, -20.833}, {-7.8724, 58.76, -20.833}, {-7.6028, 56.748, -18.75}, {8.3212*^-15, 58.75, -18.75}}], Polygon[{{-7.8724, 58.76, -20.833}, {-15.208, 52.683, -20.833}, {-14.687, 50.879, -18.75}, {-7.6028, 56.748, -18.75}}], Polygon[{{-15.208, 52.683, -20.833}, {-21.508, 43.016, -20.833}, {-20.771, 41.543, -18.75}, {-14.687, 50.879, -18.75}}], Polygon[{{-21.508, 43.016, -20.833}, {-26.342, 30.417, -20.833}, {-25.439, 29.375, -18.75}, {-20.771, 41.543, -18.75}}], Polygon[{{-26.342, 30.417, -20.833}, {-29.38, 15.745, -20.833}, {-28.374, 15.206, -18.75}, {-25.439, 29.375, -18.75}}], Polygon[{{-29.38, 15.745, -20.833}, {-30.417, -1.9566*^-14, -20.833}, {-29.375, -1.8896*^-14, -18.75}, {-28.374, 15.206, -18.75}}], Polygon[{{-30.417, -1.9566*^-14, -20.833}, {-29.38, -15.745, -20.833}, {-28.374, -15.206, -18.75}, {-29.375, -1.8896*^-14, -18.75}}], Polygon[{{-29.38, -15.745, -20.833}, {-26.342, -30.417, -20.833}, {-25.439, -29.375, -18.75}, {-28.374, -15.206, -18.75}}], Polygon[{{-26.342, -30.417, -20.833}, {-21.508, -43.016, -20.833}, {-20.771, -41.543, -18.75}, {-25.439, -29.375, -18.75}}], Polygon[{{-21.508, -43.016, -20.833}, {-15.208, -52.683, -20.833}, {-14.687, -50.879, -18.75}, {-20.771, -41.543, -18.75}}], Polygon[{{-15.208, -52.683, -20.833}, {-7.8724, -58.76, -20.833}, {-7.6028, -56.748, -18.75}, {-14.687, -50.879, -18.75}}], Polygon[{{-7.8724, -58.76, -20.833}, {-5.5873*^-15, -60.833, -20.833}, {-5.3959*^-15, -58.75, -18.75}, {-7.6028, -56.748, -18.75}}], Polygon[{{-5.5873*^-15, -60.833, -20.833}, {7.8724, -58.76, -20.833}, {7.6028, -56.748, -18.75}, {-5.3959*^-15, -58.75, -18.75}}], Polygon[{{7.8724, -58.76, -20.833}, {15.208, -52.683, -20.833}, {14.687, -50.879, -18.75}, {7.6028, -56.748, -18.75}}], Polygon[{{15.208, -52.683, -20.833}, {21.508, -43.016, -20.833}, {20.771, -41.543, -18.75}, {14.687, -50.879, -18.75}}], Polygon[{{21.508, -43.016, -20.833}, {26.342, -30.417, -20.833}, {25.439, -29.375, -18.75}, {20.771, -41.543, -18.75}}], Polygon[{{26.342, -30.417, -20.833}, {29.38, -15.745, -20.833}, {28.374, -15.206, -18.75}, {25.439, -29.375, -18.75}}], Polygon[{{29.38, -15.745, -20.833}, {30.417, -1.2296*^-13, -20.833}, {29.375, -1.1875*^-13, -18.75}, {28.374, -15.206, -18.75}}], Polygon[{{29.375, 0., -18.75}, {28.374, 15.206, -18.75}, {27.368, 14.666, -16.667}, {28.333, 0., -16.667}}], Polygon[{{28.374, 15.206, -18.75}, {25.439, 29.375, -18.75}, {24.537, 28.333, -16.667}, {27.368, 14.666, -16.667}}], Polygon[{{25.439, 29.375, -18.75}, {20.771, 41.543, -18.75}, {20.035, 40.069, -16.667}, {24.537, 28.333, -16.667}}], Polygon[{{20.771, 41.543, -18.75}, {14.688, 50.879, -18.75}, {14.167, 49.075, -16.667}, {20.035, 40.069, -16.667}}], Polygon[{{14.688, 50.879, -18.75}, {7.6028, 56.748, -18.75}, {7.3332, 54.736, -16.667}, {14.167, 49.075, -16.667}}], Polygon[{{7.6028, 56.748, -18.75}, {8.3212*^-15, 58.75, -18.75}, {8.0261*^-15, 56.667, -16.667}, {7.3332, 54.736, -16.667}}], Polygon[{{8.3212*^-15, 58.75, -18.75}, {-7.6028, 56.748, -18.75}, {-7.3332, 54.736, -16.667}, {8.0261*^-15, 56.667, -16.667}}], Polygon[{{-7.6028, 56.748, -18.75}, {-14.687, 50.879, -18.75}, {-14.167, 49.075, -16.667}, {-7.3332, 54.736, -16.667}}], Polygon[{{-14.687, 50.879, -18.75}, {-20.771, 41.543, -18.75}, {-20.035, 40.069, -16.667}, {-14.167, 49.075, -16.667}}], Polygon[{{-20.771, 41.543, -18.75}, {-25.439, 29.375, -18.75}, {-24.537, 28.333, -16.667}, {-20.035, 40.069, -16.667}}], Polygon[{{-25.439, 29.375, -18.75}, {-28.374, 15.206, -18.75}, {-27.368, 14.666, -16.667}, {-24.537, 28.333, -16.667}}], Polygon[{{-28.374, 15.206, -18.75}, {-29.375, -1.8896*^-14, -18.75}, {-28.333, -1.8226*^-14, -16.667}, {-27.368, 14.666, -16.667}}], Polygon[{{-29.375, -1.8896*^-14, -18.75}, {-28.374, -15.206, -18.75}, {-27.368, -14.666, -16.667}, {-28.333, -1.8226*^-14, -16.667}}], Polygon[{{-28.374, -15.206, -18.75}, {-25.439, -29.375, -18.75}, {-24.537, -28.333, -16.667}, {-27.368, -14.666, -16.667}}], Polygon[{{-25.439, -29.375, -18.75}, {-20.771, -41.543, -18.75}, {-20.035, -40.069, -16.667}, {-24.537, -28.333, -16.667}}], Polygon[{{-20.771, -41.543, -18.75}, {-14.687, -50.879, -18.75}, {-14.167, -49.075, -16.667}, {-20.035, -40.069, -16.667}}], Polygon[{{-14.687, -50.879, -18.75}, {-7.6028, -56.748, -18.75}, {-7.3332, -54.736, -16.667}, {-14.167, -49.075, -16.667}}], Polygon[{{-7.6028, -56.748, -18.75}, {-5.3959*^-15, -58.75, -18.75}, {-5.2046*^-15, -56.667, -16.667}, {-7.3332, -54.736, -16.667}}], Polygon[{{-5.3959*^-15, -58.75, -18.75}, {7.6028, -56.748, -18.75}, {7.3332, -54.736, -16.667}, {-5.2046*^-15, -56.667, -16.667}}], Polygon[{{7.6028, -56.748, -18.75}, {14.687, -50.879, -18.75}, {14.167, -49.075, -16.667}, {7.3332, -54.736, -16.667}}], Polygon[{{14.687, -50.879, -18.75}, {20.771, -41.543, -18.75}, {20.035, -40.069, -16.667}, {14.167, -49.075, -16.667}}], Polygon[{{20.771, -41.543, -18.75}, {25.439, -29.375, -18.75}, {24.537, -28.333, -16.667}, {20.035, -40.069, -16.667}}], Polygon[{{25.439, -29.375, -18.75}, {28.374, -15.206, -18.75}, {27.368, -14.666, -16.667}, {24.537, -28.333, -16.667}}], Polygon[{{28.374, -15.206, -18.75}, {29.375, -1.1875*^-13, -18.75}, {28.333, -1.1454*^-13, -16.667}, {27.368, -14.666, -16.667}}], Polygon[{{28.333, 0., -16.667}, {27.368, 14.666, -16.667}, {26.362, 14.127, -14.583}, {27.292, 0., -14.583}}], Polygon[{{27.368, 14.666, -16.667}, {24.537, 28.333, -16.667}, {23.635, 27.292, -14.583}, {26.362, 14.127, -14.583}}], Polygon[{{24.537, 28.333, -16.667}, {20.035, 40.069, -16.667}, {19.298, 38.596, -14.583}, {23.635, 27.292, -14.583}}], Polygon[{{20.035, 40.069, -16.667}, {14.167, 49.075, -16.667}, {13.646, 47.271, -14.583}, {19.298, 38.596, -14.583}}], Polygon[{{14.167, 49.075, -16.667}, {7.3332, 54.736, -16.667}, {7.0636, 52.723, -14.583}, {13.646, 47.271, -14.583}}], Polygon[{{7.3332, 54.736, -16.667}, {8.0261*^-15, 56.667, -16.667}, {7.731*^-15, 54.583, -14.583}, {7.0636, 52.723, -14.583}}], Polygon[{{8.0261*^-15, 56.667, -16.667}, {-7.3332, 54.736, -16.667}, {-7.0636, 52.723, -14.583}, {7.731*^-15, 54.583, -14.583}}], Polygon[{{-7.3332, 54.736, -16.667}, {-14.167, 49.075, -16.667}, {-13.646, 47.271, -14.583}, {-7.0636, 52.723, -14.583}}], Polygon[{{-14.167, 49.075, -16.667}, {-20.035, 40.069, -16.667}, {-19.298, 38.596, -14.583}, {-13.646, 47.271, -14.583}}], Polygon[{{-20.035, 40.069, -16.667}, {-24.537, 28.333, -16.667}, {-23.635, 27.292, -14.583}, {-19.298, 38.596, -14.583}}], Polygon[{{-24.537, 28.333, -16.667}, {-27.368, 14.666, -16.667}, {-26.362, 14.127, -14.583}, {-23.635, 27.292, -14.583}}], Polygon[{{-27.368, 14.666, -16.667}, {-28.333, -1.8226*^-14, -16.667}, {-27.292, -1.7556*^-14, -14.583}, {-26.362, 14.127, -14.583}}], Polygon[{{-28.333, -1.8226*^-14, -16.667}, {-27.368, -14.666, -16.667}, {-26.362, -14.127, -14.583}, {-27.292, -1.7556*^-14, -14.583}}], Polygon[{{-27.368, -14.666, -16.667}, {-24.537, -28.333, -16.667}, {-23.635, -27.292, -14.583}, {-26.362, -14.127, -14.583}}], Polygon[{{-24.537, -28.333, -16.667}, {-20.035, -40.069, -16.667}, {-19.298, -38.596, -14.583}, {-23.635, -27.292, -14.583}}], Polygon[{{-20.035, -40.069, -16.667}, {-14.167, -49.075, -16.667}, {-13.646, -47.271, -14.583}, {-19.298, -38.596, -14.583}}], Polygon[{{-14.167, -49.075, -16.667}, {-7.3332, -54.736, -16.667}, {-7.0636, -52.723, -14.583}, {-13.646, -47.271, -14.583}}], Polygon[{{-7.3332, -54.736, -16.667}, {-5.2046*^-15, -56.667, -16.667}, {-5.0132*^-15, -54.583, -14.583}, {-7.0636, -52.723, -14.583}}], Polygon[{{-5.2046*^-15, -56.667, -16.667}, {7.3332, -54.736, -16.667}, {7.0636, -52.723, -14.583}, {-5.0132*^-15, -54.583, -14.583}}], Polygon[{{7.3332, -54.736, -16.667}, {14.167, -49.075, -16.667}, {13.646, -47.271, -14.583}, {7.0636, -52.723, -14.583}}], Polygon[{{14.167, -49.075, -16.667}, {20.035, -40.069, -16.667}, {19.298, -38.596, -14.583}, {13.646, -47.271, -14.583}}], Polygon[{{20.035, -40.069, -16.667}, {24.537, -28.333, -16.667}, {23.635, -27.292, -14.583}, {19.298, -38.596, -14.583}}], Polygon[{{24.537, -28.333, -16.667}, {27.368, -14.666, -16.667}, {26.362, -14.127, -14.583}, {23.635, -27.292, -14.583}}], Polygon[{{27.368, -14.666, -16.667}, {28.333, -1.1454*^-13, -16.667}, {27.292, -1.1033*^-13, -14.583}, {26.362, -14.127, -14.583}}], Polygon[{{27.292, 0., -14.583}, {26.362, 14.127, -14.583}, {25.356, 13.588, -12.5}, {26.25, 0., -12.5}}], Polygon[{{26.362, 14.127, -14.583}, {23.635, 27.292, -14.583}, {22.733, 26.25, -12.5}, {25.356, 13.588, -12.5}}], Polygon[{{23.635, 27.292, -14.583}, {19.298, 38.596, -14.583}, {18.562, 37.123, -12.5}, {22.733, 26.25, -12.5}}], Polygon[{{19.298, 38.596, -14.583}, {13.646, 47.271, -14.583}, {13.125, 45.466, -12.5}, {18.562, 37.123, -12.5}}], Polygon[{{13.646, 47.271, -14.583}, {7.0636, 52.723, -14.583}, {6.794, 50.711, -12.5}, {13.125, 45.466, -12.5}}], Polygon[{{7.0636, 52.723, -14.583}, {7.731*^-15, 54.583, -14.583}, {7.436*^-15, 52.5, -12.5}, {6.794, 50.711, -12.5}}], Polygon[{{7.731*^-15, 54.583, -14.583}, {-7.0636, 52.723, -14.583}, {-6.794, 50.711, -12.5}, {7.436*^-15, 52.5, -12.5}}], Polygon[{{-7.0636, 52.723, -14.583}, {-13.646, 47.271, -14.583}, {-13.125, 45.466, -12.5}, {-6.794, 50.711, -12.5}}], Polygon[{{-13.646, 47.271, -14.583}, {-19.298, 38.596, -14.583}, {-18.562, 37.123, -12.5}, {-13.125, 45.466, -12.5}}], Polygon[{{-19.298, 38.596, -14.583}, {-23.635, 27.292, -14.583}, {-22.733, 26.25, -12.5}, {-18.562, 37.123, -12.5}}], Polygon[{{-23.635, 27.292, -14.583}, {-26.362, 14.127, -14.583}, {-25.356, 13.588, -12.5}, {-22.733, 26.25, -12.5}}], Polygon[{{-26.362, 14.127, -14.583}, {-27.292, -1.7556*^-14, -14.583}, {-26.25, -1.6886*^-14, -12.5}, {-25.356, 13.588, -12.5}}], Polygon[{{-27.292, -1.7556*^-14, -14.583}, {-26.362, -14.127, -14.583}, {-25.356, -13.588, -12.5}, {-26.25, -1.6886*^-14, -12.5}}], Polygon[{{-26.362, -14.127, -14.583}, {-23.635, -27.292, -14.583}, {-22.733, -26.25, -12.5}, {-25.356, -13.588, -12.5}}], Polygon[{{-23.635, -27.292, -14.583}, {-19.298, -38.596, -14.583}, {-18.562, -37.123, -12.5}, {-22.733, -26.25, -12.5}}], Polygon[{{-19.298, -38.596, -14.583}, {-13.646, -47.271, -14.583}, {-13.125, -45.466, -12.5}, {-18.562, -37.123, -12.5}}], Polygon[{{-13.646, -47.271, -14.583}, {-7.0636, -52.723, -14.583}, {-6.794, -50.711, -12.5}, {-13.125, -45.466, -12.5}}], Polygon[{{-7.0636, -52.723, -14.583}, {-5.0132*^-15, -54.583, -14.583}, {-4.8219*^-15, -52.5, -12.5}, {-6.794, -50.711, -12.5}}], Polygon[{{-5.0132*^-15, -54.583, -14.583}, {7.0636, -52.723, -14.583}, {6.794, -50.711, -12.5}, {-4.8219*^-15, -52.5, -12.5}}], Polygon[{{7.0636, -52.723, -14.583}, {13.646, -47.271, -14.583}, {13.125, -45.466, -12.5}, {6.794, -50.711, -12.5}}], Polygon[{{13.646, -47.271, -14.583}, {19.298, -38.596, -14.583}, {18.562, -37.123, -12.5}, {13.125, -45.466, -12.5}}], Polygon[{{19.298, -38.596, -14.583}, {23.635, -27.292, -14.583}, {22.733, -26.25, -12.5}, {18.562, -37.123, -12.5}}], Polygon[{{23.635, -27.292, -14.583}, {26.362, -14.127, -14.583}, {25.356, -13.588, -12.5}, {22.733, -26.25, -12.5}}], Polygon[{{26.362, -14.127, -14.583}, {27.292, -1.1033*^-13, -14.583}, {26.25, -1.0612*^-13, -12.5}, {25.356, -13.588, -12.5}}], Polygon[{{26.25, 0., -12.5}, {25.356, 13.588, -12.5}, {24.349, 13.049, -10.417}, {25.208, 0., -10.417}}], Polygon[{{25.356, 13.588, -12.5}, {22.733, 26.25, -12.5}, {21.831, 25.208, -10.417}, {24.349, 13.049, -10.417}}], Polygon[{{22.733, 26.25, -12.5}, {18.562, 37.123, -12.5}, {17.825, 35.65, -10.417}, {21.831, 25.208, -10.417}}], Polygon[{{18.562, 37.123, -12.5}, {13.125, 45.466, -12.5}, {12.604, 43.662, -10.417}, {17.825, 35.65, -10.417}}], Polygon[{{13.125, 45.466, -12.5}, {6.794, 50.711, -12.5}, {6.5244, 48.699, -10.417}, {12.604, 43.662, -10.417}}], Polygon[{{6.794, 50.711, -12.5}, {7.436*^-15, 52.5, -12.5}, {7.1409*^-15, 50.417, -10.417}, {6.5244, 48.699, -10.417}}], Polygon[{{7.436*^-15, 52.5, -12.5}, {-6.794, 50.711, -12.5}, {-6.5244, 48.699, -10.417}, {7.1409*^-15, 50.417, -10.417}}], Polygon[{{-6.794, 50.711, -12.5}, {-13.125, 45.466, -12.5}, {-12.604, 43.662, -10.417}, {-6.5244, 48.699, -10.417}}], Polygon[{{-13.125, 45.466, -12.5}, {-18.562, 37.123, -12.5}, {-17.825, 35.65, -10.417}, {-12.604, 43.662, -10.417}}], Polygon[{{-18.562, 37.123, -12.5}, {-22.733, 26.25, -12.5}, {-21.831, 25.208, -10.417}, {-17.825, 35.65, -10.417}}], Polygon[{{-22.733, 26.25, -12.5}, {-25.356, 13.588, -12.5}, {-24.349, 13.049, -10.417}, {-21.831, 25.208, -10.417}}], Polygon[{{-25.356, 13.588, -12.5}, {-26.25, -1.6886*^-14, -12.5}, {-25.208, -1.6215*^-14, -10.417}, {-24.349, 13.049, -10.417}}], Polygon[{{-26.25, -1.6886*^-14, -12.5}, {-25.356, -13.588, -12.5}, {-24.349, -13.049, -10.417}, {-25.208, -1.6215*^-14, -10.417}}], Polygon[{{-25.356, -13.588, -12.5}, {-22.733, -26.25, -12.5}, {-21.831, -25.208, -10.417}, {-24.349, -13.049, -10.417}}], Polygon[{{-22.733, -26.25, -12.5}, {-18.562, -37.123, -12.5}, {-17.825, -35.65, -10.417}, {-21.831, -25.208, -10.417}}], Polygon[{{-18.562, -37.123, -12.5}, {-13.125, -45.466, -12.5}, {-12.604, -43.662, -10.417}, {-17.825, -35.65, -10.417}}], Polygon[{{-13.125, -45.466, -12.5}, {-6.794, -50.711, -12.5}, {-6.5244, -48.699, -10.417}, {-12.604, -43.662, -10.417}}], Polygon[{{-6.794, -50.711, -12.5}, {-4.8219*^-15, -52.5, -12.5}, {-4.6305*^-15, -50.417, -10.417}, {-6.5244, -48.699, -10.417}}], Polygon[{{-4.8219*^-15, -52.5, -12.5}, {6.794, -50.711, -12.5}, {6.5244, -48.699, -10.417}, {-4.6305*^-15, -50.417, -10.417}}], Polygon[{{6.794, -50.711, -12.5}, {13.125, -45.466, -12.5}, {12.604, -43.662, -10.417}, {6.5244, -48.699, -10.417}}], Polygon[{{13.125, -45.466, -12.5}, {18.562, -37.123, -12.5}, {17.825, -35.65, -10.417}, {12.604, -43.662, -10.417}}], Polygon[{{18.562, -37.123, -12.5}, {22.733, -26.25, -12.5}, {21.831, -25.208, -10.417}, {17.825, -35.65, -10.417}}], Polygon[{{22.733, -26.25, -12.5}, {25.356, -13.588, -12.5}, {24.349, -13.049, -10.417}, {21.831, -25.208, -10.417}}], Polygon[{{25.356, -13.588, -12.5}, {26.25, -1.0612*^-13, -12.5}, {25.208, -1.0191*^-13, -10.417}, {24.349, -13.049, -10.417}}], Polygon[{{25.208, 0., -10.417}, {24.349, 13.049, -10.417}, {23.343, 12.51, -8.3333}, {24.167, 0., -8.3333}}], Polygon[{{24.349, 13.049, -10.417}, {21.831, 25.208, -10.417}, {20.929, 24.167, -8.3333}, {23.343, 12.51, -8.3333}}], Polygon[{{21.831, 25.208, -10.417}, {17.825, 35.65, -10.417}, {17.088, 34.177, -8.3333}, {20.929, 24.167, -8.3333}}], Polygon[{{17.825, 35.65, -10.417}, {12.604, 43.662, -10.417}, {12.083, 41.858, -8.3333}, {17.088, 34.177, -8.3333}}], Polygon[{{12.604, 43.662, -10.417}, {6.5244, 48.699, -10.417}, {6.2548, 46.686, -8.3333}, {12.083, 41.858, -8.3333}}], Polygon[{{6.5244, 48.699, -10.417}, {7.1409*^-15, 50.417, -10.417}, {6.8458*^-15, 48.333, -8.3333}, {6.2548, 46.686, -8.3333}}], Polygon[{{7.1409*^-15, 50.417, -10.417}, {-6.5244, 48.699, -10.417}, {-6.2548, 46.686, -8.3333}, {6.8458*^-15, 48.333, -8.3333}}], Polygon[{{-6.5244, 48.699, -10.417}, {-12.604, 43.662, -10.417}, {-12.083, 41.858, -8.3333}, {-6.2548, 46.686, -8.3333}}], Polygon[{{-12.604, 43.662, -10.417}, {-17.825, 35.65, -10.417}, {-17.088, 34.177, -8.3333}, {-12.083, 41.858, -8.3333}}], Polygon[{{-17.825, 35.65, -10.417}, {-21.831, 25.208, -10.417}, {-20.929, 24.167, -8.3333}, {-17.088, 34.177, -8.3333}}], Polygon[{{-21.831, 25.208, -10.417}, {-24.349, 13.049, -10.417}, {-23.343, 12.51, -8.3333}, {-20.929, 24.167, -8.3333}}], Polygon[{{-24.349, 13.049, -10.417}, {-25.208, -1.6215*^-14, -10.417}, {-24.167, -1.5545*^-14, -8.3333}, {-23.343, 12.51, -8.3333}}], Polygon[{{-25.208, -1.6215*^-14, -10.417}, {-24.349, -13.049, -10.417}, {-23.343, -12.51, -8.3333}, {-24.167, -1.5545*^-14, -8.3333}}], Polygon[{{-24.349, -13.049, -10.417}, {-21.831, -25.208, -10.417}, {-20.929, -24.167, -8.3333}, {-23.343, -12.51, -8.3333}}], Polygon[{{-21.831, -25.208, -10.417}, {-17.825, -35.65, -10.417}, {-17.088, -34.177, -8.3333}, {-20.929, -24.167, -8.3333}}], Polygon[{{-17.825, -35.65, -10.417}, {-12.604, -43.662, -10.417}, {-12.083, -41.858, -8.3333}, {-17.088, -34.177, -8.3333}}], Polygon[{{-12.604, -43.662, -10.417}, {-6.5244, -48.699, -10.417}, {-6.2548, -46.686, -8.3333}, {-12.083, -41.858, -8.3333}}], Polygon[{{-6.5244, -48.699, -10.417}, {-4.6305*^-15, -50.417, -10.417}, {-4.4392*^-15, -48.333, -8.3333}, {-6.2548, -46.686, -8.3333}}], Polygon[{{-4.6305*^-15, -50.417, -10.417}, {6.5244, -48.699, -10.417}, {6.2548, -46.686, -8.3333}, {-4.4392*^-15, -48.333, -8.3333}}], Polygon[{{6.5244, -48.699, -10.417}, {12.604, -43.662, -10.417}, {12.083, -41.858, -8.3333}, {6.2548, -46.686, -8.3333}}], Polygon[{{12.604, -43.662, -10.417}, {17.825, -35.65, -10.417}, {17.088, -34.177, -8.3333}, {12.083, -41.858, -8.3333}}], Polygon[{{17.825, -35.65, -10.417}, {21.831, -25.208, -10.417}, {20.929, -24.167, -8.3333}, {17.088, -34.177, -8.3333}}], Polygon[{{21.831, -25.208, -10.417}, {24.349, -13.049, -10.417}, {23.343, -12.51, -8.3333}, {20.929, -24.167, -8.3333}}], Polygon[{{24.349, -13.049, -10.417}, {25.208, -1.0191*^-13, -10.417}, {24.167, -9.7695*^-14, -8.3333}, {23.343, -12.51, -8.3333}}], Polygon[{{24.167, 0., -8.3333}, {23.343, 12.51, -8.3333}, {22.337, 11.97, -6.25}, {23.125, 0., -6.25}}], Polygon[{{23.343, 12.51, -8.3333}, {20.929, 24.167, -8.3333}, {20.027, 23.125, -6.25}, {22.337, 11.97, -6.25}}], Polygon[{{20.929, 24.167, -8.3333}, {17.088, 34.177, -8.3333}, {16.352, 32.704, -6.25}, {20.027, 23.125, -6.25}}], Polygon[{{17.088, 34.177, -8.3333}, {12.083, 41.858, -8.3333}, {11.563, 40.054, -6.25}, {16.352, 32.704, -6.25}}], Polygon[{{12.083, 41.858, -8.3333}, {6.2548, 46.686, -8.3333}, {5.9852, 44.674, -6.25}, {11.563, 40.054, -6.25}}], Polygon[{{6.2548, 46.686, -8.3333}, {6.8458*^-15, 48.333, -8.3333}, {6.5507*^-15, 46.25, -6.25}, {5.9852, 44.674, -6.25}}], Polygon[{{6.8458*^-15, 48.333, -8.3333}, {-6.2548, 46.686, -8.3333}, {-5.9852, 44.674, -6.25}, {6.5507*^-15, 46.25, -6.25}}], Polygon[{{-6.2548, 46.686, -8.3333}, {-12.083, 41.858, -8.3333}, {-11.563, 40.054, -6.25}, {-5.9852, 44.674, -6.25}}], Polygon[{{-12.083, 41.858, -8.3333}, {-17.088, 34.177, -8.3333}, {-16.352, 32.704, -6.25}, {-11.563, 40.054, -6.25}}], Polygon[{{-17.088, 34.177, -8.3333}, {-20.929, 24.167, -8.3333}, {-20.027, 23.125, -6.25}, {-16.352, 32.704, -6.25}}], Polygon[{{-20.929, 24.167, -8.3333}, {-23.343, 12.51, -8.3333}, {-22.337, 11.97, -6.25}, {-20.027, 23.125, -6.25}}], Polygon[{{-23.343, 12.51, -8.3333}, {-24.167, -1.5545*^-14, -8.3333}, {-23.125, -1.4875*^-14, -6.25}, {-22.337, 11.97, -6.25}}], Polygon[{{-24.167, -1.5545*^-14, -8.3333}, {-23.343, -12.51, -8.3333}, {-22.337, -11.97, -6.25}, {-23.125, -1.4875*^-14, -6.25}}], Polygon[{{-23.343, -12.51, -8.3333}, {-20.929, -24.167, -8.3333}, {-20.027, -23.125, -6.25}, {-22.337, -11.97, -6.25}}], Polygon[{{-20.929, -24.167, -8.3333}, {-17.088, -34.177, -8.3333}, {-16.352, -32.704, -6.25}, {-20.027, -23.125, -6.25}}], Polygon[{{-17.088, -34.177, -8.3333}, {-12.083, -41.858, -8.3333}, {-11.562, -40.054, -6.25}, {-16.352, -32.704, -6.25}}], Polygon[{{-12.083, -41.858, -8.3333}, {-6.2548, -46.686, -8.3333}, {-5.9852, -44.674, -6.25}, {-11.562, -40.054, -6.25}}], Polygon[{{-6.2548, -46.686, -8.3333}, {-4.4392*^-15, -48.333, -8.3333}, {-4.2479*^-15, -46.25, -6.25}, {-5.9852, -44.674, -6.25}}], Polygon[{{-4.4392*^-15, -48.333, -8.3333}, {6.2548, -46.686, -8.3333}, {5.9852, -44.674, -6.25}, {-4.2479*^-15, -46.25, -6.25}}], Polygon[{{6.2548, -46.686, -8.3333}, {12.083, -41.858, -8.3333}, {11.562, -40.054, -6.25}, {5.9852, -44.674, -6.25}}], Polygon[{{12.083, -41.858, -8.3333}, {17.088, -34.177, -8.3333}, {16.352, -32.704, -6.25}, {11.562, -40.054, -6.25}}], Polygon[{{17.088, -34.177, -8.3333}, {20.929, -24.167, -8.3333}, {20.027, -23.125, -6.25}, {16.352, -32.704, -6.25}}], Polygon[{{20.929, -24.167, -8.3333}, {23.343, -12.51, -8.3333}, {22.337, -11.97, -6.25}, {20.027, -23.125, -6.25}}], Polygon[{{23.343, -12.51, -8.3333}, {24.167, -9.7695*^-14, -8.3333}, {23.125, -9.3484*^-14, -6.25}, {22.337, -11.97, -6.25}}], Polygon[{{23.125, 0., -6.25}, {22.337, 11.97, -6.25}, {21.331, 11.431, -4.1667}, {22.083, 0., -4.1667}}], Polygon[{{22.337, 11.97, -6.25}, {20.027, 23.125, -6.25}, {19.125, 22.083, -4.1667}, {21.331, 11.431, -4.1667}}], Polygon[{{20.027, 23.125, -6.25}, {16.352, 32.704, -6.25}, {15.615, 31.231, -4.1667}, {19.125, 22.083, -4.1667}}], Polygon[{{16.352, 32.704, -6.25}, {11.563, 40.054, -6.25}, {11.042, 38.249, -4.1667}, {15.615, 31.231, -4.1667}}], Polygon[{{11.563, 40.054, -6.25}, {5.9852, 44.674, -6.25}, {5.7156, 42.662, -4.1667}, {11.042, 38.249, -4.1667}}], Polygon[{{5.9852, 44.674, -6.25}, {6.5507*^-15, 46.25, -6.25}, {6.2557*^-15, 44.167, -4.1667}, {5.7156, 42.662, -4.1667}}], Polygon[{{6.5507*^-15, 46.25, -6.25}, {-5.9852, 44.674, -6.25}, {-5.7156, 42.662, -4.1667}, {6.2557*^-15, 44.167, -4.1667}}], Polygon[{{-5.9852, 44.674, -6.25}, {-11.563, 40.054, -6.25}, {-11.042, 38.249, -4.1667}, {-5.7156, 42.662, -4.1667}}], Polygon[{{-11.563, 40.054, -6.25}, {-16.352, 32.704, -6.25}, {-15.615, 31.231, -4.1667}, {-11.042, 38.249, -4.1667}}], Polygon[{{-16.352, 32.704, -6.25}, {-20.027, 23.125, -6.25}, {-19.125, 22.083, -4.1667}, {-15.615, 31.231, -4.1667}}], Polygon[{{-20.027, 23.125, -6.25}, {-22.337, 11.97, -6.25}, {-21.331, 11.431, -4.1667}, {-19.125, 22.083, -4.1667}}], Polygon[{{-22.337, 11.97, -6.25}, {-23.125, -1.4875*^-14, -6.25}, {-22.083, -1.4205*^-14, -4.1667}, {-21.331, 11.431, -4.1667}}], Polygon[{{-23.125, -1.4875*^-14, -6.25}, {-22.337, -11.97, -6.25}, {-21.331, -11.431, -4.1667}, {-22.083, -1.4205*^-14, -4.1667}}], Polygon[{{-22.337, -11.97, -6.25}, {-20.027, -23.125, -6.25}, {-19.125, -22.083, -4.1667}, {-21.331, -11.431, -4.1667}}], Polygon[{{-20.027, -23.125, -6.25}, {-16.352, -32.704, -6.25}, {-15.615, -31.231, -4.1667}, {-19.125, -22.083, -4.1667}}], Polygon[{{-16.352, -32.704, -6.25}, {-11.562, -40.054, -6.25}, {-11.042, -38.249, -4.1667}, {-15.615, -31.231, -4.1667}}], Polygon[{{-11.562, -40.054, -6.25}, {-5.9852, -44.674, -6.25}, {-5.7156, -42.662, -4.1667}, {-11.042, -38.249, -4.1667}}], Polygon[{{-5.9852, -44.674, -6.25}, {-4.2479*^-15, -46.25, -6.25}, {-4.0565*^-15, -44.167, -4.1667}, {-5.7156, -42.662, -4.1667}}], Polygon[{{-4.2479*^-15, -46.25, -6.25}, {5.9852, -44.674, -6.25}, {5.7156, -42.662, -4.1667}, {-4.0565*^-15, -44.167, -4.1667}}], Polygon[{{5.9852, -44.674, -6.25}, {11.562, -40.054, -6.25}, {11.042, -38.249, -4.1667}, {5.7156, -42.662, -4.1667}}], Polygon[{{11.562, -40.054, -6.25}, {16.352, -32.704, -6.25}, {15.615, -31.231, -4.1667}, {11.042, -38.249, -4.1667}}], Polygon[{{16.352, -32.704, -6.25}, {20.027, -23.125, -6.25}, {19.125, -22.083, -4.1667}, {15.615, -31.231, -4.1667}}], Polygon[{{20.027, -23.125, -6.25}, {22.337, -11.97, -6.25}, {21.331, -11.431, -4.1667}, {19.125, -22.083, -4.1667}}], Polygon[{{22.337, -11.97, -6.25}, {23.125, -9.3484*^-14, -6.25}, {22.083, -8.9273*^-14, -4.1667}, {21.331, -11.431, -4.1667}}], Polygon[{{22.083, 0., -4.1667}, {21.331, 11.431, -4.1667}, {20.325, 10.892, -2.0833}, {21.042, 0., -2.0833}}], Polygon[{{21.331, 11.431, -4.1667}, {19.125, 22.083, -4.1667}, {18.223, 21.042, -2.0833}, {20.325, 10.892, -2.0833}}], Polygon[{{19.125, 22.083, -4.1667}, {15.615, 31.231, -4.1667}, {14.879, 29.757, -2.0833}, {18.223, 21.042, -2.0833}}], Polygon[{{15.615, 31.231, -4.1667}, {11.042, 38.249, -4.1667}, {10.521, 36.445, -2.0833}, {14.879, 29.757, -2.0833}}], Polygon[{{11.042, 38.249, -4.1667}, {5.7156, 42.662, -4.1667}, {5.446, 40.649, -2.0833}, {10.521, 36.445, -2.0833}}], Polygon[{{5.7156, 42.662, -4.1667}, {6.2557*^-15, 44.167, -4.1667}, {5.9606*^-15, 42.083, -2.0833}, {5.446, 40.649, -2.0833}}], Polygon[{{6.2557*^-15, 44.167, -4.1667}, {-5.7156, 42.662, -4.1667}, {-5.446, 40.649, -2.0833}, {5.9606*^-15, 42.083, -2.0833}}], Polygon[{{-5.7156, 42.662, -4.1667}, {-11.042, 38.249, -4.1667}, {-10.521, 36.445, -2.0833}, {-5.446, 40.649, -2.0833}}], Polygon[{{-11.042, 38.249, -4.1667}, {-15.615, 31.231, -4.1667}, {-14.879, 29.757, -2.0833}, {-10.521, 36.445, -2.0833}}], Polygon[{{-15.615, 31.231, -4.1667}, {-19.125, 22.083, -4.1667}, {-18.223, 21.042, -2.0833}, {-14.879, 29.757, -2.0833}}], Polygon[{{-19.125, 22.083, -4.1667}, {-21.331, 11.431, -4.1667}, {-20.325, 10.892, -2.0833}, {-18.223, 21.042, -2.0833}}], Polygon[{{-21.331, 11.431, -4.1667}, {-22.083, -1.4205*^-14, -4.1667}, {-21.042, -1.3535*^-14, -2.0833}, {-20.325, 10.892, -2.0833}}], Polygon[{{-22.083, -1.4205*^-14, -4.1667}, {-21.331, -11.431, -4.1667}, {-20.325, -10.892, -2.0833}, {-21.042, -1.3535*^-14, -2.0833}}], Polygon[{{-21.331, -11.431, -4.1667}, {-19.125, -22.083, -4.1667}, {-18.223, -21.042, -2.0833}, {-20.325, -10.892, -2.0833}}], Polygon[{{-19.125, -22.083, -4.1667}, {-15.615, -31.231, -4.1667}, {-14.879, -29.757, -2.0833}, {-18.223, -21.042, -2.0833}}], Polygon[{{-15.615, -31.231, -4.1667}, {-11.042, -38.249, -4.1667}, {-10.521, -36.445, -2.0833}, {-14.879, -29.757, -2.0833}}], Polygon[{{-11.042, -38.249, -4.1667}, {-5.7156, -42.662, -4.1667}, {-5.446, -40.649, -2.0833}, {-10.521, -36.445, -2.0833}}], Polygon[{{-5.7156, -42.662, -4.1667}, {-4.0565*^-15, -44.167, -4.1667}, {-3.8652*^-15, -42.083, -2.0833}, {-5.446, -40.649, -2.0833}}], Polygon[{{-4.0565*^-15, -44.167, -4.1667}, {5.7156, -42.662, -4.1667}, {5.446, -40.649, -2.0833}, {-3.8652*^-15, -42.083, -2.0833}}], Polygon[{{5.7156, -42.662, -4.1667}, {11.042, -38.249, -4.1667}, {10.521, -36.445, -2.0833}, {5.446, -40.649, -2.0833}}], Polygon[{{11.042, -38.249, -4.1667}, {15.615, -31.231, -4.1667}, {14.879, -29.757, -2.0833}, {10.521, -36.445, -2.0833}}], Polygon[{{15.615, -31.231, -4.1667}, {19.125, -22.083, -4.1667}, {18.223, -21.042, -2.0833}, {14.879, -29.757, -2.0833}}], Polygon[{{19.125, -22.083, -4.1667}, {21.331, -11.431, -4.1667}, {20.325, -10.892, -2.0833}, {18.223, -21.042, -2.0833}}], Polygon[{{21.331, -11.431, -4.1667}, {22.083, -8.9273*^-14, -4.1667}, {21.042, -8.5062*^-14, -2.0833}, {20.325, -10.892, -2.0833}}], Polygon[{{21.042, 0., -2.0833}, {20.325, 10.892, -2.0833}, {19.319, 10.353, -8.8818*^-16}, {20., 0., -8.8818*^-16}}], Polygon[{{20.325, 10.892, -2.0833}, {18.223, 21.042, -2.0833}, {17.321, 20., -8.8818*^-16}, {19.319, 10.353, -8.8818*^-16}}], Polygon[{{18.223, 21.042, -2.0833}, {14.879, 29.757, -2.0833}, {14.142, 28.284, -8.8818*^-16}, {17.321, 20., -8.8818*^-16}}], Polygon[{{14.879, 29.757, -2.0833}, {10.521, 36.445, -2.0833}, {10., 34.641, -8.8818*^-16}, {14.142, 28.284, -8.8818*^-16}}], Polygon[{{10.521, 36.445, -2.0833}, {5.446, 40.649, -2.0833}, {5.1764, 38.637, -8.8818*^-16}, {10., 34.641, -8.8818*^-16}}], Polygon[{{5.446, 40.649, -2.0833}, {5.9606*^-15, 42.083, -2.0833}, {5.6655*^-15, 40., -8.8818*^-16}, {5.1764, 38.637, -8.8818*^-16}}], Polygon[{{5.9606*^-15, 42.083, -2.0833}, {-5.446, 40.649, -2.0833}, {-5.1764, 38.637, -8.8818*^-16}, {5.6655*^-15, 40., -8.8818*^-16}}], Polygon[{{-5.446, 40.649, -2.0833}, {-10.521, 36.445, -2.0833}, {-10., 34.641, -8.8818*^-16}, {-5.1764, 38.637, -8.8818*^-16}}], Polygon[{{-10.521, 36.445, -2.0833}, {-14.879, 29.757, -2.0833}, {-14.142, 28.284, -8.8818*^-16}, {-10., 34.641, -8.8818*^-16}}], Polygon[{{-14.879, 29.757, -2.0833}, {-18.223, 21.042, -2.0833}, {-17.321, 20., -8.8818*^-16}, {-14.142, 28.284, -8.8818*^-16}}], Polygon[{{-18.223, 21.042, -2.0833}, {-20.325, 10.892, -2.0833}, {-19.319, 10.353, -8.8818*^-16}, {-17.321, 20., -8.8818*^-16}}], Polygon[{{-20.325, 10.892, -2.0833}, {-21.042, -1.3535*^-14, -2.0833}, {-20., -1.2865*^-14, -8.8818*^-16}, {-19.319, 10.353, -8.8818*^-16}}], Polygon[{{-21.042, -1.3535*^-14, -2.0833}, {-20.325, -10.892, -2.0833}, {-19.319, -10.353, -8.8818*^-16}, {-20., -1.2865*^-14, -8.8818*^-16}}], Polygon[{{-20.325, -10.892, -2.0833}, {-18.223, -21.042, -2.0833}, {-17.321, -20., -8.8818*^-16}, {-19.319, -10.353, -8.8818*^-16}}], Polygon[{{-18.223, -21.042, -2.0833}, {-14.879, -29.757, -2.0833}, {-14.142, -28.284, -8.8818*^-16}, {-17.321, -20., -8.8818*^-16}}], Polygon[{{-14.879, -29.757, -2.0833}, {-10.521, -36.445, -2.0833}, {-10., -34.641, -8.8818*^-16}, {-14.142, -28.284, -8.8818*^-16}}], Polygon[{{-10.521, -36.445, -2.0833}, {-5.446, -40.649, -2.0833}, {-5.1764, -38.637, -8.8818*^-16}, {-10., -34.641, -8.8818*^-16}}], Polygon[{{-5.446, -40.649, -2.0833}, {-3.8652*^-15, -42.083, -2.0833}, {-3.6738*^-15, -40., -8.8818*^-16}, {-5.1764, -38.637, -8.8818*^-16}}], Polygon[{{-3.8652*^-15, -42.083, -2.0833}, {5.446, -40.649, -2.0833}, {5.1764, -38.637, -8.8818*^-16}, {-3.6738*^-15, -40., -8.8818*^-16}}], Polygon[{{5.446, -40.649, -2.0833}, {10.521, -36.445, -2.0833}, {10., -34.641, -8.8818*^-16}, {5.1764, -38.637, -8.8818*^-16}}], Polygon[{{10.521, -36.445, -2.0833}, {14.879, -29.757, -2.0833}, {14.142, -28.284, -8.8818*^-16}, {10., -34.641, -8.8818*^-16}}], Polygon[{{14.879, -29.757, -2.0833}, {18.223, -21.042, -2.0833}, {17.321, -20., -8.8818*^-16}, {14.142, -28.284, -8.8818*^-16}}], Polygon[{{18.223, -21.042, -2.0833}, {20.325, -10.892, -2.0833}, {19.319, -10.353, -8.8818*^-16}, {17.321, -20., -8.8818*^-16}}], Polygon[{{20.325, -10.892, -2.0833}, {21.042, -8.5062*^-14, -2.0833}, {20., -8.0851*^-14, -8.8818*^-16}, {19.319, -10.353, -8.8818*^-16}}], Polygon[{{20., 0., -8.8818*^-16}, {19.319, 10.353, -8.8818*^-16}, {18.312, 9.8136, 2.0833}, {18.958, 0., 2.0833}}], Polygon[{{19.319, 10.353, -8.8818*^-16}, {17.321, 20., -8.8818*^-16}, {16.418, 18.958, 2.0833}, {18.312, 9.8136, 2.0833}}], Polygon[{{17.321, 20., -8.8818*^-16}, {14.142, 28.284, -8.8818*^-16}, {13.406, 26.811, 2.0833}, {16.418, 18.958, 2.0833}}], Polygon[{{14.142, 28.284, -8.8818*^-16}, {10., 34.641, -8.8818*^-16}, {9.4792, 32.837, 2.0833}, {13.406, 26.811, 2.0833}}], Polygon[{{10., 34.641, -8.8818*^-16}, {5.1764, 38.637, -8.8818*^-16}, {4.9068, 36.625, 2.0833}, {9.4792, 32.837, 2.0833}}], Polygon[{{5.1764, 38.637, -8.8818*^-16}, {5.6655*^-15, 40., -8.8818*^-16}, {5.3704*^-15, 37.917, 2.0833}, {4.9068, 36.625, 2.0833}}], Polygon[{{5.6655*^-15, 40., -8.8818*^-16}, {-5.1764, 38.637, -8.8818*^-16}, {-4.9068, 36.625, 2.0833}, {5.3704*^-15, 37.917, 2.0833}}], Polygon[{{-5.1764, 38.637, -8.8818*^-16}, {-10., 34.641, -8.8818*^-16}, {-9.4792, 32.837, 2.0833}, {-4.9068, 36.625, 2.0833}}], Polygon[{{-10., 34.641, -8.8818*^-16}, {-14.142, 28.284, -8.8818*^-16}, {-13.406, 26.811, 2.0833}, {-9.4792, 32.837, 2.0833}}], Polygon[{{-14.142, 28.284, -8.8818*^-16}, {-17.321, 20., -8.8818*^-16}, {-16.418, 18.958, 2.0833}, {-13.406, 26.811, 2.0833}}], Polygon[{{-17.321, 20., -8.8818*^-16}, {-19.319, 10.353, -8.8818*^-16}, {-18.312, 9.8136, 2.0833}, {-16.418, 18.958, 2.0833}}], Polygon[{{-19.319, 10.353, -8.8818*^-16}, {-20., -1.2865*^-14, -8.8818*^-16}, {-18.958, -1.2195*^-14, 2.0833}, {-18.312, 9.8136, 2.0833}}], Polygon[{{-20., -1.2865*^-14, -8.8818*^-16}, {-19.319, -10.353, -8.8818*^-16}, {-18.312, -9.8136, 2.0833}, {-18.958, -1.2195*^-14, 2.0833}}], Polygon[{{-19.319, -10.353, -8.8818*^-16}, {-17.321, -20., -8.8818*^-16}, {-16.418, -18.958, 2.0833}, {-18.312, -9.8136, 2.0833}}], Polygon[{{-17.321, -20., -8.8818*^-16}, {-14.142, -28.284, -8.8818*^-16}, {-13.406, -26.811, 2.0833}, {-16.418, -18.958, 2.0833}}], Polygon[{{-14.142, -28.284, -8.8818*^-16}, {-10., -34.641, -8.8818*^-16}, {-9.4792, -32.837, 2.0833}, {-13.406, -26.811, 2.0833}}], Polygon[{{-10., -34.641, -8.8818*^-16}, {-5.1764, -38.637, -8.8818*^-16}, {-4.9068, -36.625, 2.0833}, {-9.4792, -32.837, 2.0833}}], Polygon[{{-5.1764, -38.637, -8.8818*^-16}, {-3.6738*^-15, -40., -8.8818*^-16}, {-3.4825*^-15, -37.917, 2.0833}, {-4.9068, -36.625, 2.0833}}], Polygon[{{-3.6738*^-15, -40., -8.8818*^-16}, {5.1764, -38.637, -8.8818*^-16}, {4.9068, -36.625, 2.0833}, {-3.4825*^-15, -37.917, 2.0833}}], Polygon[{{5.1764, -38.637, -8.8818*^-16}, {10., -34.641, -8.8818*^-16}, {9.4792, -32.837, 2.0833}, {4.9068, -36.625, 2.0833}}], Polygon[{{10., -34.641, -8.8818*^-16}, {14.142, -28.284, -8.8818*^-16}, {13.406, -26.811, 2.0833}, {9.4792, -32.837, 2.0833}}], Polygon[{{14.142, -28.284, -8.8818*^-16}, {17.321, -20., -8.8818*^-16}, {16.418, -18.958, 2.0833}, {13.406, -26.811, 2.0833}}], Polygon[{{17.321, -20., -8.8818*^-16}, {19.319, -10.353, -8.8818*^-16}, {18.312, -9.8136, 2.0833}, {16.418, -18.958, 2.0833}}], Polygon[{{19.319, -10.353, -8.8818*^-16}, {20., -8.0851*^-14, -8.8818*^-16}, {18.958, -7.664*^-14, 2.0833}, {18.312, -9.8136, 2.0833}}], Polygon[{{18.958, 0., 2.0833}, {18.312, 9.8136, 2.0833}, {17.306, 9.2743, 4.1667}, {17.917, 0., 4.1667}}], Polygon[{{18.312, 9.8136, 2.0833}, {16.418, 18.958, 2.0833}, {15.516, 17.917, 4.1667}, {17.306, 9.2743, 4.1667}}], Polygon[{{16.418, 18.958, 2.0833}, {13.406, 26.811, 2.0833}, {12.669, 25.338, 4.1667}, {15.516, 17.917, 4.1667}}], Polygon[{{13.406, 26.811, 2.0833}, {9.4792, 32.837, 2.0833}, {8.9583, 31.033, 4.1667}, {12.669, 25.338, 4.1667}}], Polygon[{{9.4792, 32.837, 2.0833}, {4.9068, 36.625, 2.0833}, {4.6372, 34.612, 4.1667}, {8.9583, 31.033, 4.1667}}], Polygon[{{4.9068, 36.625, 2.0833}, {5.3704*^-15, 37.917, 2.0833}, {5.0753*^-15, 35.833, 4.1667}, {4.6372, 34.612, 4.1667}}], Polygon[{{5.3704*^-15, 37.917, 2.0833}, {-4.9068, 36.625, 2.0833}, {-4.6372, 34.612, 4.1667}, {5.0753*^-15, 35.833, 4.1667}}], Polygon[{{-4.9068, 36.625, 2.0833}, {-9.4792, 32.837, 2.0833}, {-8.9583, 31.033, 4.1667}, {-4.6372, 34.612, 4.1667}}], Polygon[{{-9.4792, 32.837, 2.0833}, {-13.406, 26.811, 2.0833}, {-12.669, 25.338, 4.1667}, {-8.9583, 31.033, 4.1667}}], Polygon[{{-13.406, 26.811, 2.0833}, {-16.418, 18.958, 2.0833}, {-15.516, 17.917, 4.1667}, {-12.669, 25.338, 4.1667}}], Polygon[{{-16.418, 18.958, 2.0833}, {-18.312, 9.8136, 2.0833}, {-17.306, 9.2743, 4.1667}, {-15.516, 17.917, 4.1667}}], Polygon[{{-18.312, 9.8136, 2.0833}, {-18.958, -1.2195*^-14, 2.0833}, {-17.917, -1.1525*^-14, 4.1667}, {-17.306, 9.2743, 4.1667}}], Polygon[{{-18.958, -1.2195*^-14, 2.0833}, {-18.312, -9.8136, 2.0833}, {-17.306, -9.2743, 4.1667}, {-17.917, -1.1525*^-14, 4.1667}}], Polygon[{{-18.312, -9.8136, 2.0833}, {-16.418, -18.958, 2.0833}, {-15.516, -17.917, 4.1667}, {-17.306, -9.2743, 4.1667}}], Polygon[{{-16.418, -18.958, 2.0833}, {-13.406, -26.811, 2.0833}, {-12.669, -25.338, 4.1667}, {-15.516, -17.917, 4.1667}}], Polygon[{{-13.406, -26.811, 2.0833}, {-9.4792, -32.837, 2.0833}, {-8.9583, -31.033, 4.1667}, {-12.669, -25.338, 4.1667}}], Polygon[{{-9.4792, -32.837, 2.0833}, {-4.9068, -36.625, 2.0833}, {-4.6372, -34.612, 4.1667}, {-8.9583, -31.033, 4.1667}}], Polygon[{{-4.9068, -36.625, 2.0833}, {-3.4825*^-15, -37.917, 2.0833}, {-3.2911*^-15, -35.833, 4.1667}, {-4.6372, -34.612, 4.1667}}], Polygon[{{-3.4825*^-15, -37.917, 2.0833}, {4.9068, -36.625, 2.0833}, {4.6372, -34.612, 4.1667}, {-3.2911*^-15, -35.833, 4.1667}}], Polygon[{{4.9068, -36.625, 2.0833}, {9.4792, -32.837, 2.0833}, {8.9583, -31.033, 4.1667}, {4.6372, -34.612, 4.1667}}], Polygon[{{9.4792, -32.837, 2.0833}, {13.406, -26.811, 2.0833}, {12.669, -25.338, 4.1667}, {8.9583, -31.033, 4.1667}}], Polygon[{{13.406, -26.811, 2.0833}, {16.418, -18.958, 2.0833}, {15.516, -17.917, 4.1667}, {12.669, -25.338, 4.1667}}], Polygon[{{16.418, -18.958, 2.0833}, {18.312, -9.8136, 2.0833}, {17.306, -9.2743, 4.1667}, {15.516, -17.917, 4.1667}}], Polygon[{{18.312, -9.8136, 2.0833}, {18.958, -7.664*^-14, 2.0833}, {17.917, -7.2429*^-14, 4.1667}, {17.306, -9.2743, 4.1667}}], Polygon[{{17.917, 0., 4.1667}, {17.306, 9.2743, 4.1667}, {16.3, 8.7351, 6.25}, {16.875, 0., 6.25}}], Polygon[{{17.306, 9.2743, 4.1667}, {15.516, 17.917, 4.1667}, {14.614, 16.875, 6.25}, {16.3, 8.7351, 6.25}}], Polygon[{{15.516, 17.917, 4.1667}, {12.669, 25.338, 4.1667}, {11.932, 23.865, 6.25}, {14.614, 16.875, 6.25}}], Polygon[{{12.669, 25.338, 4.1667}, {8.9583, 31.033, 4.1667}, {8.4375, 29.228, 6.25}, {11.932, 23.865, 6.25}}], Polygon[{{8.9583, 31.033, 4.1667}, {4.6372, 34.612, 4.1667}, {4.3676, 32.6, 6.25}, {8.4375, 29.228, 6.25}}], Polygon[{{4.6372, 34.612, 4.1667}, {5.0753*^-15, 35.833, 4.1667}, {4.7803*^-15, 33.75, 6.25}, {4.3676, 32.6, 6.25}}], Polygon[{{5.0753*^-15, 35.833, 4.1667}, {-4.6372, 34.612, 4.1667}, {-4.3676, 32.6, 6.25}, {4.7803*^-15, 33.75, 6.25}}], Polygon[{{-4.6372, 34.612, 4.1667}, {-8.9583, 31.033, 4.1667}, {-8.4375, 29.228, 6.25}, {-4.3676, 32.6, 6.25}}], Polygon[{{-8.9583, 31.033, 4.1667}, {-12.669, 25.338, 4.1667}, {-11.932, 23.865, 6.25}, {-8.4375, 29.228, 6.25}}], Polygon[{{-12.669, 25.338, 4.1667}, {-15.516, 17.917, 4.1667}, {-14.614, 16.875, 6.25}, {-11.932, 23.865, 6.25}}], Polygon[{{-15.516, 17.917, 4.1667}, {-17.306, 9.2743, 4.1667}, {-16.3, 8.7351, 6.25}, {-14.614, 16.875, 6.25}}], Polygon[{{-17.306, 9.2743, 4.1667}, {-17.917, -1.1525*^-14, 4.1667}, {-16.875, -1.0855*^-14, 6.25}, {-16.3, 8.7351, 6.25}}], Polygon[{{-17.917, -1.1525*^-14, 4.1667}, {-17.306, -9.2743, 4.1667}, {-16.3, -8.7351, 6.25}, {-16.875, -1.0855*^-14, 6.25}}], Polygon[{{-17.306, -9.2743, 4.1667}, {-15.516, -17.917, 4.1667}, {-14.614, -16.875, 6.25}, {-16.3, -8.7351, 6.25}}], Polygon[{{-15.516, -17.917, 4.1667}, {-12.669, -25.338, 4.1667}, {-11.932, -23.865, 6.25}, {-14.614, -16.875, 6.25}}], Polygon[{{-12.669, -25.338, 4.1667}, {-8.9583, -31.033, 4.1667}, {-8.4375, -29.228, 6.25}, {-11.932, -23.865, 6.25}}], Polygon[{{-8.9583, -31.033, 4.1667}, {-4.6372, -34.612, 4.1667}, {-4.3676, -32.6, 6.25}, {-8.4375, -29.228, 6.25}}], Polygon[{{-4.6372, -34.612, 4.1667}, {-3.2911*^-15, -35.833, 4.1667}, {-3.0998*^-15, -33.75, 6.25}, {-4.3676, -32.6, 6.25}}], Polygon[{{-3.2911*^-15, -35.833, 4.1667}, {4.6372, -34.612, 4.1667}, {4.3676, -32.6, 6.25}, {-3.0998*^-15, -33.75, 6.25}}], Polygon[{{4.6372, -34.612, 4.1667}, {8.9583, -31.033, 4.1667}, {8.4375, -29.228, 6.25}, {4.3676, -32.6, 6.25}}], Polygon[{{8.9583, -31.033, 4.1667}, {12.669, -25.338, 4.1667}, {11.932, -23.865, 6.25}, {8.4375, -29.228, 6.25}}], Polygon[{{12.669, -25.338, 4.1667}, {15.516, -17.917, 4.1667}, {14.614, -16.875, 6.25}, {11.932, -23.865, 6.25}}], Polygon[{{15.516, -17.917, 4.1667}, {17.306, -9.2743, 4.1667}, {16.3, -8.7351, 6.25}, {14.614, -16.875, 6.25}}], Polygon[{{17.306, -9.2743, 4.1667}, {17.917, -7.2429*^-14, 4.1667}, {16.875, -6.8218*^-14, 6.25}, {16.3, -8.7351, 6.25}}], Polygon[{{16.875, 0., 6.25}, {16.3, 8.7351, 6.25}, {15.294, 8.1959, 8.3333}, {15.833, 0., 8.3333}}], Polygon[{{16.3, 8.7351, 6.25}, {14.614, 16.875, 6.25}, {13.712, 15.833, 8.3333}, {15.294, 8.1959, 8.3333}}], Polygon[{{14.614, 16.875, 6.25}, {11.932, 23.865, 6.25}, {11.196, 22.392, 8.3333}, {13.712, 15.833, 8.3333}}], Polygon[{{11.932, 23.865, 6.25}, {8.4375, 29.228, 6.25}, {7.9167, 27.424, 8.3333}, {11.196, 22.392, 8.3333}}], Polygon[{{8.4375, 29.228, 6.25}, {4.3676, 32.6, 6.25}, {4.098, 30.588, 8.3333}, {7.9167, 27.424, 8.3333}}], Polygon[{{4.3676, 32.6, 6.25}, {4.7803*^-15, 33.75, 6.25}, {4.4852*^-15, 31.667, 8.3333}, {4.098, 30.588, 8.3333}}], Polygon[{{4.7803*^-15, 33.75, 6.25}, {-4.3676, 32.6, 6.25}, {-4.098, 30.588, 8.3333}, {4.4852*^-15, 31.667, 8.3333}}], Polygon[{{-4.3676, 32.6, 6.25}, {-8.4375, 29.228, 6.25}, {-7.9167, 27.424, 8.3333}, {-4.098, 30.588, 8.3333}}], Polygon[{{-8.4375, 29.228, 6.25}, {-11.932, 23.865, 6.25}, {-11.196, 22.392, 8.3333}, {-7.9167, 27.424, 8.3333}}], Polygon[{{-11.932, 23.865, 6.25}, {-14.614, 16.875, 6.25}, {-13.712, 15.833, 8.3333}, {-11.196, 22.392, 8.3333}}], Polygon[{{-14.614, 16.875, 6.25}, {-16.3, 8.7351, 6.25}, {-15.294, 8.1959, 8.3333}, {-13.712, 15.833, 8.3333}}], Polygon[{{-16.3, 8.7351, 6.25}, {-16.875, -1.0855*^-14, 6.25}, {-15.833, -1.0185*^-14, 8.3333}, {-15.294, 8.1959, 8.3333}}], Polygon[{{-16.875, -1.0855*^-14, 6.25}, {-16.3, -8.7351, 6.25}, {-15.294, -8.1959, 8.3333}, {-15.833, -1.0185*^-14, 8.3333}}], Polygon[{{-16.3, -8.7351, 6.25}, {-14.614, -16.875, 6.25}, {-13.712, -15.833, 8.3333}, {-15.294, -8.1959, 8.3333}}], Polygon[{{-14.614, -16.875, 6.25}, {-11.932, -23.865, 6.25}, {-11.196, -22.392, 8.3333}, {-13.712, -15.833, 8.3333}}], Polygon[{{-11.932, -23.865, 6.25}, {-8.4375, -29.228, 6.25}, {-7.9167, -27.424, 8.3333}, {-11.196, -22.392, 8.3333}}], Polygon[{{-8.4375, -29.228, 6.25}, {-4.3676, -32.6, 6.25}, {-4.098, -30.588, 8.3333}, {-7.9167, -27.424, 8.3333}}], Polygon[{{-4.3676, -32.6, 6.25}, {-3.0998*^-15, -33.75, 6.25}, {-2.9084*^-15, -31.667, 8.3333}, {-4.098, -30.588, 8.3333}}], Polygon[{{-3.0998*^-15, -33.75, 6.25}, {4.3676, -32.6, 6.25}, {4.098, -30.588, 8.3333}, {-2.9084*^-15, -31.667, 8.3333}}], Polygon[{{4.3676, -32.6, 6.25}, {8.4375, -29.228, 6.25}, {7.9167, -27.424, 8.3333}, {4.098, -30.588, 8.3333}}], Polygon[{{8.4375, -29.228, 6.25}, {11.932, -23.865, 6.25}, {11.196, -22.392, 8.3333}, {7.9167, -27.424, 8.3333}}], Polygon[{{11.932, -23.865, 6.25}, {14.614, -16.875, 6.25}, {13.712, -15.833, 8.3333}, {11.196, -22.392, 8.3333}}], Polygon[{{14.614, -16.875, 6.25}, {16.3, -8.7351, 6.25}, {15.294, -8.1959, 8.3333}, {13.712, -15.833, 8.3333}}], Polygon[{{16.3, -8.7351, 6.25}, {16.875, -6.8218*^-14, 6.25}, {15.833, -6.4007*^-14, 8.3333}, {15.294, -8.1959, 8.3333}}], Polygon[{{15.833, 0., 8.3333}, {15.294, 8.1959, 8.3333}, {14.288, 7.6567, 10.417}, {14.792, 0., 10.417}}], Polygon[{{15.294, 8.1959, 8.3333}, {13.712, 15.833, 8.3333}, {12.81, 14.792, 10.417}, {14.288, 7.6567, 10.417}}], Polygon[{{13.712, 15.833, 8.3333}, {11.196, 22.392, 8.3333}, {10.459, 20.919, 10.417}, {12.81, 14.792, 10.417}}], Polygon[{{11.196, 22.392, 8.3333}, {7.9167, 27.424, 8.3333}, {7.3958, 25.62, 10.417}, {10.459, 20.919, 10.417}}], Polygon[{{7.9167, 27.424, 8.3333}, {4.098, 30.588, 8.3333}, {3.8284, 28.575, 10.417}, {7.3958, 25.62, 10.417}}], Polygon[{{4.098, 30.588, 8.3333}, {4.4852*^-15, 31.667, 8.3333}, {4.1901*^-15, 29.583, 10.417}, {3.8284, 28.575, 10.417}}], Polygon[{{4.4852*^-15, 31.667, 8.3333}, {-4.098, 30.588, 8.3333}, {-3.8284, 28.575, 10.417}, {4.1901*^-15, 29.583, 10.417}}], Polygon[{{-4.098, 30.588, 8.3333}, {-7.9167, 27.424, 8.3333}, {-7.3958, 25.62, 10.417}, {-3.8284, 28.575, 10.417}}], Polygon[{{-7.9167, 27.424, 8.3333}, {-11.196, 22.392, 8.3333}, {-10.459, 20.919, 10.417}, {-7.3958, 25.62, 10.417}}], Polygon[{{-11.196, 22.392, 8.3333}, {-13.712, 15.833, 8.3333}, {-12.81, 14.792, 10.417}, {-10.459, 20.919, 10.417}}], Polygon[{{-13.712, 15.833, 8.3333}, {-15.294, 8.1959, 8.3333}, {-14.288, 7.6567, 10.417}, {-12.81, 14.792, 10.417}}], Polygon[{{-15.294, 8.1959, 8.3333}, {-15.833, -1.0185*^-14, 8.3333}, {-14.792, -9.5148*^-15, 10.417}, {-14.288, 7.6567, 10.417}}], Polygon[{{-15.833, -1.0185*^-14, 8.3333}, {-15.294, -8.1959, 8.3333}, {-14.288, -7.6567, 10.417}, {-14.792, -9.5148*^-15, 10.417}}], Polygon[{{-15.294, -8.1959, 8.3333}, {-13.712, -15.833, 8.3333}, {-12.81, -14.792, 10.417}, {-14.288, -7.6567, 10.417}}], Polygon[{{-13.712, -15.833, 8.3333}, {-11.196, -22.392, 8.3333}, {-10.459, -20.919, 10.417}, {-12.81, -14.792, 10.417}}], Polygon[{{-11.196, -22.392, 8.3333}, {-7.9167, -27.424, 8.3333}, {-7.3958, -25.62, 10.417}, {-10.459, -20.919, 10.417}}], Polygon[{{-7.9167, -27.424, 8.3333}, {-4.098, -30.588, 8.3333}, {-3.8284, -28.575, 10.417}, {-7.3958, -25.62, 10.417}}], Polygon[{{-4.098, -30.588, 8.3333}, {-2.9084*^-15, -31.667, 8.3333}, {-2.7171*^-15, -29.583, 10.417}, {-3.8284, -28.575, 10.417}}], Polygon[{{-2.9084*^-15, -31.667, 8.3333}, {4.098, -30.588, 8.3333}, {3.8284, -28.575, 10.417}, {-2.7171*^-15, -29.583, 10.417}}], Polygon[{{4.098, -30.588, 8.3333}, {7.9167, -27.424, 8.3333}, {7.3958, -25.62, 10.417}, {3.8284, -28.575, 10.417}}], Polygon[{{7.9167, -27.424, 8.3333}, {11.196, -22.392, 8.3333}, {10.459, -20.919, 10.417}, {7.3958, -25.62, 10.417}}], Polygon[{{11.196, -22.392, 8.3333}, {13.712, -15.833, 8.3333}, {12.81, -14.792, 10.417}, {10.459, -20.919, 10.417}}], Polygon[{{13.712, -15.833, 8.3333}, {15.294, -8.1959, 8.3333}, {14.288, -7.6567, 10.417}, {12.81, -14.792, 10.417}}], Polygon[{{15.294, -8.1959, 8.3333}, {15.833, -6.4007*^-14, 8.3333}, {14.792, -5.9796*^-14, 10.417}, {14.288, -7.6567, 10.417}}], Polygon[{{14.792, 0., 10.417}, {14.288, 7.6567, 10.417}, {13.281, 7.1175, 12.5}, {13.75, 0., 12.5}}], Polygon[{{14.288, 7.6567, 10.417}, {12.81, 14.792, 10.417}, {11.908, 13.75, 12.5}, {13.281, 7.1175, 12.5}}], Polygon[{{12.81, 14.792, 10.417}, {10.459, 20.919, 10.417}, {9.7227, 19.445, 12.5}, {11.908, 13.75, 12.5}}], Polygon[{{10.459, 20.919, 10.417}, {7.3958, 25.62, 10.417}, {6.875, 23.816, 12.5}, {9.7227, 19.445, 12.5}}], Polygon[{{7.3958, 25.62, 10.417}, {3.8284, 28.575, 10.417}, {3.5588, 26.563, 12.5}, {6.875, 23.816, 12.5}}], Polygon[{{3.8284, 28.575, 10.417}, {4.1901*^-15, 29.583, 10.417}, {3.895*^-15, 27.5, 12.5}, {3.5588, 26.563, 12.5}}], Polygon[{{4.1901*^-15, 29.583, 10.417}, {-3.8284, 28.575, 10.417}, {-3.5588, 26.563, 12.5}, {3.895*^-15, 27.5, 12.5}}], Polygon[{{-3.8284, 28.575, 10.417}, {-7.3958, 25.62, 10.417}, {-6.875, 23.816, 12.5}, {-3.5588, 26.563, 12.5}}], Polygon[{{-7.3958, 25.62, 10.417}, {-10.459, 20.919, 10.417}, {-9.7227, 19.445, 12.5}, {-6.875, 23.816, 12.5}}], Polygon[{{-10.459, 20.919, 10.417}, {-12.81, 14.792, 10.417}, {-11.908, 13.75, 12.5}, {-9.7227, 19.445, 12.5}}], Polygon[{{-12.81, 14.792, 10.417}, {-14.288, 7.6567, 10.417}, {-13.281, 7.1175, 12.5}, {-11.908, 13.75, 12.5}}], Polygon[{{-14.288, 7.6567, 10.417}, {-14.792, -9.5148*^-15, 10.417}, {-13.75, -8.8448*^-15, 12.5}, {-13.281, 7.1175, 12.5}}], Polygon[{{-14.792, -9.5148*^-15, 10.417}, {-14.288, -7.6567, 10.417}, {-13.281, -7.1175, 12.5}, {-13.75, -8.8448*^-15, 12.5}}], Polygon[{{-14.288, -7.6567, 10.417}, {-12.81, -14.792, 10.417}, {-11.908, -13.75, 12.5}, {-13.281, -7.1175, 12.5}}], Polygon[{{-12.81, -14.792, 10.417}, {-10.459, -20.919, 10.417}, {-9.7227, -19.445, 12.5}, {-11.908, -13.75, 12.5}}], Polygon[{{-10.459, -20.919, 10.417}, {-7.3958, -25.62, 10.417}, {-6.875, -23.816, 12.5}, {-9.7227, -19.445, 12.5}}], Polygon[{{-7.3958, -25.62, 10.417}, {-3.8284, -28.575, 10.417}, {-3.5588, -26.563, 12.5}, {-6.875, -23.816, 12.5}}], Polygon[{{-3.8284, -28.575, 10.417}, {-2.7171*^-15, -29.583, 10.417}, {-2.5258*^-15, -27.5, 12.5}, {-3.5588, -26.563, 12.5}}], Polygon[{{-2.7171*^-15, -29.583, 10.417}, {3.8284, -28.575, 10.417}, {3.5588, -26.563, 12.5}, {-2.5258*^-15, -27.5, 12.5}}], Polygon[{{3.8284, -28.575, 10.417}, {7.3958, -25.62, 10.417}, {6.875, -23.816, 12.5}, {3.5588, -26.563, 12.5}}], Polygon[{{7.3958, -25.62, 10.417}, {10.459, -20.919, 10.417}, {9.7227, -19.445, 12.5}, {6.875, -23.816, 12.5}}], Polygon[{{10.459, -20.919, 10.417}, {12.81, -14.792, 10.417}, {11.908, -13.75, 12.5}, {9.7227, -19.445, 12.5}}], Polygon[{{12.81, -14.792, 10.417}, {14.288, -7.6567, 10.417}, {13.281, -7.1175, 12.5}, {11.908, -13.75, 12.5}}], Polygon[{{14.288, -7.6567, 10.417}, {14.792, -5.9796*^-14, 10.417}, {13.75, -5.5585*^-14, 12.5}, {13.281, -7.1175, 12.5}}], Polygon[{{13.75, 0., 12.5}, {13.281, 7.1175, 12.5}, {12.275, 6.5783, 14.583}, {12.708, 0., 14.583}}], Polygon[{{13.281, 7.1175, 12.5}, {11.908, 13.75, 12.5}, {11.006, 12.708, 14.583}, {12.275, 6.5783, 14.583}}], Polygon[{{11.908, 13.75, 12.5}, {9.7227, 19.445, 12.5}, {8.9861, 17.972, 14.583}, {11.006, 12.708, 14.583}}], Polygon[{{9.7227, 19.445, 12.5}, {6.875, 23.816, 12.5}, {6.3542, 22.011, 14.583}, {8.9861, 17.972, 14.583}}], Polygon[{{6.875, 23.816, 12.5}, {3.5588, 26.563, 12.5}, {3.2892, 24.551, 14.583}, {6.3542, 22.011, 14.583}}], Polygon[{{3.5588, 26.563, 12.5}, {3.895*^-15, 27.5, 12.5}, {3.6*^-15, 25.417, 14.583}, {3.2892, 24.551, 14.583}}], Polygon[{{3.895*^-15, 27.5, 12.5}, {-3.5588, 26.563, 12.5}, {-3.2892, 24.551, 14.583}, {3.6*^-15, 25.417, 14.583}}], Polygon[{{-3.5588, 26.563, 12.5}, {-6.875, 23.816, 12.5}, {-6.3542, 22.011, 14.583}, {-3.2892, 24.551, 14.583}}], Polygon[{{-6.875, 23.816, 12.5}, {-9.7227, 19.445, 12.5}, {-8.9861, 17.972, 14.583}, {-6.3542, 22.011, 14.583}}], Polygon[{{-9.7227, 19.445, 12.5}, {-11.908, 13.75, 12.5}, {-11.006, 12.708, 14.583}, {-8.9861, 17.972, 14.583}}], Polygon[{{-11.908, 13.75, 12.5}, {-13.281, 7.1175, 12.5}, {-12.275, 6.5783, 14.583}, {-11.006, 12.708, 14.583}}], Polygon[{{-13.281, 7.1175, 12.5}, {-13.75, -8.8448*^-15, 12.5}, {-12.708, -8.1747*^-15, 14.583}, {-12.275, 6.5783, 14.583}}], Polygon[{{-13.75, -8.8448*^-15, 12.5}, {-13.281, -7.1175, 12.5}, {-12.275, -6.5783, 14.583}, {-12.708, -8.1747*^-15, 14.583}}], Polygon[{{-13.281, -7.1175, 12.5}, {-11.908, -13.75, 12.5}, {-11.006, -12.708, 14.583}, {-12.275, -6.5783, 14.583}}], Polygon[{{-11.908, -13.75, 12.5}, {-9.7227, -19.445, 12.5}, {-8.9861, -17.972, 14.583}, {-11.006, -12.708, 14.583}}], Polygon[{{-9.7227, -19.445, 12.5}, {-6.875, -23.816, 12.5}, {-6.3542, -22.011, 14.583}, {-8.9861, -17.972, 14.583}}], Polygon[{{-6.875, -23.816, 12.5}, {-3.5588, -26.563, 12.5}, {-3.2892, -24.551, 14.583}, {-6.3542, -22.011, 14.583}}], Polygon[{{-3.5588, -26.563, 12.5}, {-2.5258*^-15, -27.5, 12.5}, {-2.3344*^-15, -25.417, 14.583}, {-3.2892, -24.551, 14.583}}], Polygon[{{-2.5258*^-15, -27.5, 12.5}, {3.5588, -26.563, 12.5}, {3.2892, -24.551, 14.583}, {-2.3344*^-15, -25.417, 14.583}}], Polygon[{{3.5588, -26.563, 12.5}, {6.875, -23.816, 12.5}, {6.3542, -22.011, 14.583}, {3.2892, -24.551, 14.583}}], Polygon[{{6.875, -23.816, 12.5}, {9.7227, -19.445, 12.5}, {8.9861, -17.972, 14.583}, {6.3542, -22.011, 14.583}}], Polygon[{{9.7227, -19.445, 12.5}, {11.908, -13.75, 12.5}, {11.006, -12.708, 14.583}, {8.9861, -17.972, 14.583}}], Polygon[{{11.908, -13.75, 12.5}, {13.281, -7.1175, 12.5}, {12.275, -6.5783, 14.583}, {11.006, -12.708, 14.583}}], Polygon[{{13.281, -7.1175, 12.5}, {13.75, -5.5585*^-14, 12.5}, {12.708, -5.1374*^-14, 14.583}, {12.275, -6.5783, 14.583}}], Polygon[{{12.708, 0., 14.583}, {12.275, 6.5783, 14.583}, {11.269, 6.0391, 16.667}, {11.667, 0., 16.667}}], Polygon[{{12.275, 6.5783, 14.583}, {11.006, 12.708, 14.583}, {10.104, 11.667, 16.667}, {11.269, 6.0391, 16.667}}], Polygon[{{11.006, 12.708, 14.583}, {8.9861, 17.972, 14.583}, {8.2496, 16.499, 16.667}, {10.104, 11.667, 16.667}}], Polygon[{{8.9861, 17.972, 14.583}, {6.3542, 22.011, 14.583}, {5.8333, 20.207, 16.667}, {8.2496, 16.499, 16.667}}], Polygon[{{6.3542, 22.011, 14.583}, {3.2892, 24.551, 14.583}, {3.0196, 22.538, 16.667}, {5.8333, 20.207, 16.667}}], Polygon[{{3.2892, 24.551, 14.583}, {3.6*^-15, 25.417, 14.583}, {3.3049*^-15, 23.333, 16.667}, {3.0196, 22.538, 16.667}}], Polygon[{{3.6*^-15, 25.417, 14.583}, {-3.2892, 24.551, 14.583}, {-3.0196, 22.538, 16.667}, {3.3049*^-15, 23.333, 16.667}}], Polygon[{{-3.2892, 24.551, 14.583}, {-6.3542, 22.011, 14.583}, {-5.8333, 20.207, 16.667}, {-3.0196, 22.538, 16.667}}], Polygon[{{-6.3542, 22.011, 14.583}, {-8.9861, 17.972, 14.583}, {-8.2496, 16.499, 16.667}, {-5.8333, 20.207, 16.667}}], Polygon[{{-8.9861, 17.972, 14.583}, {-11.006, 12.708, 14.583}, {-10.104, 11.667, 16.667}, {-8.2496, 16.499, 16.667}}], Polygon[{{-11.006, 12.708, 14.583}, {-12.275, 6.5783, 14.583}, {-11.269, 6.0391, 16.667}, {-10.104, 11.667, 16.667}}], Polygon[{{-12.275, 6.5783, 14.583}, {-12.708, -8.1747*^-15, 14.583}, {-11.667, -7.5047*^-15, 16.667}, {-11.269, 6.0391, 16.667}}], Polygon[{{-12.708, -8.1747*^-15, 14.583}, {-12.275, -6.5783, 14.583}, {-11.269, -6.0391, 16.667}, {-11.667, -7.5047*^-15, 16.667}}], Polygon[{{-12.275, -6.5783, 14.583}, {-11.006, -12.708, 14.583}, {-10.104, -11.667, 16.667}, {-11.269, -6.0391, 16.667}}], Polygon[{{-11.006, -12.708, 14.583}, {-8.9861, -17.972, 14.583}, {-8.2496, -16.499, 16.667}, {-10.104, -11.667, 16.667}}], Polygon[{{-8.9861, -17.972, 14.583}, {-6.3542, -22.011, 14.583}, {-5.8333, -20.207, 16.667}, {-8.2496, -16.499, 16.667}}], Polygon[{{-6.3542, -22.011, 14.583}, {-3.2892, -24.551, 14.583}, {-3.0196, -22.538, 16.667}, {-5.8333, -20.207, 16.667}}], Polygon[{{-3.2892, -24.551, 14.583}, {-2.3344*^-15, -25.417, 14.583}, {-2.1431*^-15, -23.333, 16.667}, {-3.0196, -22.538, 16.667}}], Polygon[{{-2.3344*^-15, -25.417, 14.583}, {3.2892, -24.551, 14.583}, {3.0196, -22.538, 16.667}, {-2.1431*^-15, -23.333, 16.667}}], Polygon[{{3.2892, -24.551, 14.583}, {6.3542, -22.011, 14.583}, {5.8333, -20.207, 16.667}, {3.0196, -22.538, 16.667}}], Polygon[{{6.3542, -22.011, 14.583}, {8.9861, -17.972, 14.583}, {8.2496, -16.499, 16.667}, {5.8333, -20.207, 16.667}}], Polygon[{{8.9861, -17.972, 14.583}, {11.006, -12.708, 14.583}, {10.104, -11.667, 16.667}, {8.2496, -16.499, 16.667}}], Polygon[{{11.006, -12.708, 14.583}, {12.275, -6.5783, 14.583}, {11.269, -6.0391, 16.667}, {10.104, -11.667, 16.667}}], Polygon[{{12.275, -6.5783, 14.583}, {12.708, -5.1374*^-14, 14.583}, {11.667, -4.7163*^-14, 16.667}, {11.269, -6.0391, 16.667}}], Polygon[{{11.667, 0., 16.667}, {11.269, 6.0391, 16.667}, {10.263, 5.4999, 18.75}, {10.625, 0., 18.75}}], Polygon[{{11.269, 6.0391, 16.667}, {10.104, 11.667, 16.667}, {9.2015, 10.625, 18.75}, {10.263, 5.4999, 18.75}}], Polygon[{{10.104, 11.667, 16.667}, {8.2496, 16.499, 16.667}, {7.513, 15.026, 18.75}, {9.2015, 10.625, 18.75}}], Polygon[{{8.2496, 16.499, 16.667}, {5.8333, 20.207, 16.667}, {5.3125, 18.403, 18.75}, {7.513, 15.026, 18.75}}], Polygon[{{5.8333, 20.207, 16.667}, {3.0196, 22.538, 16.667}, {2.75, 20.526, 18.75}, {5.3125, 18.403, 18.75}}], Polygon[{{3.0196, 22.538, 16.667}, {3.3049*^-15, 23.333, 16.667}, {3.0098*^-15, 21.25, 18.75}, {2.75, 20.526, 18.75}}], Polygon[{{3.3049*^-15, 23.333, 16.667}, {-3.0196, 22.538, 16.667}, {-2.75, 20.526, 18.75}, {3.0098*^-15, 21.25, 18.75}}], Polygon[{{-3.0196, 22.538, 16.667}, {-5.8333, 20.207, 16.667}, {-5.3125, 18.403, 18.75}, {-2.75, 20.526, 18.75}}], Polygon[{{-5.8333, 20.207, 16.667}, {-8.2496, 16.499, 16.667}, {-7.513, 15.026, 18.75}, {-5.3125, 18.403, 18.75}}], Polygon[{{-8.2496, 16.499, 16.667}, {-10.104, 11.667, 16.667}, {-9.2015, 10.625, 18.75}, {-7.513, 15.026, 18.75}}], Polygon[{{-10.104, 11.667, 16.667}, {-11.269, 6.0391, 16.667}, {-10.263, 5.4999, 18.75}, {-9.2015, 10.625, 18.75}}], Polygon[{{-11.269, 6.0391, 16.667}, {-11.667, -7.5047*^-15, 16.667}, {-10.625, -6.8346*^-15, 18.75}, {-10.263, 5.4999, 18.75}}], Polygon[{{-11.667, -7.5047*^-15, 16.667}, {-11.269, -6.0391, 16.667}, {-10.263, -5.4999, 18.75}, {-10.625, -6.8346*^-15, 18.75}}], Polygon[{{-11.269, -6.0391, 16.667}, {-10.104, -11.667, 16.667}, {-9.2015, -10.625, 18.75}, {-10.263, -5.4999, 18.75}}], Polygon[{{-10.104, -11.667, 16.667}, {-8.2496, -16.499, 16.667}, {-7.513, -15.026, 18.75}, {-9.2015, -10.625, 18.75}}], Polygon[{{-8.2496, -16.499, 16.667}, {-5.8333, -20.207, 16.667}, {-5.3125, -18.403, 18.75}, {-7.513, -15.026, 18.75}}], Polygon[{{-5.8333, -20.207, 16.667}, {-3.0196, -22.538, 16.667}, {-2.75, -20.526, 18.75}, {-5.3125, -18.403, 18.75}}], Polygon[{{-3.0196, -22.538, 16.667}, {-2.1431*^-15, -23.333, 16.667}, {-1.9517*^-15, -21.25, 18.75}, {-2.75, -20.526, 18.75}}], Polygon[{{-2.1431*^-15, -23.333, 16.667}, {3.0196, -22.538, 16.667}, {2.75, -20.526, 18.75}, {-1.9517*^-15, -21.25, 18.75}}], Polygon[{{3.0196, -22.538, 16.667}, {5.8333, -20.207, 16.667}, {5.3125, -18.403, 18.75}, {2.75, -20.526, 18.75}}], Polygon[{{5.8333, -20.207, 16.667}, {8.2496, -16.499, 16.667}, {7.513, -15.026, 18.75}, {5.3125, -18.403, 18.75}}], Polygon[{{8.2496, -16.499, 16.667}, {10.104, -11.667, 16.667}, {9.2015, -10.625, 18.75}, {7.513, -15.026, 18.75}}], Polygon[{{10.104, -11.667, 16.667}, {11.269, -6.0391, 16.667}, {10.263, -5.4999, 18.75}, {9.2015, -10.625, 18.75}}], Polygon[{{11.269, -6.0391, 16.667}, {11.667, -4.7163*^-14, 16.667}, {10.625, -4.2952*^-14, 18.75}, {10.263, -5.4999, 18.75}}], Polygon[{{10.625, 0., 18.75}, {10.263, 5.4999, 18.75}, {9.2568, 4.9607, 20.833}, {9.5833, 0., 20.833}}], Polygon[{{10.263, 5.4999, 18.75}, {9.2015, 10.625, 18.75}, {8.2994, 9.5833, 20.833}, {9.2568, 4.9607, 20.833}}], Polygon[{{9.2015, 10.625, 18.75}, {7.513, 15.026, 18.75}, {6.7764, 13.553, 20.833}, {8.2994, 9.5833, 20.833}}], Polygon[{{7.513, 15.026, 18.75}, {5.3125, 18.403, 18.75}, {4.7917, 16.599, 20.833}, {6.7764, 13.553, 20.833}}], Polygon[{{5.3125, 18.403, 18.75}, {2.75, 20.526, 18.75}, {2.4803, 18.514, 20.833}, {4.7917, 16.599, 20.833}}], Polygon[{{2.75, 20.526, 18.75}, {3.0098*^-15, 21.25, 18.75}, {2.7147*^-15, 19.167, 20.833}, {2.4803, 18.514, 20.833}}], Polygon[{{3.0098*^-15, 21.25, 18.75}, {-2.75, 20.526, 18.75}, {-2.4803, 18.514, 20.833}, {2.7147*^-15, 19.167, 20.833}}], Polygon[{{-2.75, 20.526, 18.75}, {-5.3125, 18.403, 18.75}, {-4.7917, 16.599, 20.833}, {-2.4803, 18.514, 20.833}}], Polygon[{{-5.3125, 18.403, 18.75}, {-7.513, 15.026, 18.75}, {-6.7764, 13.553, 20.833}, {-4.7917, 16.599, 20.833}}], Polygon[{{-7.513, 15.026, 18.75}, {-9.2015, 10.625, 18.75}, {-8.2994, 9.5833, 20.833}, {-6.7764, 13.553, 20.833}}], Polygon[{{-9.2015, 10.625, 18.75}, {-10.263, 5.4999, 18.75}, {-9.2568, 4.9607, 20.833}, {-8.2994, 9.5833, 20.833}}], Polygon[{{-10.263, 5.4999, 18.75}, {-10.625, -6.8346*^-15, 18.75}, {-9.5833, -6.1645*^-15, 20.833}, {-9.2568, 4.9607, 20.833}}], Polygon[{{-10.625, -6.8346*^-15, 18.75}, {-10.263, -5.4999, 18.75}, {-9.2568, -4.9607, 20.833}, {-9.5833, -6.1645*^-15, 20.833}}], Polygon[{{-10.263, -5.4999, 18.75}, {-9.2015, -10.625, 18.75}, {-8.2994, -9.5833, 20.833}, {-9.2568, -4.9607, 20.833}}], Polygon[{{-9.2015, -10.625, 18.75}, {-7.513, -15.026, 18.75}, {-6.7764, -13.553, 20.833}, {-8.2994, -9.5833, 20.833}}], Polygon[{{-7.513, -15.026, 18.75}, {-5.3125, -18.403, 18.75}, {-4.7917, -16.599, 20.833}, {-6.7764, -13.553, 20.833}}], Polygon[{{-5.3125, -18.403, 18.75}, {-2.75, -20.526, 18.75}, {-2.4803, -18.514, 20.833}, {-4.7917, -16.599, 20.833}}], Polygon[{{-2.75, -20.526, 18.75}, {-1.9517*^-15, -21.25, 18.75}, {-1.7604*^-15, -19.167, 20.833}, {-2.4803, -18.514, 20.833}}], Polygon[{{-1.9517*^-15, -21.25, 18.75}, {2.75, -20.526, 18.75}, {2.4803, -18.514, 20.833}, {-1.7604*^-15, -19.167, 20.833}}], Polygon[{{2.75, -20.526, 18.75}, {5.3125, -18.403, 18.75}, {4.7917, -16.599, 20.833}, {2.4803, -18.514, 20.833}}], Polygon[{{5.3125, -18.403, 18.75}, {7.513, -15.026, 18.75}, {6.7764, -13.553, 20.833}, {4.7917, -16.599, 20.833}}], Polygon[{{7.513, -15.026, 18.75}, {9.2015, -10.625, 18.75}, {8.2994, -9.5833, 20.833}, {6.7764, -13.553, 20.833}}], Polygon[{{9.2015, -10.625, 18.75}, {10.263, -5.4999, 18.75}, {9.2568, -4.9607, 20.833}, {8.2994, -9.5833, 20.833}}], Polygon[{{10.263, -5.4999, 18.75}, {10.625, -4.2952*^-14, 18.75}, {9.5833, -3.8741*^-14, 20.833}, {9.2568, -4.9607, 20.833}}], Polygon[{{9.5833, 0., 20.833}, {9.2568, 4.9607, 20.833}, {8.2506, 4.4215, 22.917}, {8.5417, 0., 22.917}}], Polygon[{{9.2568, 4.9607, 20.833}, {8.2994, 9.5833, 20.833}, {7.3973, 8.5417, 22.917}, {8.2506, 4.4215, 22.917}}], Polygon[{{8.2994, 9.5833, 20.833}, {6.7764, 13.553, 20.833}, {6.0399, 12.08, 22.917}, {7.3973, 8.5417, 22.917}}], Polygon[{{6.7764, 13.553, 20.833}, {4.7917, 16.599, 20.833}, {4.2708, 14.795, 22.917}, {6.0399, 12.08, 22.917}}], Polygon[{{4.7917, 16.599, 20.833}, {2.4803, 18.514, 20.833}, {2.2107, 16.501, 22.917}, {4.2708, 14.795, 22.917}}], Polygon[{{2.4803, 18.514, 20.833}, {2.7147*^-15, 19.167, 20.833}, {2.4196*^-15, 17.083, 22.917}, {2.2107, 16.501, 22.917}}], Polygon[{{2.7147*^-15, 19.167, 20.833}, {-2.4803, 18.514, 20.833}, {-2.2107, 16.501, 22.917}, {2.4196*^-15, 17.083, 22.917}}], Polygon[{{-2.4803, 18.514, 20.833}, {-4.7917, 16.599, 20.833}, {-4.2708, 14.795, 22.917}, {-2.2107, 16.501, 22.917}}], Polygon[{{-4.7917, 16.599, 20.833}, {-6.7764, 13.553, 20.833}, {-6.0399, 12.08, 22.917}, {-4.2708, 14.795, 22.917}}], Polygon[{{-6.7764, 13.553, 20.833}, {-8.2994, 9.5833, 20.833}, {-7.3973, 8.5417, 22.917}, {-6.0399, 12.08, 22.917}}], Polygon[{{-8.2994, 9.5833, 20.833}, {-9.2568, 4.9607, 20.833}, {-8.2506, 4.4215, 22.917}, {-7.3973, 8.5417, 22.917}}], Polygon[{{-9.2568, 4.9607, 20.833}, {-9.5833, -6.1645*^-15, 20.833}, {-8.5417, -5.4945*^-15, 22.917}, {-8.2506, 4.4215, 22.917}}], Polygon[{{-9.5833, -6.1645*^-15, 20.833}, {-9.2568, -4.9607, 20.833}, {-8.2506, -4.4215, 22.917}, {-8.5417, -5.4945*^-15, 22.917}}], Polygon[{{-9.2568, -4.9607, 20.833}, {-8.2994, -9.5833, 20.833}, {-7.3973, -8.5417, 22.917}, {-8.2506, -4.4215, 22.917}}], Polygon[{{-8.2994, -9.5833, 20.833}, {-6.7764, -13.553, 20.833}, {-6.0399, -12.08, 22.917}, {-7.3973, -8.5417, 22.917}}], Polygon[{{-6.7764, -13.553, 20.833}, {-4.7917, -16.599, 20.833}, {-4.2708, -14.795, 22.917}, {-6.0399, -12.08, 22.917}}], Polygon[{{-4.7917, -16.599, 20.833}, {-2.4803, -18.514, 20.833}, {-2.2107, -16.501, 22.917}, {-4.2708, -14.795, 22.917}}], Polygon[{{-2.4803, -18.514, 20.833}, {-1.7604*^-15, -19.167, 20.833}, {-1.569*^-15, -17.083, 22.917}, {-2.2107, -16.501, 22.917}}], Polygon[{{-1.7604*^-15, -19.167, 20.833}, {2.4803, -18.514, 20.833}, {2.2107, -16.501, 22.917}, {-1.569*^-15, -17.083, 22.917}}], Polygon[{{2.4803, -18.514, 20.833}, {4.7917, -16.599, 20.833}, {4.2708, -14.795, 22.917}, {2.2107, -16.501, 22.917}}], Polygon[{{4.7917, -16.599, 20.833}, {6.7764, -13.553, 20.833}, {6.0399, -12.08, 22.917}, {4.2708, -14.795, 22.917}}], Polygon[{{6.7764, -13.553, 20.833}, {8.2994, -9.5833, 20.833}, {7.3973, -8.5417, 22.917}, {6.0399, -12.08, 22.917}}], Polygon[{{8.2994, -9.5833, 20.833}, {9.2568, -4.9607, 20.833}, {8.2506, -4.4215, 22.917}, {7.3973, -8.5417, 22.917}}], Polygon[{{9.2568, -4.9607, 20.833}, {9.5833, -3.8741*^-14, 20.833}, {8.5417, -3.453*^-14, 22.917}, {8.2506, -4.4215, 22.917}}], Polygon[{{8.5417, 0., 22.917}, {8.2506, 4.4215, 22.917}, {7.2444, 3.8823, 25.}, {7.5, 0., 25.}}], Polygon[{{8.2506, 4.4215, 22.917}, {7.3973, 8.5417, 22.917}, {6.4952, 7.5, 25.}, {7.2444, 3.8823, 25.}}], Polygon[{{7.3973, 8.5417, 22.917}, {6.0399, 12.08, 22.917}, {5.3033, 10.607, 25.}, {6.4952, 7.5, 25.}}], Polygon[{{6.0399, 12.08, 22.917}, {4.2708, 14.795, 22.917}, {3.75, 12.99, 25.}, {5.3033, 10.607, 25.}}], Polygon[{{4.2708, 14.795, 22.917}, {2.2107, 16.501, 22.917}, {1.9411, 14.489, 25.}, {3.75, 12.99, 25.}}], Polygon[{{2.2107, 16.501, 22.917}, {2.4196*^-15, 17.083, 22.917}, {2.1246*^-15, 15., 25.}, {1.9411, 14.489, 25.}}], Polygon[{{2.4196*^-15, 17.083, 22.917}, {-2.2107, 16.501, 22.917}, {-1.9411, 14.489, 25.}, {2.1246*^-15, 15., 25.}}], Polygon[{{-2.2107, 16.501, 22.917}, {-4.2708, 14.795, 22.917}, {-3.75, 12.99, 25.}, {-1.9411, 14.489, 25.}}], Polygon[{{-4.2708, 14.795, 22.917}, {-6.0399, 12.08, 22.917}, {-5.3033, 10.607, 25.}, {-3.75, 12.99, 25.}}], Polygon[{{-6.0399, 12.08, 22.917}, {-7.3973, 8.5417, 22.917}, {-6.4952, 7.5, 25.}, {-5.3033, 10.607, 25.}}], Polygon[{{-7.3973, 8.5417, 22.917}, {-8.2506, 4.4215, 22.917}, {-7.2444, 3.8823, 25.}, {-6.4952, 7.5, 25.}}], Polygon[{{-8.2506, 4.4215, 22.917}, {-8.5417, -5.4945*^-15, 22.917}, {-7.5, -4.8244*^-15, 25.}, {-7.2444, 3.8823, 25.}}], Polygon[{{-8.5417, -5.4945*^-15, 22.917}, {-8.2506, -4.4215, 22.917}, {-7.2444, -3.8823, 25.}, {-7.5, -4.8244*^-15, 25.}}], Polygon[{{-8.2506, -4.4215, 22.917}, {-7.3973, -8.5417, 22.917}, {-6.4952, -7.5, 25.}, {-7.2444, -3.8823, 25.}}], Polygon[{{-7.3973, -8.5417, 22.917}, {-6.0399, -12.08, 22.917}, {-5.3033, -10.607, 25.}, {-6.4952, -7.5, 25.}}], Polygon[{{-6.0399, -12.08, 22.917}, {-4.2708, -14.795, 22.917}, {-3.75, -12.99, 25.}, {-5.3033, -10.607, 25.}}], Polygon[{{-4.2708, -14.795, 22.917}, {-2.2107, -16.501, 22.917}, {-1.9411, -14.489, 25.}, {-3.75, -12.99, 25.}}], Polygon[{{-2.2107, -16.501, 22.917}, {-1.569*^-15, -17.083, 22.917}, {-1.3777*^-15, -15., 25.}, {-1.9411, -14.489, 25.}}], Polygon[{{-1.569*^-15, -17.083, 22.917}, {2.2107, -16.501, 22.917}, {1.9411, -14.489, 25.}, {-1.3777*^-15, -15., 25.}}], Polygon[{{2.2107, -16.501, 22.917}, {4.2708, -14.795, 22.917}, {3.75, -12.99, 25.}, {1.9411, -14.489, 25.}}], Polygon[{{4.2708, -14.795, 22.917}, {6.0399, -12.08, 22.917}, {5.3033, -10.607, 25.}, {3.75, -12.99, 25.}}], Polygon[{{6.0399, -12.08, 22.917}, {7.3973, -8.5417, 22.917}, {6.4952, -7.5, 25.}, {5.3033, -10.607, 25.}}], Polygon[{{7.3973, -8.5417, 22.917}, {8.2506, -4.4215, 22.917}, {7.2444, -3.8823, 25.}, {6.4952, -7.5, 25.}}], Polygon[{{8.2506, -4.4215, 22.917}, {8.5417, -3.453*^-14, 22.917}, {7.5, -3.0319*^-14, 25.}, {7.2444, -3.8823, 25.}}]}, {Polygon[{{0., 0., 25.}, {0., 0., 25.}, {1.8111, 0.97057, 25.}, {1.875, 0., 25.}}], Polygon[{{0., 0., 25.}, {0., 0., 25.}, {1.6238, 1.875, 25.}, {1.8111, 0.97057, 25.}}], Polygon[{{0., 0., 25.}, {0., 0., 25.}, {1.3258, 2.6517, 25.}, {1.6238, 1.875, 25.}}], Polygon[{{0., 0., 25.}, {0., 0., 25.}, {0.9375, 3.2476, 25.}, {1.3258, 2.6517, 25.}}], Polygon[{{0., 0., 25.}, {0., 0., 25.}, {0.48529, 3.6222, 25.}, {0.9375, 3.2476, 25.}}], Polygon[{{0., 0., 25.}, {0., 0., 25.}, {5.3114*^-16, 3.75, 25.}, {0.48529, 3.6222, 25.}}], Polygon[{{0., 0., 25.}, {0., 0., 25.}, {-0.48529, 3.6222, 25.}, {5.3114*^-16, 3.75, 25.}}], Polygon[{{0., 0., 25.}, {0., 0., 25.}, {-0.9375, 3.2476, 25.}, {-0.48529, 3.6222, 25.}}], Polygon[{{0., 0., 25.}, {0., 0., 25.}, {-1.3258, 2.6517, 25.}, {-0.9375, 3.2476, 25.}}], Polygon[{{0., 0., 25.}, {0., 0., 25.}, {-1.6238, 1.875, 25.}, {-1.3258, 2.6517, 25.}}], Polygon[{{0., 0., 25.}, {0., 0., 25.}, {-1.8111, 0.97057, 25.}, {-1.6238, 1.875, 25.}}], Polygon[{{0., 0., 25.}, {0., 0., 25.}, {-1.875, -1.2061*^-15, 25.}, {-1.8111, 0.97057, 25.}}], Polygon[{{0., 0., 25.}, {0., 0., 25.}, {-1.8111, -0.97057, 25.}, {-1.875, -1.2061*^-15, 25.}}], Polygon[{{0., 0., 25.}, {0., 0., 25.}, {-1.6238, -1.875, 25.}, {-1.8111, -0.97057, 25.}}], Polygon[{{0., 0., 25.}, {0., 0., 25.}, {-1.3258, -2.6517, 25.}, {-1.6238, -1.875, 25.}}], Polygon[{{0., 0., 25.}, {0., 0., 25.}, {-0.9375, -3.2476, 25.}, {-1.3258, -2.6517, 25.}}], Polygon[{{0., 0., 25.}, {0., 0., 25.}, {-0.48529, -3.6222, 25.}, {-0.9375, -3.2476, 25.}}], Polygon[{{0., 0., 25.}, {0., 0., 25.}, {-3.4442*^-16, -3.75, 25.}, {-0.48529, -3.6222, 25.}}], Polygon[{{0., 0., 25.}, {0., 0., 25.}, {0.48529, -3.6222, 25.}, {-3.4442*^-16, -3.75, 25.}}], Polygon[{{0., 0., 25.}, {0., 0., 25.}, {0.9375, -3.2476, 25.}, {0.48529, -3.6222, 25.}}], Polygon[{{0., 0., 25.}, {0., 0., 25.}, {1.3258, -2.6517, 25.}, {0.9375, -3.2476, 25.}}], Polygon[{{0., 0., 25.}, {0., 0., 25.}, {1.6238, -1.875, 25.}, {1.3258, -2.6517, 25.}}], Polygon[{{0., 0., 25.}, {0., 0., 25.}, {1.8111, -0.97057, 25.}, {1.6238, -1.875, 25.}}], Polygon[{{0., 0., 25.}, {0., 0., 25.}, {1.875, -7.5798*^-15, 25.}, {1.8111, -0.97057, 25.}}], Polygon[{{1.875, 0., 25.}, {1.8111, 0.97057, 25.}, {3.6222, 1.9411, 25.}, {3.75, 0., 25.}}], Polygon[{{1.8111, 0.97057, 25.}, {1.6238, 1.875, 25.}, {3.2476, 3.75, 25.}, {3.6222, 1.9411, 25.}}], Polygon[{{1.6238, 1.875, 25.}, {1.3258, 2.6517, 25.}, {2.6517, 5.3033, 25.}, {3.2476, 3.75, 25.}}], Polygon[{{1.3258, 2.6517, 25.}, {0.9375, 3.2476, 25.}, {1.875, 6.4952, 25.}, {2.6517, 5.3033, 25.}}], Polygon[{{0.9375, 3.2476, 25.}, {0.48529, 3.6222, 25.}, {0.97057, 7.2444, 25.}, {1.875, 6.4952, 25.}}], Polygon[{{0.48529, 3.6222, 25.}, {5.3114*^-16, 3.75, 25.}, {1.0623*^-15, 7.5, 25.}, {0.97057, 7.2444, 25.}}], Polygon[{{5.3114*^-16, 3.75, 25.}, {-0.48529, 3.6222, 25.}, {-0.97057, 7.2444, 25.}, {1.0623*^-15, 7.5, 25.}}], Polygon[{{-0.48529, 3.6222, 25.}, {-0.9375, 3.2476, 25.}, {-1.875, 6.4952, 25.}, {-0.97057, 7.2444, 25.}}], Polygon[{{-0.9375, 3.2476, 25.}, {-1.3258, 2.6517, 25.}, {-2.6517, 5.3033, 25.}, {-1.875, 6.4952, 25.}}], Polygon[{{-1.3258, 2.6517, 25.}, {-1.6238, 1.875, 25.}, {-3.2476, 3.75, 25.}, {-2.6517, 5.3033, 25.}}], Polygon[{{-1.6238, 1.875, 25.}, {-1.8111, 0.97057, 25.}, {-3.6222, 1.9411, 25.}, {-3.2476, 3.75, 25.}}], Polygon[{{-1.8111, 0.97057, 25.}, {-1.875, -1.2061*^-15, 25.}, {-3.75, -2.4122*^-15, 25.}, {-3.6222, 1.9411, 25.}}], Polygon[{{-1.875, -1.2061*^-15, 25.}, {-1.8111, -0.97057, 25.}, {-3.6222, -1.9411, 25.}, {-3.75, -2.4122*^-15, 25.}}], Polygon[{{-1.8111, -0.97057, 25.}, {-1.6238, -1.875, 25.}, {-3.2476, -3.75, 25.}, {-3.6222, -1.9411, 25.}}], Polygon[{{-1.6238, -1.875, 25.}, {-1.3258, -2.6517, 25.}, {-2.6517, -5.3033, 25.}, {-3.2476, -3.75, 25.}}], Polygon[{{-1.3258, -2.6517, 25.}, {-0.9375, -3.2476, 25.}, {-1.875, -6.4952, 25.}, {-2.6517, -5.3033, 25.}}], Polygon[{{-0.9375, -3.2476, 25.}, {-0.48529, -3.6222, 25.}, {-0.97057, -7.2444, 25.}, {-1.875, -6.4952, 25.}}], Polygon[{{-0.48529, -3.6222, 25.}, {-3.4442*^-16, -3.75, 25.}, {-6.8884*^-16, -7.5, 25.}, {-0.97057, -7.2444, 25.}}], Polygon[{{-3.4442*^-16, -3.75, 25.}, {0.48529, -3.6222, 25.}, {0.97057, -7.2444, 25.}, {-6.8884*^-16, -7.5, 25.}}], Polygon[{{0.48529, -3.6222, 25.}, {0.9375, -3.2476, 25.}, {1.875, -6.4952, 25.}, {0.97057, -7.2444, 25.}}], Polygon[{{0.9375, -3.2476, 25.}, {1.3258, -2.6517, 25.}, {2.6517, -5.3033, 25.}, {1.875, -6.4952, 25.}}], Polygon[{{1.3258, -2.6517, 25.}, {1.6238, -1.875, 25.}, {3.2476, -3.75, 25.}, {2.6517, -5.3033, 25.}}], Polygon[{{1.6238, -1.875, 25.}, {1.8111, -0.97057, 25.}, {3.6222, -1.9411, 25.}, {3.2476, -3.75, 25.}}], Polygon[{{1.8111, -0.97057, 25.}, {1.875, -7.5798*^-15, 25.}, {3.75, -1.516*^-14, 25.}, {3.6222, -1.9411, 25.}}], Polygon[{{3.75, 0., 25.}, {3.6222, 1.9411, 25.}, {5.4333, 2.9117, 25.}, {5.625, 0., 25.}}], Polygon[{{3.6222, 1.9411, 25.}, {3.2476, 3.75, 25.}, {4.8714, 5.625, 25.}, {5.4333, 2.9117, 25.}}], Polygon[{{3.2476, 3.75, 25.}, {2.6517, 5.3033, 25.}, {3.9775, 7.955, 25.}, {4.8714, 5.625, 25.}}], Polygon[{{2.6517, 5.3033, 25.}, {1.875, 6.4952, 25.}, {2.8125, 9.7428, 25.}, {3.9775, 7.955, 25.}}], Polygon[{{1.875, 6.4952, 25.}, {0.97057, 7.2444, 25.}, {1.4559, 10.867, 25.}, {2.8125, 9.7428, 25.}}], Polygon[{{0.97057, 7.2444, 25.}, {1.0623*^-15, 7.5, 25.}, {1.5934*^-15, 11.25, 25.}, {1.4559, 10.867, 25.}}], Polygon[{{1.0623*^-15, 7.5, 25.}, {-0.97057, 7.2444, 25.}, {-1.4559, 10.867, 25.}, {1.5934*^-15, 11.25, 25.}}], Polygon[{{-0.97057, 7.2444, 25.}, {-1.875, 6.4952, 25.}, {-2.8125, 9.7428, 25.}, {-1.4559, 10.867, 25.}}], Polygon[{{-1.875, 6.4952, 25.}, {-2.6517, 5.3033, 25.}, {-3.9775, 7.955, 25.}, {-2.8125, 9.7428, 25.}}], Polygon[{{-2.6517, 5.3033, 25.}, {-3.2476, 3.75, 25.}, {-4.8714, 5.625, 25.}, {-3.9775, 7.955, 25.}}], Polygon[{{-3.2476, 3.75, 25.}, {-3.6222, 1.9411, 25.}, {-5.4333, 2.9117, 25.}, {-4.8714, 5.625, 25.}}], Polygon[{{-3.6222, 1.9411, 25.}, {-3.75, -2.4122*^-15, 25.}, {-5.625, -3.6183*^-15, 25.}, {-5.4333, 2.9117, 25.}}], Polygon[{{-3.75, -2.4122*^-15, 25.}, {-3.6222, -1.9411, 25.}, {-5.4333, -2.9117, 25.}, {-5.625, -3.6183*^-15, 25.}}], Polygon[{{-3.6222, -1.9411, 25.}, {-3.2476, -3.75, 25.}, {-4.8714, -5.625, 25.}, {-5.4333, -2.9117, 25.}}], Polygon[{{-3.2476, -3.75, 25.}, {-2.6517, -5.3033, 25.}, {-3.9775, -7.955, 25.}, {-4.8714, -5.625, 25.}}], Polygon[{{-2.6517, -5.3033, 25.}, {-1.875, -6.4952, 25.}, {-2.8125, -9.7428, 25.}, {-3.9775, -7.955, 25.}}], Polygon[{{-1.875, -6.4952, 25.}, {-0.97057, -7.2444, 25.}, {-1.4559, -10.867, 25.}, {-2.8125, -9.7428, 25.}}], Polygon[{{-0.97057, -7.2444, 25.}, {-6.8884*^-16, -7.5, 25.}, {-1.0333*^-15, -11.25, 25.}, {-1.4559, -10.867, 25.}}], Polygon[{{-6.8884*^-16, -7.5, 25.}, {0.97057, -7.2444, 25.}, {1.4559, -10.867, 25.}, {-1.0333*^-15, -11.25, 25.}}], Polygon[{{0.97057, -7.2444, 25.}, {1.875, -6.4952, 25.}, {2.8125, -9.7428, 25.}, {1.4559, -10.867, 25.}}], Polygon[{{1.875, -6.4952, 25.}, {2.6517, -5.3033, 25.}, {3.9775, -7.955, 25.}, {2.8125, -9.7428, 25.}}], Polygon[{{2.6517, -5.3033, 25.}, {3.2476, -3.75, 25.}, {4.8714, -5.625, 25.}, {3.9775, -7.955, 25.}}], Polygon[{{3.2476, -3.75, 25.}, {3.6222, -1.9411, 25.}, {5.4333, -2.9117, 25.}, {4.8714, -5.625, 25.}}], Polygon[{{3.6222, -1.9411, 25.}, {3.75, -1.516*^-14, 25.}, {5.625, -2.2739*^-14, 25.}, {5.4333, -2.9117, 25.}}], Polygon[{{5.625, 0., 25.}, {5.4333, 2.9117, 25.}, {7.2444, 3.8823, 25.}, {7.5, 0., 25.}}], Polygon[{{5.4333, 2.9117, 25.}, {4.8714, 5.625, 25.}, {6.4952, 7.5, 25.}, {7.2444, 3.8823, 25.}}], Polygon[{{4.8714, 5.625, 25.}, {3.9775, 7.955, 25.}, {5.3033, 10.607, 25.}, {6.4952, 7.5, 25.}}], Polygon[{{3.9775, 7.955, 25.}, {2.8125, 9.7428, 25.}, {3.75, 12.99, 25.}, {5.3033, 10.607, 25.}}], Polygon[{{2.8125, 9.7428, 25.}, {1.4559, 10.867, 25.}, {1.9411, 14.489, 25.}, {3.75, 12.99, 25.}}], Polygon[{{1.4559, 10.867, 25.}, {1.5934*^-15, 11.25, 25.}, {2.1246*^-15, 15., 25.}, {1.9411, 14.489, 25.}}], Polygon[{{1.5934*^-15, 11.25, 25.}, {-1.4559, 10.867, 25.}, {-1.9411, 14.489, 25.}, {2.1246*^-15, 15., 25.}}], Polygon[{{-1.4559, 10.867, 25.}, {-2.8125, 9.7428, 25.}, {-3.75, 12.99, 25.}, {-1.9411, 14.489, 25.}}], Polygon[{{-2.8125, 9.7428, 25.}, {-3.9775, 7.955, 25.}, {-5.3033, 10.607, 25.}, {-3.75, 12.99, 25.}}], Polygon[{{-3.9775, 7.955, 25.}, {-4.8714, 5.625, 25.}, {-6.4952, 7.5, 25.}, {-5.3033, 10.607, 25.}}], Polygon[{{-4.8714, 5.625, 25.}, {-5.4333, 2.9117, 25.}, {-7.2444, 3.8823, 25.}, {-6.4952, 7.5, 25.}}], Polygon[{{-5.4333, 2.9117, 25.}, {-5.625, -3.6183*^-15, 25.}, {-7.5, -4.8244*^-15, 25.}, {-7.2444, 3.8823, 25.}}], Polygon[{{-5.625, -3.6183*^-15, 25.}, {-5.4333, -2.9117, 25.}, {-7.2444, -3.8823, 25.}, {-7.5, -4.8244*^-15, 25.}}], Polygon[{{-5.4333, -2.9117, 25.}, {-4.8714, -5.625, 25.}, {-6.4952, -7.5, 25.}, {-7.2444, -3.8823, 25.}}], Polygon[{{-4.8714, -5.625, 25.}, {-3.9775, -7.955, 25.}, {-5.3033, -10.607, 25.}, {-6.4952, -7.5, 25.}}], Polygon[{{-3.9775, -7.955, 25.}, {-2.8125, -9.7428, 25.}, {-3.75, -12.99, 25.}, {-5.3033, -10.607, 25.}}], Polygon[{{-2.8125, -9.7428, 25.}, {-1.4559, -10.867, 25.}, {-1.9411, -14.489, 25.}, {-3.75, -12.99, 25.}}], Polygon[{{-1.4559, -10.867, 25.}, {-1.0333*^-15, -11.25, 25.}, {-1.3777*^-15, -15., 25.}, {-1.9411, -14.489, 25.}}], Polygon[{{-1.0333*^-15, -11.25, 25.}, {1.4559, -10.867, 25.}, {1.9411, -14.489, 25.}, {-1.3777*^-15, -15., 25.}}], Polygon[{{1.4559, -10.867, 25.}, {2.8125, -9.7428, 25.}, {3.75, -12.99, 25.}, {1.9411, -14.489, 25.}}], Polygon[{{2.8125, -9.7428, 25.}, {3.9775, -7.955, 25.}, {5.3033, -10.607, 25.}, {3.75, -12.99, 25.}}], Polygon[{{3.9775, -7.955, 25.}, {4.8714, -5.625, 25.}, {6.4952, -7.5, 25.}, {5.3033, -10.607, 25.}}], Polygon[{{4.8714, -5.625, 25.}, {5.4333, -2.9117, 25.}, {7.2444, -3.8823, 25.}, {6.4952, -7.5, 25.}}], Polygon[{{5.4333, -2.9117, 25.}, {5.625, -2.2739*^-14, 25.}, {7.5, -3.0319*^-14, 25.}, {7.2444, -3.8823, 25.}}]}, {Polygon[{{0., 0., -25.}, {0., 0., -25.}, {7.8481, 4.2058, -25.}, {8.125, 0., -25.}}], Polygon[{{0., 0., -25.}, {0., 0., -25.}, {7.0365, 8.125, -25.}, {7.8481, 4.2058, -25.}}], Polygon[{{0., 0., -25.}, {0., 0., -25.}, {5.7452, 11.49, -25.}, {7.0365, 8.125, -25.}}], Polygon[{{0., 0., -25.}, {0., 0., -25.}, {4.0625, 14.073, -25.}, {5.7452, 11.49, -25.}}], Polygon[{{0., 0., -25.}, {0., 0., -25.}, {2.1029, 15.696, -25.}, {4.0625, 14.073, -25.}}], Polygon[{{0., 0., -25.}, {0., 0., -25.}, {2.3016*^-15, 16.25, -25.}, {2.1029, 15.696, -25.}}], Polygon[{{0., 0., -25.}, {0., 0., -25.}, {-2.1029, 15.696, -25.}, {2.3016*^-15, 16.25, -25.}}], Polygon[{{0., 0., -25.}, {0., 0., -25.}, {-4.0625, 14.073, -25.}, {-2.1029, 15.696, -25.}}], Polygon[{{0., 0., -25.}, {0., 0., -25.}, {-5.7452, 11.49, -25.}, {-4.0625, 14.073, -25.}}], Polygon[{{0., 0., -25.}, {0., 0., -25.}, {-7.0365, 8.125, -25.}, {-5.7452, 11.49, -25.}}], Polygon[{{0., 0., -25.}, {0., 0., -25.}, {-7.8481, 4.2058, -25.}, {-7.0365, 8.125, -25.}}], Polygon[{{0., 0., -25.}, {0., 0., -25.}, {-8.125, -5.2265*^-15, -25.}, {-7.8481, 4.2058, -25.}}], Polygon[{{0., 0., -25.}, {0., 0., -25.}, {-7.8481, -4.2058, -25.}, {-8.125, -5.2265*^-15, -25.}}], Polygon[{{0., 0., -25.}, {0., 0., -25.}, {-7.0365, -8.125, -25.}, {-7.8481, -4.2058, -25.}}], Polygon[{{0., 0., -25.}, {0., 0., -25.}, {-5.7452, -11.49, -25.}, {-7.0365, -8.125, -25.}}], Polygon[{{0., 0., -25.}, {0., 0., -25.}, {-4.0625, -14.073, -25.}, {-5.7452, -11.49, -25.}}], Polygon[{{0., 0., -25.}, {0., 0., -25.}, {-2.1029, -15.696, -25.}, {-4.0625, -14.073, -25.}}], Polygon[{{0., 0., -25.}, {0., 0., -25.}, {-1.4925*^-15, -16.25, -25.}, {-2.1029, -15.696, -25.}}], Polygon[{{0., 0., -25.}, {0., 0., -25.}, {2.1029, -15.696, -25.}, {-1.4925*^-15, -16.25, -25.}}], Polygon[{{0., 0., -25.}, {0., 0., -25.}, {4.0625, -14.073, -25.}, {2.1029, -15.696, -25.}}], Polygon[{{0., 0., -25.}, {0., 0., -25.}, {5.7452, -11.49, -25.}, {4.0625, -14.073, -25.}}], Polygon[{{0., 0., -25.}, {0., 0., -25.}, {7.0365, -8.125, -25.}, {5.7452, -11.49, -25.}}], Polygon[{{0., 0., -25.}, {0., 0., -25.}, {7.8481, -4.2058, -25.}, {7.0365, -8.125, -25.}}], Polygon[{{0., 0., -25.}, {0., 0., -25.}, {8.125, -3.2846*^-14, -25.}, {7.8481, -4.2058, -25.}}], Polygon[{{8.125, 0., -25.}, {7.8481, 4.2058, -25.}, {15.696, 8.4116, -25.}, {16.25, 0., -25.}}], Polygon[{{7.8481, 4.2058, -25.}, {7.0365, 8.125, -25.}, {14.073, 16.25, -25.}, {15.696, 8.4116, -25.}}], Polygon[{{7.0365, 8.125, -25.}, {5.7452, 11.49, -25.}, {11.49, 22.981, -25.}, {14.073, 16.25, -25.}}], Polygon[{{5.7452, 11.49, -25.}, {4.0625, 14.073, -25.}, {8.125, 28.146, -25.}, {11.49, 22.981, -25.}}], Polygon[{{4.0625, 14.073, -25.}, {2.1029, 15.696, -25.}, {4.2058, 31.393, -25.}, {8.125, 28.146, -25.}}], Polygon[{{2.1029, 15.696, -25.}, {2.3016*^-15, 16.25, -25.}, {4.6032*^-15, 32.5, -25.}, {4.2058, 31.393, -25.}}], Polygon[{{2.3016*^-15, 16.25, -25.}, {-2.1029, 15.696, -25.}, {-4.2058, 31.393, -25.}, {4.6032*^-15, 32.5, -25.}}], Polygon[{{-2.1029, 15.696, -25.}, {-4.0625, 14.073, -25.}, {-8.125, 28.146, -25.}, {-4.2058, 31.393, -25.}}], Polygon[{{-4.0625, 14.073, -25.}, {-5.7452, 11.49, -25.}, {-11.49, 22.981, -25.}, {-8.125, 28.146, -25.}}], Polygon[{{-5.7452, 11.49, -25.}, {-7.0365, 8.125, -25.}, {-14.073, 16.25, -25.}, {-11.49, 22.981, -25.}}], Polygon[{{-7.0365, 8.125, -25.}, {-7.8481, 4.2058, -25.}, {-15.696, 8.4116, -25.}, {-14.073, 16.25, -25.}}], Polygon[{{-7.8481, 4.2058, -25.}, {-8.125, -5.2265*^-15, -25.}, {-16.25, -1.0453*^-14, -25.}, {-15.696, 8.4116, -25.}}], Polygon[{{-8.125, -5.2265*^-15, -25.}, {-7.8481, -4.2058, -25.}, {-15.696, -8.4116, -25.}, {-16.25, -1.0453*^-14, -25.}}], Polygon[{{-7.8481, -4.2058, -25.}, {-7.0365, -8.125, -25.}, {-14.073, -16.25, -25.}, {-15.696, -8.4116, -25.}}], Polygon[{{-7.0365, -8.125, -25.}, {-5.7452, -11.49, -25.}, {-11.49, -22.981, -25.}, {-14.073, -16.25, -25.}}], Polygon[{{-5.7452, -11.49, -25.}, {-4.0625, -14.073, -25.}, {-8.125, -28.146, -25.}, {-11.49, -22.981, -25.}}], Polygon[{{-4.0625, -14.073, -25.}, {-2.1029, -15.696, -25.}, {-4.2058, -31.393, -25.}, {-8.125, -28.146, -25.}}], Polygon[{{-2.1029, -15.696, -25.}, {-1.4925*^-15, -16.25, -25.}, {-2.985*^-15, -32.5, -25.}, {-4.2058, -31.393, -25.}}], Polygon[{{-1.4925*^-15, -16.25, -25.}, {2.1029, -15.696, -25.}, {4.2058, -31.393, -25.}, {-2.985*^-15, -32.5, -25.}}], Polygon[{{2.1029, -15.696, -25.}, {4.0625, -14.073, -25.}, {8.125, -28.146, -25.}, {4.2058, -31.393, -25.}}], Polygon[{{4.0625, -14.073, -25.}, {5.7452, -11.49, -25.}, {11.49, -22.981, -25.}, {8.125, -28.146, -25.}}], Polygon[{{5.7452, -11.49, -25.}, {7.0365, -8.125, -25.}, {14.073, -16.25, -25.}, {11.49, -22.981, -25.}}], Polygon[{{7.0365, -8.125, -25.}, {7.8481, -4.2058, -25.}, {15.696, -8.4116, -25.}, {14.073, -16.25, -25.}}], Polygon[{{7.8481, -4.2058, -25.}, {8.125, -3.2846*^-14, -25.}, {16.25, -6.5692*^-14, -25.}, {15.696, -8.4116, -25.}}], Polygon[{{16.25, 0., -25.}, {15.696, 8.4116, -25.}, {23.544, 12.617, -25.}, {24.375, 0., -25.}}], Polygon[{{15.696, 8.4116, -25.}, {14.073, 16.25, -25.}, {21.109, 24.375, -25.}, {23.544, 12.617, -25.}}], Polygon[{{14.073, 16.25, -25.}, {11.49, 22.981, -25.}, {17.236, 34.471, -25.}, {21.109, 24.375, -25.}}], Polygon[{{11.49, 22.981, -25.}, {8.125, 28.146, -25.}, {12.188, 42.219, -25.}, {17.236, 34.471, -25.}}], Polygon[{{8.125, 28.146, -25.}, {4.2058, 31.393, -25.}, {6.3087, 47.089, -25.}, {12.188, 42.219, -25.}}], Polygon[{{4.2058, 31.393, -25.}, {4.6032*^-15, 32.5, -25.}, {6.9048*^-15, 48.75, -25.}, {6.3087, 47.089, -25.}}], Polygon[{{4.6032*^-15, 32.5, -25.}, {-4.2058, 31.393, -25.}, {-6.3087, 47.089, -25.}, {6.9048*^-15, 48.75, -25.}}], Polygon[{{-4.2058, 31.393, -25.}, {-8.125, 28.146, -25.}, {-12.188, 42.219, -25.}, {-6.3087, 47.089, -25.}}], Polygon[{{-8.125, 28.146, -25.}, {-11.49, 22.981, -25.}, {-17.236, 34.471, -25.}, {-12.188, 42.219, -25.}}], Polygon[{{-11.49, 22.981, -25.}, {-14.073, 16.25, -25.}, {-21.109, 24.375, -25.}, {-17.236, 34.471, -25.}}], Polygon[{{-14.073, 16.25, -25.}, {-15.696, 8.4116, -25.}, {-23.544, 12.617, -25.}, {-21.109, 24.375, -25.}}], Polygon[{{-15.696, 8.4116, -25.}, {-16.25, -1.0453*^-14, -25.}, {-24.375, -1.5679*^-14, -25.}, {-23.544, 12.617, -25.}}], Polygon[{{-16.25, -1.0453*^-14, -25.}, {-15.696, -8.4116, -25.}, {-23.544, -12.617, -25.}, {-24.375, -1.5679*^-14, -25.}}], Polygon[{{-15.696, -8.4116, -25.}, {-14.073, -16.25, -25.}, {-21.109, -24.375, -25.}, {-23.544, -12.617, -25.}}], Polygon[{{-14.073, -16.25, -25.}, {-11.49, -22.981, -25.}, {-17.236, -34.471, -25.}, {-21.109, -24.375, -25.}}], Polygon[{{-11.49, -22.981, -25.}, {-8.125, -28.146, -25.}, {-12.187, -42.219, -25.}, {-17.236, -34.471, -25.}}], Polygon[{{-8.125, -28.146, -25.}, {-4.2058, -31.393, -25.}, {-6.3087, -47.089, -25.}, {-12.187, -42.219, -25.}}], Polygon[{{-4.2058, -31.393, -25.}, {-2.985*^-15, -32.5, -25.}, {-4.4775*^-15, -48.75, -25.}, {-6.3087, -47.089, -25.}}], Polygon[{{-2.985*^-15, -32.5, -25.}, {4.2058, -31.393, -25.}, {6.3087, -47.089, -25.}, {-4.4775*^-15, -48.75, -25.}}], Polygon[{{4.2058, -31.393, -25.}, {8.125, -28.146, -25.}, {12.187, -42.219, -25.}, {6.3087, -47.089, -25.}}], Polygon[{{8.125, -28.146, -25.}, {11.49, -22.981, -25.}, {17.236, -34.471, -25.}, {12.187, -42.219, -25.}}], Polygon[{{11.49, -22.981, -25.}, {14.073, -16.25, -25.}, {21.109, -24.375, -25.}, {17.236, -34.471, -25.}}], Polygon[{{14.073, -16.25, -25.}, {15.696, -8.4116, -25.}, {23.544, -12.617, -25.}, {21.109, -24.375, -25.}}], Polygon[{{15.696, -8.4116, -25.}, {16.25, -6.5692*^-14, -25.}, {24.375, -9.8537*^-14, -25.}, {23.544, -12.617, -25.}}], Polygon[{{24.375, 0., -25.}, {23.544, 12.617, -25.}, {31.393, 16.823, -25.}, {32.5, 0., -25.}}], Polygon[{{23.544, 12.617, -25.}, {21.109, 24.375, -25.}, {28.146, 32.5, -25.}, {31.393, 16.823, -25.}}], Polygon[{{21.109, 24.375, -25.}, {17.236, 34.471, -25.}, {22.981, 45.962, -25.}, {28.146, 32.5, -25.}}], Polygon[{{17.236, 34.471, -25.}, {12.188, 42.219, -25.}, {16.25, 56.292, -25.}, {22.981, 45.962, -25.}}], Polygon[{{12.188, 42.219, -25.}, {6.3087, 47.089, -25.}, {8.4116, 62.785, -25.}, {16.25, 56.292, -25.}}], Polygon[{{6.3087, 47.089, -25.}, {6.9048*^-15, 48.75, -25.}, {9.2064*^-15, 65., -25.}, {8.4116, 62.785, -25.}}], Polygon[{{6.9048*^-15, 48.75, -25.}, {-6.3087, 47.089, -25.}, {-8.4116, 62.785, -25.}, {9.2064*^-15, 65., -25.}}], Polygon[{{-6.3087, 47.089, -25.}, {-12.188, 42.219, -25.}, {-16.25, 56.292, -25.}, {-8.4116, 62.785, -25.}}], Polygon[{{-12.188, 42.219, -25.}, {-17.236, 34.471, -25.}, {-22.981, 45.962, -25.}, {-16.25, 56.292, -25.}}], Polygon[{{-17.236, 34.471, -25.}, {-21.109, 24.375, -25.}, {-28.146, 32.5, -25.}, {-22.981, 45.962, -25.}}], Polygon[{{-21.109, 24.375, -25.}, {-23.544, 12.617, -25.}, {-31.393, 16.823, -25.}, {-28.146, 32.5, -25.}}], Polygon[{{-23.544, 12.617, -25.}, {-24.375, -1.5679*^-14, -25.}, {-32.5, -2.0906*^-14, -25.}, {-31.393, 16.823, -25.}}], Polygon[{{-24.375, -1.5679*^-14, -25.}, {-23.544, -12.617, -25.}, {-31.393, -16.823, -25.}, {-32.5, -2.0906*^-14, -25.}}], Polygon[{{-23.544, -12.617, -25.}, {-21.109, -24.375, -25.}, {-28.146, -32.5, -25.}, {-31.393, -16.823, -25.}}], Polygon[{{-21.109, -24.375, -25.}, {-17.236, -34.471, -25.}, {-22.981, -45.962, -25.}, {-28.146, -32.5, -25.}}], Polygon[{{-17.236, -34.471, -25.}, {-12.187, -42.219, -25.}, {-16.25, -56.292, -25.}, {-22.981, -45.962, -25.}}], Polygon[{{-12.187, -42.219, -25.}, {-6.3087, -47.089, -25.}, {-8.4116, -62.785, -25.}, {-16.25, -56.292, -25.}}], Polygon[{{-6.3087, -47.089, -25.}, {-4.4775*^-15, -48.75, -25.}, {-5.97*^-15, -65., -25.}, {-8.4116, -62.785, -25.}}], Polygon[{{-4.4775*^-15, -48.75, -25.}, {6.3087, -47.089, -25.}, {8.4116, -62.785, -25.}, {-5.97*^-15, -65., -25.}}], Polygon[{{6.3087, -47.089, -25.}, {12.187, -42.219, -25.}, {16.25, -56.292, -25.}, {8.4116, -62.785, -25.}}], Polygon[{{12.187, -42.219, -25.}, {17.236, -34.471, -25.}, {22.981, -45.962, -25.}, {16.25, -56.292, -25.}}], Polygon[{{17.236, -34.471, -25.}, {21.109, -24.375, -25.}, {28.146, -32.5, -25.}, {22.981, -45.962, -25.}}], Polygon[{{21.109, -24.375, -25.}, {23.544, -12.617, -25.}, {31.393, -16.823, -25.}, {28.146, -32.5, -25.}}], Polygon[{{23.544, -12.617, -25.}, {24.375, -9.8537*^-14, -25.}, {32.5, -1.3138*^-13, -25.}, {31.393, -16.823, -25.}}]}}, {AmbientLight -> GrayLevel[0.15], PlotRange -> Automatic, DisplayFunction :> $DisplayFunction, ColorOutput -> Automatic, Axes -> True, PlotLabel -> None, AxesLabel -> {"x", "y", "z"}, Ticks -> Automatic, Prolog -> {}, Epilog -> {}, AxesStyle -> Automatic, Background -> Automatic, DefaultColor -> Automatic, DefaultFont :> $DefaultFont, AspectRatio -> Automatic, ViewPoint -> {1.3, -2.4, 2.}, Boxed -> True, BoxRatios -> Automatic, Plot3Matrix -> Automatic, Lighting -> True, AmbientLight -> GrayLevel[0.], LightSources -> {{{1., 0., 1.}, RGBColor[1., 0., 0.]}, {{1., 1., 1.}, RGBColor[0., 1., 0.]}, {{0., 1., 1.}, RGBColor[0., 0., 1.]}}, ViewCenter -> Automatic, PlotRegion -> Automatic, ImageSize -> Automatic, TextStyle :> {FontFamily -> "Times", FontSize -> 16.}, FormatType :> $FormatType, ViewVertical -> {0., 0., 1.}, FaceGrids -> None, Shading -> True, RenderAll -> True, PolygonIntersections -> True, AxesEdge -> Automatic, BoxStyle -> Automatic, SphericalRegion -> False}]
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aEllipticalTube.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aEllipticalTube.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aEllipticalTube.txt	(revision 904)
@@ -0,0 +1,1 @@
+Graphics3D[{{Polygon[{{5., 0., -20.}, {4.8296, 2.5882, -20.}, {4.8296, 2.5882, -18.333}, {5., 0., -18.333}}], Polygon[{{4.8296, 2.5882, -20.}, {4.3301, 5., -20.}, {4.3301, 5., -18.333}, {4.8296, 2.5882, -18.333}}], Polygon[{{4.3301, 5., -20.}, {3.5355, 7.0711, -20.}, {3.5355, 7.0711, -18.333}, {4.3301, 5., -18.333}}], Polygon[{{3.5355, 7.0711, -20.}, {2.5, 8.6603, -20.}, {2.5, 8.6603, -18.333}, {3.5355, 7.0711, -18.333}}], Polygon[{{2.5, 8.6603, -20.}, {1.2941, 9.6593, -20.}, {1.2941, 9.6593, -18.333}, {2.5, 8.6603, -18.333}}], Polygon[{{1.2941, 9.6593, -20.}, {1.4164*^-15, 10., -20.}, {1.4164*^-15, 10., -18.333}, {1.2941, 9.6593, -18.333}}], Polygon[{{1.4164*^-15, 10., -20.}, {-1.2941, 9.6593, -20.}, {-1.2941, 9.6593, -18.333}, {1.4164*^-15, 10., -18.333}}], Polygon[{{-1.2941, 9.6593, -20.}, {-2.5, 8.6603, -20.}, {-2.5, 8.6603, -18.333}, {-1.2941, 9.6593, -18.333}}], Polygon[{{-2.5, 8.6603, -20.}, {-3.5355, 7.0711, -20.}, {-3.5355, 7.0711, -18.333}, {-2.5, 8.6603, -18.333}}], Polygon[{{-3.5355, 7.0711, -20.}, {-4.3301, 5., -20.}, {-4.3301, 5., -18.333}, {-3.5355, 7.0711, -18.333}}], Polygon[{{-4.3301, 5., -20.}, {-4.8296, 2.5882, -20.}, {-4.8296, 2.5882, -18.333}, {-4.3301, 5., -18.333}}], Polygon[{{-4.8296, 2.5882, -20.}, {-5., -3.2163*^-15, -20.}, {-5., -3.2163*^-15, -18.333}, {-4.8296, 2.5882, -18.333}}], Polygon[{{-5., -3.2163*^-15, -20.}, {-4.8296, -2.5882, -20.}, {-4.8296, -2.5882, -18.333}, {-5., -3.2163*^-15, -18.333}}], Polygon[{{-4.8296, -2.5882, -20.}, {-4.3301, -5., -20.}, {-4.3301, -5., -18.333}, {-4.8296, -2.5882, -18.333}}], Polygon[{{-4.3301, -5., -20.}, {-3.5355, -7.0711, -20.}, {-3.5355, -7.0711, -18.333}, {-4.3301, -5., -18.333}}], Polygon[{{-3.5355, -7.0711, -20.}, {-2.5, -8.6603, -20.}, {-2.5, -8.6603, -18.333}, {-3.5355, -7.0711, -18.333}}], Polygon[{{-2.5, -8.6603, -20.}, {-1.2941, -9.6593, -20.}, {-1.2941, -9.6593, -18.333}, {-2.5, -8.6603, -18.333}}], Polygon[{{-1.2941, -9.6593, -20.}, {-9.1845*^-16, -10., -20.}, {-9.1845*^-16, -10., -18.333}, {-1.2941, -9.6593, -18.333}}], Polygon[{{-9.1845*^-16, -10., -20.}, {1.2941, -9.6593, -20.}, {1.2941, -9.6593, -18.333}, {-9.1845*^-16, -10., -18.333}}], Polygon[{{1.2941, -9.6593, -20.}, {2.5, -8.6603, -20.}, {2.5, -8.6603, -18.333}, {1.2941, -9.6593, -18.333}}], Polygon[{{2.5, -8.6603, -20.}, {3.5355, -7.0711, -20.}, {3.5355, -7.0711, -18.333}, {2.5, -8.6603, -18.333}}], Polygon[{{3.5355, -7.0711, -20.}, {4.3301, -5., -20.}, {4.3301, -5., -18.333}, {3.5355, -7.0711, -18.333}}], Polygon[{{4.3301, -5., -20.}, {4.8296, -2.5882, -20.}, {4.8296, -2.5882, -18.333}, {4.3301, -5., -18.333}}], Polygon[{{4.8296, -2.5882, -20.}, {5., -2.0213*^-14, -20.}, {5., -2.0213*^-14, -18.333}, {4.8296, -2.5882, -18.333}}], Polygon[{{5., 0., -18.333}, {4.8296, 2.5882, -18.333}, {4.8296, 2.5882, -16.667}, {5., 0., -16.667}}], Polygon[{{4.8296, 2.5882, -18.333}, {4.3301, 5., -18.333}, {4.3301, 5., -16.667}, {4.8296, 2.5882, -16.667}}], Polygon[{{4.3301, 5., -18.333}, {3.5355, 7.0711, -18.333}, {3.5355, 7.0711, -16.667}, {4.3301, 5., -16.667}}], Polygon[{{3.5355, 7.0711, -18.333}, {2.5, 8.6603, -18.333}, {2.5, 8.6603, -16.667}, {3.5355, 7.0711, -16.667}}], Polygon[{{2.5, 8.6603, -18.333}, {1.2941, 9.6593, -18.333}, {1.2941, 9.6593, -16.667}, {2.5, 8.6603, -16.667}}], Polygon[{{1.2941, 9.6593, -18.333}, {1.4164*^-15, 10., -18.333}, {1.4164*^-15, 10., -16.667}, {1.2941, 9.6593, -16.667}}], Polygon[{{1.4164*^-15, 10., -18.333}, {-1.2941, 9.6593, -18.333}, {-1.2941, 9.6593, -16.667}, {1.4164*^-15, 10., -16.667}}], Polygon[{{-1.2941, 9.6593, -18.333}, {-2.5, 8.6603, -18.333}, {-2.5, 8.6603, -16.667}, {-1.2941, 9.6593, -16.667}}], Polygon[{{-2.5, 8.6603, -18.333}, {-3.5355, 7.0711, -18.333}, {-3.5355, 7.0711, -16.667}, {-2.5, 8.6603, -16.667}}], Polygon[{{-3.5355, 7.0711, -18.333}, {-4.3301, 5., -18.333}, {-4.3301, 5., -16.667}, {-3.5355, 7.0711, -16.667}}], Polygon[{{-4.3301, 5., -18.333}, {-4.8296, 2.5882, -18.333}, {-4.8296, 2.5882, -16.667}, {-4.3301, 5., -16.667}}], Polygon[{{-4.8296, 2.5882, -18.333}, {-5., -3.2163*^-15, -18.333}, {-5., -3.2163*^-15, -16.667}, {-4.8296, 2.5882, -16.667}}], Polygon[{{-5., -3.2163*^-15, -18.333}, {-4.8296, -2.5882, -18.333}, {-4.8296, -2.5882, -16.667}, {-5., -3.2163*^-15, -16.667}}], Polygon[{{-4.8296, -2.5882, -18.333}, {-4.3301, -5., -18.333}, {-4.3301, -5., -16.667}, {-4.8296, -2.5882, -16.667}}], Polygon[{{-4.3301, -5., -18.333}, {-3.5355, -7.0711, -18.333}, {-3.5355, -7.0711, -16.667}, {-4.3301, -5., -16.667}}], Polygon[{{-3.5355, -7.0711, -18.333}, {-2.5, -8.6603, -18.333}, {-2.5, -8.6603, -16.667}, {-3.5355, -7.0711, -16.667}}], Polygon[{{-2.5, -8.6603, -18.333}, {-1.2941, -9.6593, -18.333}, {-1.2941, -9.6593, -16.667}, {-2.5, -8.6603, -16.667}}], Polygon[{{-1.2941, -9.6593, -18.333}, {-9.1845*^-16, -10., -18.333}, {-9.1845*^-16, -10., -16.667}, {-1.2941, -9.6593, -16.667}}], Polygon[{{-9.1845*^-16, -10., -18.333}, {1.2941, -9.6593, -18.333}, {1.2941, -9.6593, -16.667}, {-9.1845*^-16, -10., -16.667}}], Polygon[{{1.2941, -9.6593, -18.333}, {2.5, -8.6603, -18.333}, {2.5, -8.6603, -16.667}, {1.2941, -9.6593, -16.667}}], Polygon[{{2.5, -8.6603, -18.333}, {3.5355, -7.0711, -18.333}, {3.5355, -7.0711, -16.667}, {2.5, -8.6603, -16.667}}], Polygon[{{3.5355, -7.0711, -18.333}, {4.3301, -5., -18.333}, {4.3301, -5., -16.667}, {3.5355, -7.0711, -16.667}}], Polygon[{{4.3301, -5., -18.333}, {4.8296, -2.5882, -18.333}, {4.8296, -2.5882, -16.667}, {4.3301, -5., -16.667}}], Polygon[{{4.8296, -2.5882, -18.333}, {5., -2.0213*^-14, -18.333}, {5., -2.0213*^-14, -16.667}, {4.8296, -2.5882, -16.667}}], Polygon[{{5., 0., -16.667}, {4.8296, 2.5882, -16.667}, {4.8296, 2.5882, -15.}, {5., 0., -15.}}], Polygon[{{4.8296, 2.5882, -16.667}, {4.3301, 5., -16.667}, {4.3301, 5., -15.}, {4.8296, 2.5882, -15.}}], Polygon[{{4.3301, 5., -16.667}, {3.5355, 7.0711, -16.667}, {3.5355, 7.0711, -15.}, {4.3301, 5., -15.}}], Polygon[{{3.5355, 7.0711, -16.667}, {2.5, 8.6603, -16.667}, {2.5, 8.6603, -15.}, {3.5355, 7.0711, -15.}}], Polygon[{{2.5, 8.6603, -16.667}, {1.2941, 9.6593, -16.667}, {1.2941, 9.6593, -15.}, {2.5, 8.6603, -15.}}], Polygon[{{1.2941, 9.6593, -16.667}, {1.4164*^-15, 10., -16.667}, {1.4164*^-15, 10., -15.}, {1.2941, 9.6593, -15.}}], Polygon[{{1.4164*^-15, 10., -16.667}, {-1.2941, 9.6593, -16.667}, {-1.2941, 9.6593, -15.}, {1.4164*^-15, 10., -15.}}], Polygon[{{-1.2941, 9.6593, -16.667}, {-2.5, 8.6603, -16.667}, {-2.5, 8.6603, -15.}, {-1.2941, 9.6593, -15.}}], Polygon[{{-2.5, 8.6603, -16.667}, {-3.5355, 7.0711, -16.667}, {-3.5355, 7.0711, -15.}, {-2.5, 8.6603, -15.}}], Polygon[{{-3.5355, 7.0711, -16.667}, {-4.3301, 5., -16.667}, {-4.3301, 5., -15.}, {-3.5355, 7.0711, -15.}}], Polygon[{{-4.3301, 5., -16.667}, {-4.8296, 2.5882, -16.667}, {-4.8296, 2.5882, -15.}, {-4.3301, 5., -15.}}], Polygon[{{-4.8296, 2.5882, -16.667}, {-5., -3.2163*^-15, -16.667}, {-5., -3.2163*^-15, -15.}, {-4.8296, 2.5882, -15.}}], Polygon[{{-5., -3.2163*^-15, -16.667}, {-4.8296, -2.5882, -16.667}, {-4.8296, -2.5882, -15.}, {-5., -3.2163*^-15, -15.}}], Polygon[{{-4.8296, -2.5882, -16.667}, {-4.3301, -5., -16.667}, {-4.3301, -5., -15.}, {-4.8296, -2.5882, -15.}}], Polygon[{{-4.3301, -5., -16.667}, {-3.5355, -7.0711, -16.667}, {-3.5355, -7.0711, -15.}, {-4.3301, -5., -15.}}], Polygon[{{-3.5355, -7.0711, -16.667}, {-2.5, -8.6603, -16.667}, {-2.5, -8.6603, -15.}, {-3.5355, -7.0711, -15.}}], Polygon[{{-2.5, -8.6603, -16.667}, {-1.2941, -9.6593, -16.667}, {-1.2941, -9.6593, -15.}, {-2.5, -8.6603, -15.}}], Polygon[{{-1.2941, -9.6593, -16.667}, {-9.1845*^-16, -10., -16.667}, {-9.1845*^-16, -10., -15.}, {-1.2941, -9.6593, -15.}}], Polygon[{{-9.1845*^-16, -10., -16.667}, {1.2941, -9.6593, -16.667}, {1.2941, -9.6593, -15.}, {-9.1845*^-16, -10., -15.}}], Polygon[{{1.2941, -9.6593, -16.667}, {2.5, -8.6603, -16.667}, {2.5, -8.6603, -15.}, {1.2941, -9.6593, -15.}}], Polygon[{{2.5, -8.6603, -16.667}, {3.5355, -7.0711, -16.667}, {3.5355, -7.0711, -15.}, {2.5, -8.6603, -15.}}], Polygon[{{3.5355, -7.0711, -16.667}, {4.3301, -5., -16.667}, {4.3301, -5., -15.}, {3.5355, -7.0711, -15.}}], Polygon[{{4.3301, -5., -16.667}, {4.8296, -2.5882, -16.667}, {4.8296, -2.5882, -15.}, {4.3301, -5., -15.}}], Polygon[{{4.8296, -2.5882, -16.667}, {5., -2.0213*^-14, -16.667}, {5., -2.0213*^-14, -15.}, {4.8296, -2.5882, -15.}}], Polygon[{{5., 0., -15.}, {4.8296, 2.5882, -15.}, {4.8296, 2.5882, -13.333}, {5., 0., -13.333}}], Polygon[{{4.8296, 2.5882, -15.}, {4.3301, 5., -15.}, {4.3301, 5., -13.333}, {4.8296, 2.5882, -13.333}}], Polygon[{{4.3301, 5., -15.}, {3.5355, 7.0711, -15.}, {3.5355, 7.0711, -13.333}, {4.3301, 5., -13.333}}], Polygon[{{3.5355, 7.0711, -15.}, {2.5, 8.6603, -15.}, {2.5, 8.6603, -13.333}, {3.5355, 7.0711, -13.333}}], Polygon[{{2.5, 8.6603, -15.}, {1.2941, 9.6593, -15.}, {1.2941, 9.6593, -13.333}, {2.5, 8.6603, -13.333}}], Polygon[{{1.2941, 9.6593, -15.}, {1.4164*^-15, 10., -15.}, {1.4164*^-15, 10., -13.333}, {1.2941, 9.6593, -13.333}}], Polygon[{{1.4164*^-15, 10., -15.}, {-1.2941, 9.6593, -15.}, {-1.2941, 9.6593, -13.333}, {1.4164*^-15, 10., -13.333}}], Polygon[{{-1.2941, 9.6593, -15.}, {-2.5, 8.6603, -15.}, {-2.5, 8.6603, -13.333}, {-1.2941, 9.6593, -13.333}}], Polygon[{{-2.5, 8.6603, -15.}, {-3.5355, 7.0711, -15.}, {-3.5355, 7.0711, -13.333}, {-2.5, 8.6603, -13.333}}], Polygon[{{-3.5355, 7.0711, -15.}, {-4.3301, 5., -15.}, {-4.3301, 5., -13.333}, {-3.5355, 7.0711, -13.333}}], Polygon[{{-4.3301, 5., -15.}, {-4.8296, 2.5882, -15.}, {-4.8296, 2.5882, -13.333}, {-4.3301, 5., -13.333}}], Polygon[{{-4.8296, 2.5882, -15.}, {-5., -3.2163*^-15, -15.}, {-5., -3.2163*^-15, -13.333}, {-4.8296, 2.5882, -13.333}}], Polygon[{{-5., -3.2163*^-15, -15.}, {-4.8296, -2.5882, -15.}, {-4.8296, -2.5882, -13.333}, {-5., -3.2163*^-15, -13.333}}], Polygon[{{-4.8296, -2.5882, -15.}, {-4.3301, -5., -15.}, {-4.3301, -5., -13.333}, {-4.8296, -2.5882, -13.333}}], Polygon[{{-4.3301, -5., -15.}, {-3.5355, -7.0711, -15.}, {-3.5355, -7.0711, -13.333}, {-4.3301, -5., -13.333}}], Polygon[{{-3.5355, -7.0711, -15.}, {-2.5, -8.6603, -15.}, {-2.5, -8.6603, -13.333}, {-3.5355, -7.0711, -13.333}}], Polygon[{{-2.5, -8.6603, -15.}, {-1.2941, -9.6593, -15.}, {-1.2941, -9.6593, -13.333}, {-2.5, -8.6603, -13.333}}], Polygon[{{-1.2941, -9.6593, -15.}, {-9.1845*^-16, -10., -15.}, {-9.1845*^-16, -10., -13.333}, {-1.2941, -9.6593, -13.333}}], Polygon[{{-9.1845*^-16, -10., -15.}, {1.2941, -9.6593, -15.}, {1.2941, -9.6593, -13.333}, {-9.1845*^-16, -10., -13.333}}], Polygon[{{1.2941, -9.6593, -15.}, {2.5, -8.6603, -15.}, {2.5, -8.6603, -13.333}, {1.2941, -9.6593, -13.333}}], Polygon[{{2.5, -8.6603, -15.}, {3.5355, -7.0711, -15.}, {3.5355, -7.0711, -13.333}, {2.5, -8.6603, -13.333}}], Polygon[{{3.5355, -7.0711, -15.}, {4.3301, -5., -15.}, {4.3301, -5., -13.333}, {3.5355, -7.0711, -13.333}}], Polygon[{{4.3301, -5., -15.}, {4.8296, -2.5882, -15.}, {4.8296, -2.5882, -13.333}, {4.3301, -5., -13.333}}], Polygon[{{4.8296, -2.5882, -15.}, {5., -2.0213*^-14, -15.}, {5., -2.0213*^-14, -13.333}, {4.8296, -2.5882, -13.333}}], Polygon[{{5., 0., -13.333}, {4.8296, 2.5882, -13.333}, {4.8296, 2.5882, -11.667}, {5., 0., -11.667}}], Polygon[{{4.8296, 2.5882, -13.333}, {4.3301, 5., -13.333}, {4.3301, 5., -11.667}, {4.8296, 2.5882, -11.667}}], Polygon[{{4.3301, 5., -13.333}, {3.5355, 7.0711, -13.333}, {3.5355, 7.0711, -11.667}, {4.3301, 5., -11.667}}], Polygon[{{3.5355, 7.0711, -13.333}, {2.5, 8.6603, -13.333}, {2.5, 8.6603, -11.667}, {3.5355, 7.0711, -11.667}}], Polygon[{{2.5, 8.6603, -13.333}, {1.2941, 9.6593, -13.333}, {1.2941, 9.6593, -11.667}, {2.5, 8.6603, -11.667}}], Polygon[{{1.2941, 9.6593, -13.333}, {1.4164*^-15, 10., -13.333}, {1.4164*^-15, 10., -11.667}, {1.2941, 9.6593, -11.667}}], Polygon[{{1.4164*^-15, 10., -13.333}, {-1.2941, 9.6593, -13.333}, {-1.2941, 9.6593, -11.667}, {1.4164*^-15, 10., -11.667}}], Polygon[{{-1.2941, 9.6593, -13.333}, {-2.5, 8.6603, -13.333}, {-2.5, 8.6603, -11.667}, {-1.2941, 9.6593, -11.667}}], Polygon[{{-2.5, 8.6603, -13.333}, {-3.5355, 7.0711, -13.333}, {-3.5355, 7.0711, -11.667}, {-2.5, 8.6603, -11.667}}], Polygon[{{-3.5355, 7.0711, -13.333}, {-4.3301, 5., -13.333}, {-4.3301, 5., -11.667}, {-3.5355, 7.0711, -11.667}}], Polygon[{{-4.3301, 5., -13.333}, {-4.8296, 2.5882, -13.333}, {-4.8296, 2.5882, -11.667}, {-4.3301, 5., -11.667}}], Polygon[{{-4.8296, 2.5882, -13.333}, {-5., -3.2163*^-15, -13.333}, {-5., -3.2163*^-15, -11.667}, {-4.8296, 2.5882, -11.667}}], Polygon[{{-5., -3.2163*^-15, -13.333}, {-4.8296, -2.5882, -13.333}, {-4.8296, -2.5882, -11.667}, {-5., -3.2163*^-15, -11.667}}], Polygon[{{-4.8296, -2.5882, -13.333}, {-4.3301, -5., -13.333}, {-4.3301, -5., -11.667}, {-4.8296, -2.5882, -11.667}}], Polygon[{{-4.3301, -5., -13.333}, {-3.5355, -7.0711, -13.333}, {-3.5355, -7.0711, -11.667}, {-4.3301, -5., -11.667}}], Polygon[{{-3.5355, -7.0711, -13.333}, {-2.5, -8.6603, -13.333}, {-2.5, -8.6603, -11.667}, {-3.5355, -7.0711, -11.667}}], Polygon[{{-2.5, -8.6603, -13.333}, {-1.2941, -9.6593, -13.333}, {-1.2941, -9.6593, -11.667}, {-2.5, -8.6603, -11.667}}], Polygon[{{-1.2941, -9.6593, -13.333}, {-9.1845*^-16, -10., -13.333}, {-9.1845*^-16, -10., -11.667}, {-1.2941, -9.6593, -11.667}}], Polygon[{{-9.1845*^-16, -10., -13.333}, {1.2941, -9.6593, -13.333}, {1.2941, -9.6593, -11.667}, {-9.1845*^-16, -10., -11.667}}], Polygon[{{1.2941, -9.6593, -13.333}, {2.5, -8.6603, -13.333}, {2.5, -8.6603, -11.667}, {1.2941, -9.6593, -11.667}}], Polygon[{{2.5, -8.6603, -13.333}, {3.5355, -7.0711, -13.333}, {3.5355, -7.0711, -11.667}, {2.5, -8.6603, -11.667}}], Polygon[{{3.5355, -7.0711, -13.333}, {4.3301, -5., -13.333}, {4.3301, -5., -11.667}, {3.5355, -7.0711, -11.667}}], Polygon[{{4.3301, -5., -13.333}, {4.8296, -2.5882, -13.333}, {4.8296, -2.5882, -11.667}, {4.3301, -5., -11.667}}], Polygon[{{4.8296, -2.5882, -13.333}, {5., -2.0213*^-14, -13.333}, {5., -2.0213*^-14, -11.667}, {4.8296, -2.5882, -11.667}}], Polygon[{{5., 0., -11.667}, {4.8296, 2.5882, -11.667}, {4.8296, 2.5882, -10.}, {5., 0., -10.}}], Polygon[{{4.8296, 2.5882, -11.667}, {4.3301, 5., -11.667}, {4.3301, 5., -10.}, {4.8296, 2.5882, -10.}}], Polygon[{{4.3301, 5., -11.667}, {3.5355, 7.0711, -11.667}, {3.5355, 7.0711, -10.}, {4.3301, 5., -10.}}], Polygon[{{3.5355, 7.0711, -11.667}, {2.5, 8.6603, -11.667}, {2.5, 8.6603, -10.}, {3.5355, 7.0711, -10.}}], Polygon[{{2.5, 8.6603, -11.667}, {1.2941, 9.6593, -11.667}, {1.2941, 9.6593, -10.}, {2.5, 8.6603, -10.}}], Polygon[{{1.2941, 9.6593, -11.667}, {1.4164*^-15, 10., -11.667}, {1.4164*^-15, 10., -10.}, {1.2941, 9.6593, -10.}}], Polygon[{{1.4164*^-15, 10., -11.667}, {-1.2941, 9.6593, -11.667}, {-1.2941, 9.6593, -10.}, {1.4164*^-15, 10., -10.}}], Polygon[{{-1.2941, 9.6593, -11.667}, {-2.5, 8.6603, -11.667}, {-2.5, 8.6603, -10.}, {-1.2941, 9.6593, -10.}}], Polygon[{{-2.5, 8.6603, -11.667}, {-3.5355, 7.0711, -11.667}, {-3.5355, 7.0711, -10.}, {-2.5, 8.6603, -10.}}], Polygon[{{-3.5355, 7.0711, -11.667}, {-4.3301, 5., -11.667}, {-4.3301, 5., -10.}, {-3.5355, 7.0711, -10.}}], Polygon[{{-4.3301, 5., -11.667}, {-4.8296, 2.5882, -11.667}, {-4.8296, 2.5882, -10.}, {-4.3301, 5., -10.}}], Polygon[{{-4.8296, 2.5882, -11.667}, {-5., -3.2163*^-15, -11.667}, {-5., -3.2163*^-15, -10.}, {-4.8296, 2.5882, -10.}}], Polygon[{{-5., -3.2163*^-15, -11.667}, {-4.8296, -2.5882, -11.667}, {-4.8296, -2.5882, -10.}, {-5., -3.2163*^-15, -10.}}], Polygon[{{-4.8296, -2.5882, -11.667}, {-4.3301, -5., -11.667}, {-4.3301, -5., -10.}, {-4.8296, -2.5882, -10.}}], Polygon[{{-4.3301, -5., -11.667}, {-3.5355, -7.0711, -11.667}, {-3.5355, -7.0711, -10.}, {-4.3301, -5., -10.}}], Polygon[{{-3.5355, -7.0711, -11.667}, {-2.5, -8.6603, -11.667}, {-2.5, -8.6603, -10.}, {-3.5355, -7.0711, -10.}}], Polygon[{{-2.5, -8.6603, -11.667}, {-1.2941, -9.6593, -11.667}, {-1.2941, -9.6593, -10.}, {-2.5, -8.6603, -10.}}], Polygon[{{-1.2941, -9.6593, -11.667}, {-9.1845*^-16, -10., -11.667}, {-9.1845*^-16, -10., -10.}, {-1.2941, -9.6593, -10.}}], Polygon[{{-9.1845*^-16, -10., -11.667}, {1.2941, -9.6593, -11.667}, {1.2941, -9.6593, -10.}, {-9.1845*^-16, -10., -10.}}], Polygon[{{1.2941, -9.6593, -11.667}, {2.5, -8.6603, -11.667}, {2.5, -8.6603, -10.}, {1.2941, -9.6593, -10.}}], Polygon[{{2.5, -8.6603, -11.667}, {3.5355, -7.0711, -11.667}, {3.5355, -7.0711, -10.}, {2.5, -8.6603, -10.}}], Polygon[{{3.5355, -7.0711, -11.667}, {4.3301, -5., -11.667}, {4.3301, -5., -10.}, {3.5355, -7.0711, -10.}}], Polygon[{{4.3301, -5., -11.667}, {4.8296, -2.5882, -11.667}, {4.8296, -2.5882, -10.}, {4.3301, -5., -10.}}], Polygon[{{4.8296, -2.5882, -11.667}, {5., -2.0213*^-14, -11.667}, {5., -2.0213*^-14, -10.}, {4.8296, -2.5882, -10.}}], Polygon[{{5., 0., -10.}, {4.8296, 2.5882, -10.}, {4.8296, 2.5882, -8.3333}, {5., 0., -8.3333}}], Polygon[{{4.8296, 2.5882, -10.}, {4.3301, 5., -10.}, {4.3301, 5., -8.3333}, {4.8296, 2.5882, -8.3333}}], Polygon[{{4.3301, 5., -10.}, {3.5355, 7.0711, -10.}, {3.5355, 7.0711, -8.3333}, {4.3301, 5., -8.3333}}], Polygon[{{3.5355, 7.0711, -10.}, {2.5, 8.6603, -10.}, {2.5, 8.6603, -8.3333}, {3.5355, 7.0711, -8.3333}}], Polygon[{{2.5, 8.6603, -10.}, {1.2941, 9.6593, -10.}, {1.2941, 9.6593, -8.3333}, {2.5, 8.6603, -8.3333}}], Polygon[{{1.2941, 9.6593, -10.}, {1.4164*^-15, 10., -10.}, {1.4164*^-15, 10., -8.3333}, {1.2941, 9.6593, -8.3333}}], Polygon[{{1.4164*^-15, 10., -10.}, {-1.2941, 9.6593, -10.}, {-1.2941, 9.6593, -8.3333}, {1.4164*^-15, 10., -8.3333}}], Polygon[{{-1.2941, 9.6593, -10.}, {-2.5, 8.6603, -10.}, {-2.5, 8.6603, -8.3333}, {-1.2941, 9.6593, -8.3333}}], Polygon[{{-2.5, 8.6603, -10.}, {-3.5355, 7.0711, -10.}, {-3.5355, 7.0711, -8.3333}, {-2.5, 8.6603, -8.3333}}], Polygon[{{-3.5355, 7.0711, -10.}, {-4.3301, 5., -10.}, {-4.3301, 5., -8.3333}, {-3.5355, 7.0711, -8.3333}}], Polygon[{{-4.3301, 5., -10.}, {-4.8296, 2.5882, -10.}, {-4.8296, 2.5882, -8.3333}, {-4.3301, 5., -8.3333}}], Polygon[{{-4.8296, 2.5882, -10.}, {-5., -3.2163*^-15, -10.}, {-5., -3.2163*^-15, -8.3333}, {-4.8296, 2.5882, -8.3333}}], Polygon[{{-5., -3.2163*^-15, -10.}, {-4.8296, -2.5882, -10.}, {-4.8296, -2.5882, -8.3333}, {-5., -3.2163*^-15, -8.3333}}], Polygon[{{-4.8296, -2.5882, -10.}, {-4.3301, -5., -10.}, {-4.3301, -5., -8.3333}, {-4.8296, -2.5882, -8.3333}}], Polygon[{{-4.3301, -5., -10.}, {-3.5355, -7.0711, -10.}, {-3.5355, -7.0711, -8.3333}, {-4.3301, -5., -8.3333}}], Polygon[{{-3.5355, -7.0711, -10.}, {-2.5, -8.6603, -10.}, {-2.5, -8.6603, -8.3333}, {-3.5355, -7.0711, -8.3333}}], Polygon[{{-2.5, -8.6603, -10.}, {-1.2941, -9.6593, -10.}, {-1.2941, -9.6593, -8.3333}, {-2.5, -8.6603, -8.3333}}], Polygon[{{-1.2941, -9.6593, -10.}, {-9.1845*^-16, -10., -10.}, {-9.1845*^-16, -10., -8.3333}, {-1.2941, -9.6593, -8.3333}}], Polygon[{{-9.1845*^-16, -10., -10.}, {1.2941, -9.6593, -10.}, {1.2941, -9.6593, -8.3333}, {-9.1845*^-16, -10., -8.3333}}], Polygon[{{1.2941, -9.6593, -10.}, {2.5, -8.6603, -10.}, {2.5, -8.6603, -8.3333}, {1.2941, -9.6593, -8.3333}}], Polygon[{{2.5, -8.6603, -10.}, {3.5355, -7.0711, -10.}, {3.5355, -7.0711, -8.3333}, {2.5, -8.6603, -8.3333}}], Polygon[{{3.5355, -7.0711, -10.}, {4.3301, -5., -10.}, {4.3301, -5., -8.3333}, {3.5355, -7.0711, -8.3333}}], Polygon[{{4.3301, -5., -10.}, {4.8296, -2.5882, -10.}, {4.8296, -2.5882, -8.3333}, {4.3301, -5., -8.3333}}], Polygon[{{4.8296, -2.5882, -10.}, {5., -2.0213*^-14, -10.}, {5., -2.0213*^-14, -8.3333}, {4.8296, -2.5882, -8.3333}}], Polygon[{{5., 0., -8.3333}, {4.8296, 2.5882, -8.3333}, {4.8296, 2.5882, -6.6667}, {5., 0., -6.6667}}], Polygon[{{4.8296, 2.5882, -8.3333}, {4.3301, 5., -8.3333}, {4.3301, 5., -6.6667}, {4.8296, 2.5882, -6.6667}}], Polygon[{{4.3301, 5., -8.3333}, {3.5355, 7.0711, -8.3333}, {3.5355, 7.0711, -6.6667}, {4.3301, 5., -6.6667}}], Polygon[{{3.5355, 7.0711, -8.3333}, {2.5, 8.6603, -8.3333}, {2.5, 8.6603, -6.6667}, {3.5355, 7.0711, -6.6667}}], Polygon[{{2.5, 8.6603, -8.3333}, {1.2941, 9.6593, -8.3333}, {1.2941, 9.6593, -6.6667}, {2.5, 8.6603, -6.6667}}], Polygon[{{1.2941, 9.6593, -8.3333}, {1.4164*^-15, 10., -8.3333}, {1.4164*^-15, 10., -6.6667}, {1.2941, 9.6593, -6.6667}}], Polygon[{{1.4164*^-15, 10., -8.3333}, {-1.2941, 9.6593, -8.3333}, {-1.2941, 9.6593, -6.6667}, {1.4164*^-15, 10., -6.6667}}], Polygon[{{-1.2941, 9.6593, -8.3333}, {-2.5, 8.6603, -8.3333}, {-2.5, 8.6603, -6.6667}, {-1.2941, 9.6593, -6.6667}}], Polygon[{{-2.5, 8.6603, -8.3333}, {-3.5355, 7.0711, -8.3333}, {-3.5355, 7.0711, -6.6667}, {-2.5, 8.6603, -6.6667}}], Polygon[{{-3.5355, 7.0711, -8.3333}, {-4.3301, 5., -8.3333}, {-4.3301, 5., -6.6667}, {-3.5355, 7.0711, -6.6667}}], Polygon[{{-4.3301, 5., -8.3333}, {-4.8296, 2.5882, -8.3333}, {-4.8296, 2.5882, -6.6667}, {-4.3301, 5., -6.6667}}], Polygon[{{-4.8296, 2.5882, -8.3333}, {-5., -3.2163*^-15, -8.3333}, {-5., -3.2163*^-15, -6.6667}, {-4.8296, 2.5882, -6.6667}}], Polygon[{{-5., -3.2163*^-15, -8.3333}, {-4.8296, -2.5882, -8.3333}, {-4.8296, -2.5882, -6.6667}, {-5., -3.2163*^-15, -6.6667}}], Polygon[{{-4.8296, -2.5882, -8.3333}, {-4.3301, -5., -8.3333}, {-4.3301, -5., -6.6667}, {-4.8296, -2.5882, -6.6667}}], Polygon[{{-4.3301, -5., -8.3333}, {-3.5355, -7.0711, -8.3333}, {-3.5355, -7.0711, -6.6667}, {-4.3301, -5., -6.6667}}], Polygon[{{-3.5355, -7.0711, -8.3333}, {-2.5, -8.6603, -8.3333}, {-2.5, -8.6603, -6.6667}, {-3.5355, -7.0711, -6.6667}}], Polygon[{{-2.5, -8.6603, -8.3333}, {-1.2941, -9.6593, -8.3333}, {-1.2941, -9.6593, -6.6667}, {-2.5, -8.6603, -6.6667}}], Polygon[{{-1.2941, -9.6593, -8.3333}, {-9.1845*^-16, -10., -8.3333}, {-9.1845*^-16, -10., -6.6667}, {-1.2941, -9.6593, -6.6667}}], Polygon[{{-9.1845*^-16, -10., -8.3333}, {1.2941, -9.6593, -8.3333}, {1.2941, -9.6593, -6.6667}, {-9.1845*^-16, -10., -6.6667}}], Polygon[{{1.2941, -9.6593, -8.3333}, {2.5, -8.6603, -8.3333}, {2.5, -8.6603, -6.6667}, {1.2941, -9.6593, -6.6667}}], Polygon[{{2.5, -8.6603, -8.3333}, {3.5355, -7.0711, -8.3333}, {3.5355, -7.0711, -6.6667}, {2.5, -8.6603, -6.6667}}], Polygon[{{3.5355, -7.0711, -8.3333}, {4.3301, -5., -8.3333}, {4.3301, -5., -6.6667}, {3.5355, -7.0711, -6.6667}}], Polygon[{{4.3301, -5., -8.3333}, {4.8296, -2.5882, -8.3333}, {4.8296, -2.5882, -6.6667}, {4.3301, -5., -6.6667}}], Polygon[{{4.8296, -2.5882, -8.3333}, {5., -2.0213*^-14, -8.3333}, {5., -2.0213*^-14, -6.6667}, {4.8296, -2.5882, -6.6667}}], Polygon[{{5., 0., -6.6667}, {4.8296, 2.5882, -6.6667}, {4.8296, 2.5882, -5.}, {5., 0., -5.}}], Polygon[{{4.8296, 2.5882, -6.6667}, {4.3301, 5., -6.6667}, {4.3301, 5., -5.}, {4.8296, 2.5882, -5.}}], Polygon[{{4.3301, 5., -6.6667}, {3.5355, 7.0711, -6.6667}, {3.5355, 7.0711, -5.}, {4.3301, 5., -5.}}], Polygon[{{3.5355, 7.0711, -6.6667}, {2.5, 8.6603, -6.6667}, {2.5, 8.6603, -5.}, {3.5355, 7.0711, -5.}}], Polygon[{{2.5, 8.6603, -6.6667}, {1.2941, 9.6593, -6.6667}, {1.2941, 9.6593, -5.}, {2.5, 8.6603, -5.}}], Polygon[{{1.2941, 9.6593, -6.6667}, {1.4164*^-15, 10., -6.6667}, {1.4164*^-15, 10., -5.}, {1.2941, 9.6593, -5.}}], Polygon[{{1.4164*^-15, 10., -6.6667}, {-1.2941, 9.6593, -6.6667}, {-1.2941, 9.6593, -5.}, {1.4164*^-15, 10., -5.}}], Polygon[{{-1.2941, 9.6593, -6.6667}, {-2.5, 8.6603, -6.6667}, {-2.5, 8.6603, -5.}, {-1.2941, 9.6593, -5.}}], Polygon[{{-2.5, 8.6603, -6.6667}, {-3.5355, 7.0711, -6.6667}, {-3.5355, 7.0711, -5.}, {-2.5, 8.6603, -5.}}], Polygon[{{-3.5355, 7.0711, -6.6667}, {-4.3301, 5., -6.6667}, {-4.3301, 5., -5.}, {-3.5355, 7.0711, -5.}}], Polygon[{{-4.3301, 5., -6.6667}, {-4.8296, 2.5882, -6.6667}, {-4.8296, 2.5882, -5.}, {-4.3301, 5., -5.}}], Polygon[{{-4.8296, 2.5882, -6.6667}, {-5., -3.2163*^-15, -6.6667}, {-5., -3.2163*^-15, -5.}, {-4.8296, 2.5882, -5.}}], Polygon[{{-5., -3.2163*^-15, -6.6667}, {-4.8296, -2.5882, -6.6667}, {-4.8296, -2.5882, -5.}, {-5., -3.2163*^-15, -5.}}], Polygon[{{-4.8296, -2.5882, -6.6667}, {-4.3301, -5., -6.6667}, {-4.3301, -5., -5.}, {-4.8296, -2.5882, -5.}}], Polygon[{{-4.3301, -5., -6.6667}, {-3.5355, -7.0711, -6.6667}, {-3.5355, -7.0711, -5.}, {-4.3301, -5., -5.}}], Polygon[{{-3.5355, -7.0711, -6.6667}, {-2.5, -8.6603, -6.6667}, {-2.5, -8.6603, -5.}, {-3.5355, -7.0711, -5.}}], Polygon[{{-2.5, -8.6603, -6.6667}, {-1.2941, -9.6593, -6.6667}, {-1.2941, -9.6593, -5.}, {-2.5, -8.6603, -5.}}], Polygon[{{-1.2941, -9.6593, -6.6667}, {-9.1845*^-16, -10., -6.6667}, {-9.1845*^-16, -10., -5.}, {-1.2941, -9.6593, -5.}}], Polygon[{{-9.1845*^-16, -10., -6.6667}, {1.2941, -9.6593, -6.6667}, {1.2941, -9.6593, -5.}, {-9.1845*^-16, -10., -5.}}], Polygon[{{1.2941, -9.6593, -6.6667}, {2.5, -8.6603, -6.6667}, {2.5, -8.6603, -5.}, {1.2941, -9.6593, -5.}}], Polygon[{{2.5, -8.6603, -6.6667}, {3.5355, -7.0711, -6.6667}, {3.5355, -7.0711, -5.}, {2.5, -8.6603, -5.}}], Polygon[{{3.5355, -7.0711, -6.6667}, {4.3301, -5., -6.6667}, {4.3301, -5., -5.}, {3.5355, -7.0711, -5.}}], Polygon[{{4.3301, -5., -6.6667}, {4.8296, -2.5882, -6.6667}, {4.8296, -2.5882, -5.}, {4.3301, -5., -5.}}], Polygon[{{4.8296, -2.5882, -6.6667}, {5., -2.0213*^-14, -6.6667}, {5., -2.0213*^-14, -5.}, {4.8296, -2.5882, -5.}}], Polygon[{{5., 0., -5.}, {4.8296, 2.5882, -5.}, {4.8296, 2.5882, -3.3333}, {5., 0., -3.3333}}], Polygon[{{4.8296, 2.5882, -5.}, {4.3301, 5., -5.}, {4.3301, 5., -3.3333}, {4.8296, 2.5882, -3.3333}}], Polygon[{{4.3301, 5., -5.}, {3.5355, 7.0711, -5.}, {3.5355, 7.0711, -3.3333}, {4.3301, 5., -3.3333}}], Polygon[{{3.5355, 7.0711, -5.}, {2.5, 8.6603, -5.}, {2.5, 8.6603, -3.3333}, {3.5355, 7.0711, -3.3333}}], Polygon[{{2.5, 8.6603, -5.}, {1.2941, 9.6593, -5.}, {1.2941, 9.6593, -3.3333}, {2.5, 8.6603, -3.3333}}], Polygon[{{1.2941, 9.6593, -5.}, {1.4164*^-15, 10., -5.}, {1.4164*^-15, 10., -3.3333}, {1.2941, 9.6593, -3.3333}}], Polygon[{{1.4164*^-15, 10., -5.}, {-1.2941, 9.6593, -5.}, {-1.2941, 9.6593, -3.3333}, {1.4164*^-15, 10., -3.3333}}], Polygon[{{-1.2941, 9.6593, -5.}, {-2.5, 8.6603, -5.}, {-2.5, 8.6603, -3.3333}, {-1.2941, 9.6593, -3.3333}}], Polygon[{{-2.5, 8.6603, -5.}, {-3.5355, 7.0711, -5.}, {-3.5355, 7.0711, -3.3333}, {-2.5, 8.6603, -3.3333}}], Polygon[{{-3.5355, 7.0711, -5.}, {-4.3301, 5., -5.}, {-4.3301, 5., -3.3333}, {-3.5355, 7.0711, -3.3333}}], Polygon[{{-4.3301, 5., -5.}, {-4.8296, 2.5882, -5.}, {-4.8296, 2.5882, -3.3333}, {-4.3301, 5., -3.3333}}], Polygon[{{-4.8296, 2.5882, -5.}, {-5., -3.2163*^-15, -5.}, {-5., -3.2163*^-15, -3.3333}, {-4.8296, 2.5882, -3.3333}}], Polygon[{{-5., -3.2163*^-15, -5.}, {-4.8296, -2.5882, -5.}, {-4.8296, -2.5882, -3.3333}, {-5., -3.2163*^-15, -3.3333}}], Polygon[{{-4.8296, -2.5882, -5.}, {-4.3301, -5., -5.}, {-4.3301, -5., -3.3333}, {-4.8296, -2.5882, -3.3333}}], Polygon[{{-4.3301, -5., -5.}, {-3.5355, -7.0711, -5.}, {-3.5355, -7.0711, -3.3333}, {-4.3301, -5., -3.3333}}], Polygon[{{-3.5355, -7.0711, -5.}, {-2.5, -8.6603, -5.}, {-2.5, -8.6603, -3.3333}, {-3.5355, -7.0711, -3.3333}}], Polygon[{{-2.5, -8.6603, -5.}, {-1.2941, -9.6593, -5.}, {-1.2941, -9.6593, -3.3333}, {-2.5, -8.6603, -3.3333}}], Polygon[{{-1.2941, -9.6593, -5.}, {-9.1845*^-16, -10., -5.}, {-9.1845*^-16, -10., -3.3333}, {-1.2941, -9.6593, -3.3333}}], Polygon[{{-9.1845*^-16, -10., -5.}, {1.2941, -9.6593, -5.}, {1.2941, -9.6593, -3.3333}, {-9.1845*^-16, -10., -3.3333}}], Polygon[{{1.2941, -9.6593, -5.}, {2.5, -8.6603, -5.}, {2.5, -8.6603, -3.3333}, {1.2941, -9.6593, -3.3333}}], Polygon[{{2.5, -8.6603, -5.}, {3.5355, -7.0711, -5.}, {3.5355, -7.0711, -3.3333}, {2.5, -8.6603, -3.3333}}], Polygon[{{3.5355, -7.0711, -5.}, {4.3301, -5., -5.}, {4.3301, -5., -3.3333}, {3.5355, -7.0711, -3.3333}}], Polygon[{{4.3301, -5., -5.}, {4.8296, -2.5882, -5.}, {4.8296, -2.5882, -3.3333}, {4.3301, -5., -3.3333}}], Polygon[{{4.8296, -2.5882, -5.}, {5., -2.0213*^-14, -5.}, {5., -2.0213*^-14, -3.3333}, {4.8296, -2.5882, -3.3333}}], Polygon[{{5., 0., -3.3333}, {4.8296, 2.5882, -3.3333}, {4.8296, 2.5882, -1.6667}, {5., 0., -1.6667}}], Polygon[{{4.8296, 2.5882, -3.3333}, {4.3301, 5., -3.3333}, {4.3301, 5., -1.6667}, {4.8296, 2.5882, -1.6667}}], Polygon[{{4.3301, 5., -3.3333}, {3.5355, 7.0711, -3.3333}, {3.5355, 7.0711, -1.6667}, {4.3301, 5., -1.6667}}], Polygon[{{3.5355, 7.0711, -3.3333}, {2.5, 8.6603, -3.3333}, {2.5, 8.6603, -1.6667}, {3.5355, 7.0711, -1.6667}}], Polygon[{{2.5, 8.6603, -3.3333}, {1.2941, 9.6593, -3.3333}, {1.2941, 9.6593, -1.6667}, {2.5, 8.6603, -1.6667}}], Polygon[{{1.2941, 9.6593, -3.3333}, {1.4164*^-15, 10., -3.3333}, {1.4164*^-15, 10., -1.6667}, {1.2941, 9.6593, -1.6667}}], Polygon[{{1.4164*^-15, 10., -3.3333}, {-1.2941, 9.6593, -3.3333}, {-1.2941, 9.6593, -1.6667}, {1.4164*^-15, 10., -1.6667}}], Polygon[{{-1.2941, 9.6593, -3.3333}, {-2.5, 8.6603, -3.3333}, {-2.5, 8.6603, -1.6667}, {-1.2941, 9.6593, -1.6667}}], Polygon[{{-2.5, 8.6603, -3.3333}, {-3.5355, 7.0711, -3.3333}, {-3.5355, 7.0711, -1.6667}, {-2.5, 8.6603, -1.6667}}], Polygon[{{-3.5355, 7.0711, -3.3333}, {-4.3301, 5., -3.3333}, {-4.3301, 5., -1.6667}, {-3.5355, 7.0711, -1.6667}}], Polygon[{{-4.3301, 5., -3.3333}, {-4.8296, 2.5882, -3.3333}, {-4.8296, 2.5882, -1.6667}, {-4.3301, 5., -1.6667}}], Polygon[{{-4.8296, 2.5882, -3.3333}, {-5., -3.2163*^-15, -3.3333}, {-5., -3.2163*^-15, -1.6667}, {-4.8296, 2.5882, -1.6667}}], Polygon[{{-5., -3.2163*^-15, -3.3333}, {-4.8296, -2.5882, -3.3333}, {-4.8296, -2.5882, -1.6667}, {-5., -3.2163*^-15, -1.6667}}], Polygon[{{-4.8296, -2.5882, -3.3333}, {-4.3301, -5., -3.3333}, {-4.3301, -5., -1.6667}, {-4.8296, -2.5882, -1.6667}}], Polygon[{{-4.3301, -5., -3.3333}, {-3.5355, -7.0711, -3.3333}, {-3.5355, -7.0711, -1.6667}, {-4.3301, -5., -1.6667}}], Polygon[{{-3.5355, -7.0711, -3.3333}, {-2.5, -8.6603, -3.3333}, {-2.5, -8.6603, -1.6667}, {-3.5355, -7.0711, -1.6667}}], Polygon[{{-2.5, -8.6603, -3.3333}, {-1.2941, -9.6593, -3.3333}, {-1.2941, -9.6593, -1.6667}, {-2.5, -8.6603, -1.6667}}], Polygon[{{-1.2941, -9.6593, -3.3333}, {-9.1845*^-16, -10., -3.3333}, {-9.1845*^-16, -10., -1.6667}, {-1.2941, -9.6593, -1.6667}}], Polygon[{{-9.1845*^-16, -10., -3.3333}, {1.2941, -9.6593, -3.3333}, {1.2941, -9.6593, -1.6667}, {-9.1845*^-16, -10., -1.6667}}], Polygon[{{1.2941, -9.6593, -3.3333}, {2.5, -8.6603, -3.3333}, {2.5, -8.6603, -1.6667}, {1.2941, -9.6593, -1.6667}}], Polygon[{{2.5, -8.6603, -3.3333}, {3.5355, -7.0711, -3.3333}, {3.5355, -7.0711, -1.6667}, {2.5, -8.6603, -1.6667}}], Polygon[{{3.5355, -7.0711, -3.3333}, {4.3301, -5., -3.3333}, {4.3301, -5., -1.6667}, {3.5355, -7.0711, -1.6667}}], Polygon[{{4.3301, -5., -3.3333}, {4.8296, -2.5882, -3.3333}, {4.8296, -2.5882, -1.6667}, {4.3301, -5., -1.6667}}], Polygon[{{4.8296, -2.5882, -3.3333}, {5., -2.0213*^-14, -3.3333}, {5., -2.0213*^-14, -1.6667}, {4.8296, -2.5882, -1.6667}}], Polygon[{{5., 0., -1.6667}, {4.8296, 2.5882, -1.6667}, {4.8296, 2.5882, 4.4409*^-16}, {5., 0., 4.4409*^-16}}], Polygon[{{4.8296, 2.5882, -1.6667}, {4.3301, 5., -1.6667}, {4.3301, 5., 4.4409*^-16}, {4.8296, 2.5882, 4.4409*^-16}}], Polygon[{{4.3301, 5., -1.6667}, {3.5355, 7.0711, -1.6667}, {3.5355, 7.0711, 4.4409*^-16}, {4.3301, 5., 4.4409*^-16}}], Polygon[{{3.5355, 7.0711, -1.6667}, {2.5, 8.6603, -1.6667}, {2.5, 8.6603, 4.4409*^-16}, {3.5355, 7.0711, 4.4409*^-16}}], Polygon[{{2.5, 8.6603, -1.6667}, {1.2941, 9.6593, -1.6667}, {1.2941, 9.6593, 4.4409*^-16}, {2.5, 8.6603, 4.4409*^-16}}], Polygon[{{1.2941, 9.6593, -1.6667}, {1.4164*^-15, 10., -1.6667}, {1.4164*^-15, 10., 4.4409*^-16}, {1.2941, 9.6593, 4.4409*^-16}}], Polygon[{{1.4164*^-15, 10., -1.6667}, {-1.2941, 9.6593, -1.6667}, {-1.2941, 9.6593, 4.4409*^-16}, {1.4164*^-15, 10., 4.4409*^-16}}], Polygon[{{-1.2941, 9.6593, -1.6667}, {-2.5, 8.6603, -1.6667}, {-2.5, 8.6603, 4.4409*^-16}, {-1.2941, 9.6593, 4.4409*^-16}}], Polygon[{{-2.5, 8.6603, -1.6667}, {-3.5355, 7.0711, -1.6667}, {-3.5355, 7.0711, 4.4409*^-16}, {-2.5, 8.6603, 4.4409*^-16}}], Polygon[{{-3.5355, 7.0711, -1.6667}, {-4.3301, 5., -1.6667}, {-4.3301, 5., 4.4409*^-16}, {-3.5355, 7.0711, 4.4409*^-16}}], Polygon[{{-4.3301, 5., -1.6667}, {-4.8296, 2.5882, -1.6667}, {-4.8296, 2.5882, 4.4409*^-16}, {-4.3301, 5., 4.4409*^-16}}], Polygon[{{-4.8296, 2.5882, -1.6667}, {-5., -3.2163*^-15, -1.6667}, {-5., -3.2163*^-15, 4.4409*^-16}, {-4.8296, 2.5882, 4.4409*^-16}}], Polygon[{{-5., -3.2163*^-15, -1.6667}, {-4.8296, -2.5882, -1.6667}, {-4.8296, -2.5882, 4.4409*^-16}, {-5., -3.2163*^-15, 4.4409*^-16}}], Polygon[{{-4.8296, -2.5882, -1.6667}, {-4.3301, -5., -1.6667}, {-4.3301, -5., 4.4409*^-16}, {-4.8296, -2.5882, 4.4409*^-16}}], Polygon[{{-4.3301, -5., -1.6667}, {-3.5355, -7.0711, -1.6667}, {-3.5355, -7.0711, 4.4409*^-16}, {-4.3301, -5., 4.4409*^-16}}], Polygon[{{-3.5355, -7.0711, -1.6667}, {-2.5, -8.6603, -1.6667}, {-2.5, -8.6603, 4.4409*^-16}, {-3.5355, -7.0711, 4.4409*^-16}}], Polygon[{{-2.5, -8.6603, -1.6667}, {-1.2941, -9.6593, -1.6667}, {-1.2941, -9.6593, 4.4409*^-16}, {-2.5, -8.6603, 4.4409*^-16}}], Polygon[{{-1.2941, -9.6593, -1.6667}, {-9.1845*^-16, -10., -1.6667}, {-9.1845*^-16, -10., 4.4409*^-16}, {-1.2941, -9.6593, 4.4409*^-16}}], Polygon[{{-9.1845*^-16, -10., -1.6667}, {1.2941, -9.6593, -1.6667}, {1.2941, -9.6593, 4.4409*^-16}, {-9.1845*^-16, -10., 4.4409*^-16}}], Polygon[{{1.2941, -9.6593, -1.6667}, {2.5, -8.6603, -1.6667}, {2.5, -8.6603, 4.4409*^-16}, {1.2941, -9.6593, 4.4409*^-16}}], Polygon[{{2.5, -8.6603, -1.6667}, {3.5355, -7.0711, -1.6667}, {3.5355, -7.0711, 4.4409*^-16}, {2.5, -8.6603, 4.4409*^-16}}], Polygon[{{3.5355, -7.0711, -1.6667}, {4.3301, -5., -1.6667}, {4.3301, -5., 4.4409*^-16}, {3.5355, -7.0711, 4.4409*^-16}}], Polygon[{{4.3301, -5., -1.6667}, {4.8296, -2.5882, -1.6667}, {4.8296, -2.5882, 4.4409*^-16}, {4.3301, -5., 4.4409*^-16}}], Polygon[{{4.8296, -2.5882, -1.6667}, {5., -2.0213*^-14, -1.6667}, {5., -2.0213*^-14, 4.4409*^-16}, {4.8296, -2.5882, 4.4409*^-16}}], Polygon[{{5., 0., 4.4409*^-16}, {4.8296, 2.5882, 4.4409*^-16}, {4.8296, 2.5882, 1.6667}, {5., 0., 1.6667}}], Polygon[{{4.8296, 2.5882, 4.4409*^-16}, {4.3301, 5., 4.4409*^-16}, {4.3301, 5., 1.6667}, {4.8296, 2.5882, 1.6667}}], Polygon[{{4.3301, 5., 4.4409*^-16}, {3.5355, 7.0711, 4.4409*^-16}, {3.5355, 7.0711, 1.6667}, {4.3301, 5., 1.6667}}], Polygon[{{3.5355, 7.0711, 4.4409*^-16}, {2.5, 8.6603, 4.4409*^-16}, {2.5, 8.6603, 1.6667}, {3.5355, 7.0711, 1.6667}}], Polygon[{{2.5, 8.6603, 4.4409*^-16}, {1.2941, 9.6593, 4.4409*^-16}, {1.2941, 9.6593, 1.6667}, {2.5, 8.6603, 1.6667}}], Polygon[{{1.2941, 9.6593, 4.4409*^-16}, {1.4164*^-15, 10., 4.4409*^-16}, {1.4164*^-15, 10., 1.6667}, {1.2941, 9.6593, 1.6667}}], Polygon[{{1.4164*^-15, 10., 4.4409*^-16}, {-1.2941, 9.6593, 4.4409*^-16}, {-1.2941, 9.6593, 1.6667}, {1.4164*^-15, 10., 1.6667}}], Polygon[{{-1.2941, 9.6593, 4.4409*^-16}, {-2.5, 8.6603, 4.4409*^-16}, {-2.5, 8.6603, 1.6667}, {-1.2941, 9.6593, 1.6667}}], Polygon[{{-2.5, 8.6603, 4.4409*^-16}, {-3.5355, 7.0711, 4.4409*^-16}, {-3.5355, 7.0711, 1.6667}, {-2.5, 8.6603, 1.6667}}], Polygon[{{-3.5355, 7.0711, 4.4409*^-16}, {-4.3301, 5., 4.4409*^-16}, {-4.3301, 5., 1.6667}, {-3.5355, 7.0711, 1.6667}}], Polygon[{{-4.3301, 5., 4.4409*^-16}, {-4.8296, 2.5882, 4.4409*^-16}, {-4.8296, 2.5882, 1.6667}, {-4.3301, 5., 1.6667}}], Polygon[{{-4.8296, 2.5882, 4.4409*^-16}, {-5., -3.2163*^-15, 4.4409*^-16}, {-5., -3.2163*^-15, 1.6667}, {-4.8296, 2.5882, 1.6667}}], Polygon[{{-5., -3.2163*^-15, 4.4409*^-16}, {-4.8296, -2.5882, 4.4409*^-16}, {-4.8296, -2.5882, 1.6667}, {-5., -3.2163*^-15, 1.6667}}], Polygon[{{-4.8296, -2.5882, 4.4409*^-16}, {-4.3301, -5., 4.4409*^-16}, {-4.3301, -5., 1.6667}, {-4.8296, -2.5882, 1.6667}}], Polygon[{{-4.3301, -5., 4.4409*^-16}, {-3.5355, -7.0711, 4.4409*^-16}, {-3.5355, -7.0711, 1.6667}, {-4.3301, -5., 1.6667}}], Polygon[{{-3.5355, -7.0711, 4.4409*^-16}, {-2.5, -8.6603, 4.4409*^-16}, {-2.5, -8.6603, 1.6667}, {-3.5355, -7.0711, 1.6667}}], Polygon[{{-2.5, -8.6603, 4.4409*^-16}, {-1.2941, -9.6593, 4.4409*^-16}, {-1.2941, -9.6593, 1.6667}, {-2.5, -8.6603, 1.6667}}], Polygon[{{-1.2941, -9.6593, 4.4409*^-16}, {-9.1845*^-16, -10., 4.4409*^-16}, {-9.1845*^-16, -10., 1.6667}, {-1.2941, -9.6593, 1.6667}}], Polygon[{{-9.1845*^-16, -10., 4.4409*^-16}, {1.2941, -9.6593, 4.4409*^-16}, {1.2941, -9.6593, 1.6667}, {-9.1845*^-16, -10., 1.6667}}], Polygon[{{1.2941, -9.6593, 4.4409*^-16}, {2.5, -8.6603, 4.4409*^-16}, {2.5, -8.6603, 1.6667}, {1.2941, -9.6593, 1.6667}}], Polygon[{{2.5, -8.6603, 4.4409*^-16}, {3.5355, -7.0711, 4.4409*^-16}, {3.5355, -7.0711, 1.6667}, {2.5, -8.6603, 1.6667}}], Polygon[{{3.5355, -7.0711, 4.4409*^-16}, {4.3301, -5., 4.4409*^-16}, {4.3301, -5., 1.6667}, {3.5355, -7.0711, 1.6667}}], Polygon[{{4.3301, -5., 4.4409*^-16}, {4.8296, -2.5882, 4.4409*^-16}, {4.8296, -2.5882, 1.6667}, {4.3301, -5., 1.6667}}], Polygon[{{4.8296, -2.5882, 4.4409*^-16}, {5., -2.0213*^-14, 4.4409*^-16}, {5., -2.0213*^-14, 1.6667}, {4.8296, -2.5882, 1.6667}}], Polygon[{{5., 0., 1.6667}, {4.8296, 2.5882, 1.6667}, {4.8296, 2.5882, 3.3333}, {5., 0., 3.3333}}], Polygon[{{4.8296, 2.5882, 1.6667}, {4.3301, 5., 1.6667}, {4.3301, 5., 3.3333}, {4.8296, 2.5882, 3.3333}}], Polygon[{{4.3301, 5., 1.6667}, {3.5355, 7.0711, 1.6667}, {3.5355, 7.0711, 3.3333}, {4.3301, 5., 3.3333}}], Polygon[{{3.5355, 7.0711, 1.6667}, {2.5, 8.6603, 1.6667}, {2.5, 8.6603, 3.3333}, {3.5355, 7.0711, 3.3333}}], Polygon[{{2.5, 8.6603, 1.6667}, {1.2941, 9.6593, 1.6667}, {1.2941, 9.6593, 3.3333}, {2.5, 8.6603, 3.3333}}], Polygon[{{1.2941, 9.6593, 1.6667}, {1.4164*^-15, 10., 1.6667}, {1.4164*^-15, 10., 3.3333}, {1.2941, 9.6593, 3.3333}}], Polygon[{{1.4164*^-15, 10., 1.6667}, {-1.2941, 9.6593, 1.6667}, {-1.2941, 9.6593, 3.3333}, {1.4164*^-15, 10., 3.3333}}], Polygon[{{-1.2941, 9.6593, 1.6667}, {-2.5, 8.6603, 1.6667}, {-2.5, 8.6603, 3.3333}, {-1.2941, 9.6593, 3.3333}}], Polygon[{{-2.5, 8.6603, 1.6667}, {-3.5355, 7.0711, 1.6667}, {-3.5355, 7.0711, 3.3333}, {-2.5, 8.6603, 3.3333}}], Polygon[{{-3.5355, 7.0711, 1.6667}, {-4.3301, 5., 1.6667}, {-4.3301, 5., 3.3333}, {-3.5355, 7.0711, 3.3333}}], Polygon[{{-4.3301, 5., 1.6667}, {-4.8296, 2.5882, 1.6667}, {-4.8296, 2.5882, 3.3333}, {-4.3301, 5., 3.3333}}], Polygon[{{-4.8296, 2.5882, 1.6667}, {-5., -3.2163*^-15, 1.6667}, {-5., -3.2163*^-15, 3.3333}, {-4.8296, 2.5882, 3.3333}}], Polygon[{{-5., -3.2163*^-15, 1.6667}, {-4.8296, -2.5882, 1.6667}, {-4.8296, -2.5882, 3.3333}, {-5., -3.2163*^-15, 3.3333}}], Polygon[{{-4.8296, -2.5882, 1.6667}, {-4.3301, -5., 1.6667}, {-4.3301, -5., 3.3333}, {-4.8296, -2.5882, 3.3333}}], Polygon[{{-4.3301, -5., 1.6667}, {-3.5355, -7.0711, 1.6667}, {-3.5355, -7.0711, 3.3333}, {-4.3301, -5., 3.3333}}], Polygon[{{-3.5355, -7.0711, 1.6667}, {-2.5, -8.6603, 1.6667}, {-2.5, -8.6603, 3.3333}, {-3.5355, -7.0711, 3.3333}}], Polygon[{{-2.5, -8.6603, 1.6667}, {-1.2941, -9.6593, 1.6667}, {-1.2941, -9.6593, 3.3333}, {-2.5, -8.6603, 3.3333}}], Polygon[{{-1.2941, -9.6593, 1.6667}, {-9.1845*^-16, -10., 1.6667}, {-9.1845*^-16, -10., 3.3333}, {-1.2941, -9.6593, 3.3333}}], Polygon[{{-9.1845*^-16, -10., 1.6667}, {1.2941, -9.6593, 1.6667}, {1.2941, -9.6593, 3.3333}, {-9.1845*^-16, -10., 3.3333}}], Polygon[{{1.2941, -9.6593, 1.6667}, {2.5, -8.6603, 1.6667}, {2.5, -8.6603, 3.3333}, {1.2941, -9.6593, 3.3333}}], Polygon[{{2.5, -8.6603, 1.6667}, {3.5355, -7.0711, 1.6667}, {3.5355, -7.0711, 3.3333}, {2.5, -8.6603, 3.3333}}], Polygon[{{3.5355, -7.0711, 1.6667}, {4.3301, -5., 1.6667}, {4.3301, -5., 3.3333}, {3.5355, -7.0711, 3.3333}}], Polygon[{{4.3301, -5., 1.6667}, {4.8296, -2.5882, 1.6667}, {4.8296, -2.5882, 3.3333}, {4.3301, -5., 3.3333}}], Polygon[{{4.8296, -2.5882, 1.6667}, {5., -2.0213*^-14, 1.6667}, {5., -2.0213*^-14, 3.3333}, {4.8296, -2.5882, 3.3333}}], Polygon[{{5., 0., 3.3333}, {4.8296, 2.5882, 3.3333}, {4.8296, 2.5882, 5.}, {5., 0., 5.}}], Polygon[{{4.8296, 2.5882, 3.3333}, {4.3301, 5., 3.3333}, {4.3301, 5., 5.}, {4.8296, 2.5882, 5.}}], Polygon[{{4.3301, 5., 3.3333}, {3.5355, 7.0711, 3.3333}, {3.5355, 7.0711, 5.}, {4.3301, 5., 5.}}], Polygon[{{3.5355, 7.0711, 3.3333}, {2.5, 8.6603, 3.3333}, {2.5, 8.6603, 5.}, {3.5355, 7.0711, 5.}}], Polygon[{{2.5, 8.6603, 3.3333}, {1.2941, 9.6593, 3.3333}, {1.2941, 9.6593, 5.}, {2.5, 8.6603, 5.}}], Polygon[{{1.2941, 9.6593, 3.3333}, {1.4164*^-15, 10., 3.3333}, {1.4164*^-15, 10., 5.}, {1.2941, 9.6593, 5.}}], Polygon[{{1.4164*^-15, 10., 3.3333}, {-1.2941, 9.6593, 3.3333}, {-1.2941, 9.6593, 5.}, {1.4164*^-15, 10., 5.}}], Polygon[{{-1.2941, 9.6593, 3.3333}, {-2.5, 8.6603, 3.3333}, {-2.5, 8.6603, 5.}, {-1.2941, 9.6593, 5.}}], Polygon[{{-2.5, 8.6603, 3.3333}, {-3.5355, 7.0711, 3.3333}, {-3.5355, 7.0711, 5.}, {-2.5, 8.6603, 5.}}], Polygon[{{-3.5355, 7.0711, 3.3333}, {-4.3301, 5., 3.3333}, {-4.3301, 5., 5.}, {-3.5355, 7.0711, 5.}}], Polygon[{{-4.3301, 5., 3.3333}, {-4.8296, 2.5882, 3.3333}, {-4.8296, 2.5882, 5.}, {-4.3301, 5., 5.}}], Polygon[{{-4.8296, 2.5882, 3.3333}, {-5., -3.2163*^-15, 3.3333}, {-5., -3.2163*^-15, 5.}, {-4.8296, 2.5882, 5.}}], Polygon[{{-5., -3.2163*^-15, 3.3333}, {-4.8296, -2.5882, 3.3333}, {-4.8296, -2.5882, 5.}, {-5., -3.2163*^-15, 5.}}], Polygon[{{-4.8296, -2.5882, 3.3333}, {-4.3301, -5., 3.3333}, {-4.3301, -5., 5.}, {-4.8296, -2.5882, 5.}}], Polygon[{{-4.3301, -5., 3.3333}, {-3.5355, -7.0711, 3.3333}, {-3.5355, -7.0711, 5.}, {-4.3301, -5., 5.}}], Polygon[{{-3.5355, -7.0711, 3.3333}, {-2.5, -8.6603, 3.3333}, {-2.5, -8.6603, 5.}, {-3.5355, -7.0711, 5.}}], Polygon[{{-2.5, -8.6603, 3.3333}, {-1.2941, -9.6593, 3.3333}, {-1.2941, -9.6593, 5.}, {-2.5, -8.6603, 5.}}], Polygon[{{-1.2941, -9.6593, 3.3333}, {-9.1845*^-16, -10., 3.3333}, {-9.1845*^-16, -10., 5.}, {-1.2941, -9.6593, 5.}}], Polygon[{{-9.1845*^-16, -10., 3.3333}, {1.2941, -9.6593, 3.3333}, {1.2941, -9.6593, 5.}, {-9.1845*^-16, -10., 5.}}], Polygon[{{1.2941, -9.6593, 3.3333}, {2.5, -8.6603, 3.3333}, {2.5, -8.6603, 5.}, {1.2941, -9.6593, 5.}}], Polygon[{{2.5, -8.6603, 3.3333}, {3.5355, -7.0711, 3.3333}, {3.5355, -7.0711, 5.}, {2.5, -8.6603, 5.}}], Polygon[{{3.5355, -7.0711, 3.3333}, {4.3301, -5., 3.3333}, {4.3301, -5., 5.}, {3.5355, -7.0711, 5.}}], Polygon[{{4.3301, -5., 3.3333}, {4.8296, -2.5882, 3.3333}, {4.8296, -2.5882, 5.}, {4.3301, -5., 5.}}], Polygon[{{4.8296, -2.5882, 3.3333}, {5., -2.0213*^-14, 3.3333}, {5., -2.0213*^-14, 5.}, {4.8296, -2.5882, 5.}}], Polygon[{{5., 0., 5.}, {4.8296, 2.5882, 5.}, {4.8296, 2.5882, 6.6667}, {5., 0., 6.6667}}], Polygon[{{4.8296, 2.5882, 5.}, {4.3301, 5., 5.}, {4.3301, 5., 6.6667}, {4.8296, 2.5882, 6.6667}}], Polygon[{{4.3301, 5., 5.}, {3.5355, 7.0711, 5.}, {3.5355, 7.0711, 6.6667}, {4.3301, 5., 6.6667}}], Polygon[{{3.5355, 7.0711, 5.}, {2.5, 8.6603, 5.}, {2.5, 8.6603, 6.6667}, {3.5355, 7.0711, 6.6667}}], Polygon[{{2.5, 8.6603, 5.}, {1.2941, 9.6593, 5.}, {1.2941, 9.6593, 6.6667}, {2.5, 8.6603, 6.6667}}], Polygon[{{1.2941, 9.6593, 5.}, {1.4164*^-15, 10., 5.}, {1.4164*^-15, 10., 6.6667}, {1.2941, 9.6593, 6.6667}}], Polygon[{{1.4164*^-15, 10., 5.}, {-1.2941, 9.6593, 5.}, {-1.2941, 9.6593, 6.6667}, {1.4164*^-15, 10., 6.6667}}], Polygon[{{-1.2941, 9.6593, 5.}, {-2.5, 8.6603, 5.}, {-2.5, 8.6603, 6.6667}, {-1.2941, 9.6593, 6.6667}}], Polygon[{{-2.5, 8.6603, 5.}, {-3.5355, 7.0711, 5.}, {-3.5355, 7.0711, 6.6667}, {-2.5, 8.6603, 6.6667}}], Polygon[{{-3.5355, 7.0711, 5.}, {-4.3301, 5., 5.}, {-4.3301, 5., 6.6667}, {-3.5355, 7.0711, 6.6667}}], Polygon[{{-4.3301, 5., 5.}, {-4.8296, 2.5882, 5.}, {-4.8296, 2.5882, 6.6667}, {-4.3301, 5., 6.6667}}], Polygon[{{-4.8296, 2.5882, 5.}, {-5., -3.2163*^-15, 5.}, {-5., -3.2163*^-15, 6.6667}, {-4.8296, 2.5882, 6.6667}}], Polygon[{{-5., -3.2163*^-15, 5.}, {-4.8296, -2.5882, 5.}, {-4.8296, -2.5882, 6.6667}, {-5., -3.2163*^-15, 6.6667}}], Polygon[{{-4.8296, -2.5882, 5.}, {-4.3301, -5., 5.}, {-4.3301, -5., 6.6667}, {-4.8296, -2.5882, 6.6667}}], Polygon[{{-4.3301, -5., 5.}, {-3.5355, -7.0711, 5.}, {-3.5355, -7.0711, 6.6667}, {-4.3301, -5., 6.6667}}], Polygon[{{-3.5355, -7.0711, 5.}, {-2.5, -8.6603, 5.}, {-2.5, -8.6603, 6.6667}, {-3.5355, -7.0711, 6.6667}}], Polygon[{{-2.5, -8.6603, 5.}, {-1.2941, -9.6593, 5.}, {-1.2941, -9.6593, 6.6667}, {-2.5, -8.6603, 6.6667}}], Polygon[{{-1.2941, -9.6593, 5.}, {-9.1845*^-16, -10., 5.}, {-9.1845*^-16, -10., 6.6667}, {-1.2941, -9.6593, 6.6667}}], Polygon[{{-9.1845*^-16, -10., 5.}, {1.2941, -9.6593, 5.}, {1.2941, -9.6593, 6.6667}, {-9.1845*^-16, -10., 6.6667}}], Polygon[{{1.2941, -9.6593, 5.}, {2.5, -8.6603, 5.}, {2.5, -8.6603, 6.6667}, {1.2941, -9.6593, 6.6667}}], Polygon[{{2.5, -8.6603, 5.}, {3.5355, -7.0711, 5.}, {3.5355, -7.0711, 6.6667}, {2.5, -8.6603, 6.6667}}], Polygon[{{3.5355, -7.0711, 5.}, {4.3301, -5., 5.}, {4.3301, -5., 6.6667}, {3.5355, -7.0711, 6.6667}}], Polygon[{{4.3301, -5., 5.}, {4.8296, -2.5882, 5.}, {4.8296, -2.5882, 6.6667}, {4.3301, -5., 6.6667}}], Polygon[{{4.8296, -2.5882, 5.}, {5., -2.0213*^-14, 5.}, {5., -2.0213*^-14, 6.6667}, {4.8296, -2.5882, 6.6667}}], Polygon[{{5., 0., 6.6667}, {4.8296, 2.5882, 6.6667}, {4.8296, 2.5882, 8.3333}, {5., 0., 8.3333}}], Polygon[{{4.8296, 2.5882, 6.6667}, {4.3301, 5., 6.6667}, {4.3301, 5., 8.3333}, {4.8296, 2.5882, 8.3333}}], Polygon[{{4.3301, 5., 6.6667}, {3.5355, 7.0711, 6.6667}, {3.5355, 7.0711, 8.3333}, {4.3301, 5., 8.3333}}], Polygon[{{3.5355, 7.0711, 6.6667}, {2.5, 8.6603, 6.6667}, {2.5, 8.6603, 8.3333}, {3.5355, 7.0711, 8.3333}}], Polygon[{{2.5, 8.6603, 6.6667}, {1.2941, 9.6593, 6.6667}, {1.2941, 9.6593, 8.3333}, {2.5, 8.6603, 8.3333}}], Polygon[{{1.2941, 9.6593, 6.6667}, {1.4164*^-15, 10., 6.6667}, {1.4164*^-15, 10., 8.3333}, {1.2941, 9.6593, 8.3333}}], Polygon[{{1.4164*^-15, 10., 6.6667}, {-1.2941, 9.6593, 6.6667}, {-1.2941, 9.6593, 8.3333}, {1.4164*^-15, 10., 8.3333}}], Polygon[{{-1.2941, 9.6593, 6.6667}, {-2.5, 8.6603, 6.6667}, {-2.5, 8.6603, 8.3333}, {-1.2941, 9.6593, 8.3333}}], Polygon[{{-2.5, 8.6603, 6.6667}, {-3.5355, 7.0711, 6.6667}, {-3.5355, 7.0711, 8.3333}, {-2.5, 8.6603, 8.3333}}], Polygon[{{-3.5355, 7.0711, 6.6667}, {-4.3301, 5., 6.6667}, {-4.3301, 5., 8.3333}, {-3.5355, 7.0711, 8.3333}}], Polygon[{{-4.3301, 5., 6.6667}, {-4.8296, 2.5882, 6.6667}, {-4.8296, 2.5882, 8.3333}, {-4.3301, 5., 8.3333}}], Polygon[{{-4.8296, 2.5882, 6.6667}, {-5., -3.2163*^-15, 6.6667}, {-5., -3.2163*^-15, 8.3333}, {-4.8296, 2.5882, 8.3333}}], Polygon[{{-5., -3.2163*^-15, 6.6667}, {-4.8296, -2.5882, 6.6667}, {-4.8296, -2.5882, 8.3333}, {-5., -3.2163*^-15, 8.3333}}], Polygon[{{-4.8296, -2.5882, 6.6667}, {-4.3301, -5., 6.6667}, {-4.3301, -5., 8.3333}, {-4.8296, -2.5882, 8.3333}}], Polygon[{{-4.3301, -5., 6.6667}, {-3.5355, -7.0711, 6.6667}, {-3.5355, -7.0711, 8.3333}, {-4.3301, -5., 8.3333}}], Polygon[{{-3.5355, -7.0711, 6.6667}, {-2.5, -8.6603, 6.6667}, {-2.5, -8.6603, 8.3333}, {-3.5355, -7.0711, 8.3333}}], Polygon[{{-2.5, -8.6603, 6.6667}, {-1.2941, -9.6593, 6.6667}, {-1.2941, -9.6593, 8.3333}, {-2.5, -8.6603, 8.3333}}], Polygon[{{-1.2941, -9.6593, 6.6667}, {-9.1845*^-16, -10., 6.6667}, {-9.1845*^-16, -10., 8.3333}, {-1.2941, -9.6593, 8.3333}}], Polygon[{{-9.1845*^-16, -10., 6.6667}, {1.2941, -9.6593, 6.6667}, {1.2941, -9.6593, 8.3333}, {-9.1845*^-16, -10., 8.3333}}], Polygon[{{1.2941, -9.6593, 6.6667}, {2.5, -8.6603, 6.6667}, {2.5, -8.6603, 8.3333}, {1.2941, -9.6593, 8.3333}}], Polygon[{{2.5, -8.6603, 6.6667}, {3.5355, -7.0711, 6.6667}, {3.5355, -7.0711, 8.3333}, {2.5, -8.6603, 8.3333}}], Polygon[{{3.5355, -7.0711, 6.6667}, {4.3301, -5., 6.6667}, {4.3301, -5., 8.3333}, {3.5355, -7.0711, 8.3333}}], Polygon[{{4.3301, -5., 6.6667}, {4.8296, -2.5882, 6.6667}, {4.8296, -2.5882, 8.3333}, {4.3301, -5., 8.3333}}], Polygon[{{4.8296, -2.5882, 6.6667}, {5., -2.0213*^-14, 6.6667}, {5., -2.0213*^-14, 8.3333}, {4.8296, -2.5882, 8.3333}}], Polygon[{{5., 0., 8.3333}, {4.8296, 2.5882, 8.3333}, {4.8296, 2.5882, 10.}, {5., 0., 10.}}], Polygon[{{4.8296, 2.5882, 8.3333}, {4.3301, 5., 8.3333}, {4.3301, 5., 10.}, {4.8296, 2.5882, 10.}}], Polygon[{{4.3301, 5., 8.3333}, {3.5355, 7.0711, 8.3333}, {3.5355, 7.0711, 10.}, {4.3301, 5., 10.}}], Polygon[{{3.5355, 7.0711, 8.3333}, {2.5, 8.6603, 8.3333}, {2.5, 8.6603, 10.}, {3.5355, 7.0711, 10.}}], Polygon[{{2.5, 8.6603, 8.3333}, {1.2941, 9.6593, 8.3333}, {1.2941, 9.6593, 10.}, {2.5, 8.6603, 10.}}], Polygon[{{1.2941, 9.6593, 8.3333}, {1.4164*^-15, 10., 8.3333}, {1.4164*^-15, 10., 10.}, {1.2941, 9.6593, 10.}}], Polygon[{{1.4164*^-15, 10., 8.3333}, {-1.2941, 9.6593, 8.3333}, {-1.2941, 9.6593, 10.}, {1.4164*^-15, 10., 10.}}], Polygon[{{-1.2941, 9.6593, 8.3333}, {-2.5, 8.6603, 8.3333}, {-2.5, 8.6603, 10.}, {-1.2941, 9.6593, 10.}}], Polygon[{{-2.5, 8.6603, 8.3333}, {-3.5355, 7.0711, 8.3333}, {-3.5355, 7.0711, 10.}, {-2.5, 8.6603, 10.}}], Polygon[{{-3.5355, 7.0711, 8.3333}, {-4.3301, 5., 8.3333}, {-4.3301, 5., 10.}, {-3.5355, 7.0711, 10.}}], Polygon[{{-4.3301, 5., 8.3333}, {-4.8296, 2.5882, 8.3333}, {-4.8296, 2.5882, 10.}, {-4.3301, 5., 10.}}], Polygon[{{-4.8296, 2.5882, 8.3333}, {-5., -3.2163*^-15, 8.3333}, {-5., -3.2163*^-15, 10.}, {-4.8296, 2.5882, 10.}}], Polygon[{{-5., -3.2163*^-15, 8.3333}, {-4.8296, -2.5882, 8.3333}, {-4.8296, -2.5882, 10.}, {-5., -3.2163*^-15, 10.}}], Polygon[{{-4.8296, -2.5882, 8.3333}, {-4.3301, -5., 8.3333}, {-4.3301, -5., 10.}, {-4.8296, -2.5882, 10.}}], Polygon[{{-4.3301, -5., 8.3333}, {-3.5355, -7.0711, 8.3333}, {-3.5355, -7.0711, 10.}, {-4.3301, -5., 10.}}], Polygon[{{-3.5355, -7.0711, 8.3333}, {-2.5, -8.6603, 8.3333}, {-2.5, -8.6603, 10.}, {-3.5355, -7.0711, 10.}}], Polygon[{{-2.5, -8.6603, 8.3333}, {-1.2941, -9.6593, 8.3333}, {-1.2941, -9.6593, 10.}, {-2.5, -8.6603, 10.}}], Polygon[{{-1.2941, -9.6593, 8.3333}, {-9.1845*^-16, -10., 8.3333}, {-9.1845*^-16, -10., 10.}, {-1.2941, -9.6593, 10.}}], Polygon[{{-9.1845*^-16, -10., 8.3333}, {1.2941, -9.6593, 8.3333}, {1.2941, -9.6593, 10.}, {-9.1845*^-16, -10., 10.}}], Polygon[{{1.2941, -9.6593, 8.3333}, {2.5, -8.6603, 8.3333}, {2.5, -8.6603, 10.}, {1.2941, -9.6593, 10.}}], Polygon[{{2.5, -8.6603, 8.3333}, {3.5355, -7.0711, 8.3333}, {3.5355, -7.0711, 10.}, {2.5, -8.6603, 10.}}], Polygon[{{3.5355, -7.0711, 8.3333}, {4.3301, -5., 8.3333}, {4.3301, -5., 10.}, {3.5355, -7.0711, 10.}}], Polygon[{{4.3301, -5., 8.3333}, {4.8296, -2.5882, 8.3333}, {4.8296, -2.5882, 10.}, {4.3301, -5., 10.}}], Polygon[{{4.8296, -2.5882, 8.3333}, {5., -2.0213*^-14, 8.3333}, {5., -2.0213*^-14, 10.}, {4.8296, -2.5882, 10.}}], Polygon[{{5., 0., 10.}, {4.8296, 2.5882, 10.}, {4.8296, 2.5882, 11.667}, {5., 0., 11.667}}], Polygon[{{4.8296, 2.5882, 10.}, {4.3301, 5., 10.}, {4.3301, 5., 11.667}, {4.8296, 2.5882, 11.667}}], Polygon[{{4.3301, 5., 10.}, {3.5355, 7.0711, 10.}, {3.5355, 7.0711, 11.667}, {4.3301, 5., 11.667}}], Polygon[{{3.5355, 7.0711, 10.}, {2.5, 8.6603, 10.}, {2.5, 8.6603, 11.667}, {3.5355, 7.0711, 11.667}}], Polygon[{{2.5, 8.6603, 10.}, {1.2941, 9.6593, 10.}, {1.2941, 9.6593, 11.667}, {2.5, 8.6603, 11.667}}], Polygon[{{1.2941, 9.6593, 10.}, {1.4164*^-15, 10., 10.}, {1.4164*^-15, 10., 11.667}, {1.2941, 9.6593, 11.667}}], Polygon[{{1.4164*^-15, 10., 10.}, {-1.2941, 9.6593, 10.}, {-1.2941, 9.6593, 11.667}, {1.4164*^-15, 10., 11.667}}], Polygon[{{-1.2941, 9.6593, 10.}, {-2.5, 8.6603, 10.}, {-2.5, 8.6603, 11.667}, {-1.2941, 9.6593, 11.667}}], Polygon[{{-2.5, 8.6603, 10.}, {-3.5355, 7.0711, 10.}, {-3.5355, 7.0711, 11.667}, {-2.5, 8.6603, 11.667}}], Polygon[{{-3.5355, 7.0711, 10.}, {-4.3301, 5., 10.}, {-4.3301, 5., 11.667}, {-3.5355, 7.0711, 11.667}}], Polygon[{{-4.3301, 5., 10.}, {-4.8296, 2.5882, 10.}, {-4.8296, 2.5882, 11.667}, {-4.3301, 5., 11.667}}], Polygon[{{-4.8296, 2.5882, 10.}, {-5., -3.2163*^-15, 10.}, {-5., -3.2163*^-15, 11.667}, {-4.8296, 2.5882, 11.667}}], Polygon[{{-5., -3.2163*^-15, 10.}, {-4.8296, -2.5882, 10.}, {-4.8296, -2.5882, 11.667}, {-5., -3.2163*^-15, 11.667}}], Polygon[{{-4.8296, -2.5882, 10.}, {-4.3301, -5., 10.}, {-4.3301, -5., 11.667}, {-4.8296, -2.5882, 11.667}}], Polygon[{{-4.3301, -5., 10.}, {-3.5355, -7.0711, 10.}, {-3.5355, -7.0711, 11.667}, {-4.3301, -5., 11.667}}], Polygon[{{-3.5355, -7.0711, 10.}, {-2.5, -8.6603, 10.}, {-2.5, -8.6603, 11.667}, {-3.5355, -7.0711, 11.667}}], Polygon[{{-2.5, -8.6603, 10.}, {-1.2941, -9.6593, 10.}, {-1.2941, -9.6593, 11.667}, {-2.5, -8.6603, 11.667}}], Polygon[{{-1.2941, -9.6593, 10.}, {-9.1845*^-16, -10., 10.}, {-9.1845*^-16, -10., 11.667}, {-1.2941, -9.6593, 11.667}}], Polygon[{{-9.1845*^-16, -10., 10.}, {1.2941, -9.6593, 10.}, {1.2941, -9.6593, 11.667}, {-9.1845*^-16, -10., 11.667}}], Polygon[{{1.2941, -9.6593, 10.}, {2.5, -8.6603, 10.}, {2.5, -8.6603, 11.667}, {1.2941, -9.6593, 11.667}}], Polygon[{{2.5, -8.6603, 10.}, {3.5355, -7.0711, 10.}, {3.5355, -7.0711, 11.667}, {2.5, -8.6603, 11.667}}], Polygon[{{3.5355, -7.0711, 10.}, {4.3301, -5., 10.}, {4.3301, -5., 11.667}, {3.5355, -7.0711, 11.667}}], Polygon[{{4.3301, -5., 10.}, {4.8296, -2.5882, 10.}, {4.8296, -2.5882, 11.667}, {4.3301, -5., 11.667}}], Polygon[{{4.8296, -2.5882, 10.}, {5., -2.0213*^-14, 10.}, {5., -2.0213*^-14, 11.667}, {4.8296, -2.5882, 11.667}}], Polygon[{{5., 0., 11.667}, {4.8296, 2.5882, 11.667}, {4.8296, 2.5882, 13.333}, {5., 0., 13.333}}], Polygon[{{4.8296, 2.5882, 11.667}, {4.3301, 5., 11.667}, {4.3301, 5., 13.333}, {4.8296, 2.5882, 13.333}}], Polygon[{{4.3301, 5., 11.667}, {3.5355, 7.0711, 11.667}, {3.5355, 7.0711, 13.333}, {4.3301, 5., 13.333}}], Polygon[{{3.5355, 7.0711, 11.667}, {2.5, 8.6603, 11.667}, {2.5, 8.6603, 13.333}, {3.5355, 7.0711, 13.333}}], Polygon[{{2.5, 8.6603, 11.667}, {1.2941, 9.6593, 11.667}, {1.2941, 9.6593, 13.333}, {2.5, 8.6603, 13.333}}], Polygon[{{1.2941, 9.6593, 11.667}, {1.4164*^-15, 10., 11.667}, {1.4164*^-15, 10., 13.333}, {1.2941, 9.6593, 13.333}}], Polygon[{{1.4164*^-15, 10., 11.667}, {-1.2941, 9.6593, 11.667}, {-1.2941, 9.6593, 13.333}, {1.4164*^-15, 10., 13.333}}], Polygon[{{-1.2941, 9.6593, 11.667}, {-2.5, 8.6603, 11.667}, {-2.5, 8.6603, 13.333}, {-1.2941, 9.6593, 13.333}}], Polygon[{{-2.5, 8.6603, 11.667}, {-3.5355, 7.0711, 11.667}, {-3.5355, 7.0711, 13.333}, {-2.5, 8.6603, 13.333}}], Polygon[{{-3.5355, 7.0711, 11.667}, {-4.3301, 5., 11.667}, {-4.3301, 5., 13.333}, {-3.5355, 7.0711, 13.333}}], Polygon[{{-4.3301, 5., 11.667}, {-4.8296, 2.5882, 11.667}, {-4.8296, 2.5882, 13.333}, {-4.3301, 5., 13.333}}], Polygon[{{-4.8296, 2.5882, 11.667}, {-5., -3.2163*^-15, 11.667}, {-5., -3.2163*^-15, 13.333}, {-4.8296, 2.5882, 13.333}}], Polygon[{{-5., -3.2163*^-15, 11.667}, {-4.8296, -2.5882, 11.667}, {-4.8296, -2.5882, 13.333}, {-5., -3.2163*^-15, 13.333}}], Polygon[{{-4.8296, -2.5882, 11.667}, {-4.3301, -5., 11.667}, {-4.3301, -5., 13.333}, {-4.8296, -2.5882, 13.333}}], Polygon[{{-4.3301, -5., 11.667}, {-3.5355, -7.0711, 11.667}, {-3.5355, -7.0711, 13.333}, {-4.3301, -5., 13.333}}], Polygon[{{-3.5355, -7.0711, 11.667}, {-2.5, -8.6603, 11.667}, {-2.5, -8.6603, 13.333}, {-3.5355, -7.0711, 13.333}}], Polygon[{{-2.5, -8.6603, 11.667}, {-1.2941, -9.6593, 11.667}, {-1.2941, -9.6593, 13.333}, {-2.5, -8.6603, 13.333}}], Polygon[{{-1.2941, -9.6593, 11.667}, {-9.1845*^-16, -10., 11.667}, {-9.1845*^-16, -10., 13.333}, {-1.2941, -9.6593, 13.333}}], Polygon[{{-9.1845*^-16, -10., 11.667}, {1.2941, -9.6593, 11.667}, {1.2941, -9.6593, 13.333}, {-9.1845*^-16, -10., 13.333}}], Polygon[{{1.2941, -9.6593, 11.667}, {2.5, -8.6603, 11.667}, {2.5, -8.6603, 13.333}, {1.2941, -9.6593, 13.333}}], Polygon[{{2.5, -8.6603, 11.667}, {3.5355, -7.0711, 11.667}, {3.5355, -7.0711, 13.333}, {2.5, -8.6603, 13.333}}], Polygon[{{3.5355, -7.0711, 11.667}, {4.3301, -5., 11.667}, {4.3301, -5., 13.333}, {3.5355, -7.0711, 13.333}}], Polygon[{{4.3301, -5., 11.667}, {4.8296, -2.5882, 11.667}, {4.8296, -2.5882, 13.333}, {4.3301, -5., 13.333}}], Polygon[{{4.8296, -2.5882, 11.667}, {5., -2.0213*^-14, 11.667}, {5., -2.0213*^-14, 13.333}, {4.8296, -2.5882, 13.333}}], Polygon[{{5., 0., 13.333}, {4.8296, 2.5882, 13.333}, {4.8296, 2.5882, 15.}, {5., 0., 15.}}], Polygon[{{4.8296, 2.5882, 13.333}, {4.3301, 5., 13.333}, {4.3301, 5., 15.}, {4.8296, 2.5882, 15.}}], Polygon[{{4.3301, 5., 13.333}, {3.5355, 7.0711, 13.333}, {3.5355, 7.0711, 15.}, {4.3301, 5., 15.}}], Polygon[{{3.5355, 7.0711, 13.333}, {2.5, 8.6603, 13.333}, {2.5, 8.6603, 15.}, {3.5355, 7.0711, 15.}}], Polygon[{{2.5, 8.6603, 13.333}, {1.2941, 9.6593, 13.333}, {1.2941, 9.6593, 15.}, {2.5, 8.6603, 15.}}], Polygon[{{1.2941, 9.6593, 13.333}, {1.4164*^-15, 10., 13.333}, {1.4164*^-15, 10., 15.}, {1.2941, 9.6593, 15.}}], Polygon[{{1.4164*^-15, 10., 13.333}, {-1.2941, 9.6593, 13.333}, {-1.2941, 9.6593, 15.}, {1.4164*^-15, 10., 15.}}], Polygon[{{-1.2941, 9.6593, 13.333}, {-2.5, 8.6603, 13.333}, {-2.5, 8.6603, 15.}, {-1.2941, 9.6593, 15.}}], Polygon[{{-2.5, 8.6603, 13.333}, {-3.5355, 7.0711, 13.333}, {-3.5355, 7.0711, 15.}, {-2.5, 8.6603, 15.}}], Polygon[{{-3.5355, 7.0711, 13.333}, {-4.3301, 5., 13.333}, {-4.3301, 5., 15.}, {-3.5355, 7.0711, 15.}}], Polygon[{{-4.3301, 5., 13.333}, {-4.8296, 2.5882, 13.333}, {-4.8296, 2.5882, 15.}, {-4.3301, 5., 15.}}], Polygon[{{-4.8296, 2.5882, 13.333}, {-5., -3.2163*^-15, 13.333}, {-5., -3.2163*^-15, 15.}, {-4.8296, 2.5882, 15.}}], Polygon[{{-5., -3.2163*^-15, 13.333}, {-4.8296, -2.5882, 13.333}, {-4.8296, -2.5882, 15.}, {-5., -3.2163*^-15, 15.}}], Polygon[{{-4.8296, -2.5882, 13.333}, {-4.3301, -5., 13.333}, {-4.3301, -5., 15.}, {-4.8296, -2.5882, 15.}}], Polygon[{{-4.3301, -5., 13.333}, {-3.5355, -7.0711, 13.333}, {-3.5355, -7.0711, 15.}, {-4.3301, -5., 15.}}], Polygon[{{-3.5355, -7.0711, 13.333}, {-2.5, -8.6603, 13.333}, {-2.5, -8.6603, 15.}, {-3.5355, -7.0711, 15.}}], Polygon[{{-2.5, -8.6603, 13.333}, {-1.2941, -9.6593, 13.333}, {-1.2941, -9.6593, 15.}, {-2.5, -8.6603, 15.}}], Polygon[{{-1.2941, -9.6593, 13.333}, {-9.1845*^-16, -10., 13.333}, {-9.1845*^-16, -10., 15.}, {-1.2941, -9.6593, 15.}}], Polygon[{{-9.1845*^-16, -10., 13.333}, {1.2941, -9.6593, 13.333}, {1.2941, -9.6593, 15.}, {-9.1845*^-16, -10., 15.}}], Polygon[{{1.2941, -9.6593, 13.333}, {2.5, -8.6603, 13.333}, {2.5, -8.6603, 15.}, {1.2941, -9.6593, 15.}}], Polygon[{{2.5, -8.6603, 13.333}, {3.5355, -7.0711, 13.333}, {3.5355, -7.0711, 15.}, {2.5, -8.6603, 15.}}], Polygon[{{3.5355, -7.0711, 13.333}, {4.3301, -5., 13.333}, {4.3301, -5., 15.}, {3.5355, -7.0711, 15.}}], Polygon[{{4.3301, -5., 13.333}, {4.8296, -2.5882, 13.333}, {4.8296, -2.5882, 15.}, {4.3301, -5., 15.}}], Polygon[{{4.8296, -2.5882, 13.333}, {5., -2.0213*^-14, 13.333}, {5., -2.0213*^-14, 15.}, {4.8296, -2.5882, 15.}}], Polygon[{{5., 0., 15.}, {4.8296, 2.5882, 15.}, {4.8296, 2.5882, 16.667}, {5., 0., 16.667}}], Polygon[{{4.8296, 2.5882, 15.}, {4.3301, 5., 15.}, {4.3301, 5., 16.667}, {4.8296, 2.5882, 16.667}}], Polygon[{{4.3301, 5., 15.}, {3.5355, 7.0711, 15.}, {3.5355, 7.0711, 16.667}, {4.3301, 5., 16.667}}], Polygon[{{3.5355, 7.0711, 15.}, {2.5, 8.6603, 15.}, {2.5, 8.6603, 16.667}, {3.5355, 7.0711, 16.667}}], Polygon[{{2.5, 8.6603, 15.}, {1.2941, 9.6593, 15.}, {1.2941, 9.6593, 16.667}, {2.5, 8.6603, 16.667}}], Polygon[{{1.2941, 9.6593, 15.}, {1.4164*^-15, 10., 15.}, {1.4164*^-15, 10., 16.667}, {1.2941, 9.6593, 16.667}}], Polygon[{{1.4164*^-15, 10., 15.}, {-1.2941, 9.6593, 15.}, {-1.2941, 9.6593, 16.667}, {1.4164*^-15, 10., 16.667}}], Polygon[{{-1.2941, 9.6593, 15.}, {-2.5, 8.6603, 15.}, {-2.5, 8.6603, 16.667}, {-1.2941, 9.6593, 16.667}}], Polygon[{{-2.5, 8.6603, 15.}, {-3.5355, 7.0711, 15.}, {-3.5355, 7.0711, 16.667}, {-2.5, 8.6603, 16.667}}], Polygon[{{-3.5355, 7.0711, 15.}, {-4.3301, 5., 15.}, {-4.3301, 5., 16.667}, {-3.5355, 7.0711, 16.667}}], Polygon[{{-4.3301, 5., 15.}, {-4.8296, 2.5882, 15.}, {-4.8296, 2.5882, 16.667}, {-4.3301, 5., 16.667}}], Polygon[{{-4.8296, 2.5882, 15.}, {-5., -3.2163*^-15, 15.}, {-5., -3.2163*^-15, 16.667}, {-4.8296, 2.5882, 16.667}}], Polygon[{{-5., -3.2163*^-15, 15.}, {-4.8296, -2.5882, 15.}, {-4.8296, -2.5882, 16.667}, {-5., -3.2163*^-15, 16.667}}], Polygon[{{-4.8296, -2.5882, 15.}, {-4.3301, -5., 15.}, {-4.3301, -5., 16.667}, {-4.8296, -2.5882, 16.667}}], Polygon[{{-4.3301, -5., 15.}, {-3.5355, -7.0711, 15.}, {-3.5355, -7.0711, 16.667}, {-4.3301, -5., 16.667}}], Polygon[{{-3.5355, -7.0711, 15.}, {-2.5, -8.6603, 15.}, {-2.5, -8.6603, 16.667}, {-3.5355, -7.0711, 16.667}}], Polygon[{{-2.5, -8.6603, 15.}, {-1.2941, -9.6593, 15.}, {-1.2941, -9.6593, 16.667}, {-2.5, -8.6603, 16.667}}], Polygon[{{-1.2941, -9.6593, 15.}, {-9.1845*^-16, -10., 15.}, {-9.1845*^-16, -10., 16.667}, {-1.2941, -9.6593, 16.667}}], Polygon[{{-9.1845*^-16, -10., 15.}, {1.2941, -9.6593, 15.}, {1.2941, -9.6593, 16.667}, {-9.1845*^-16, -10., 16.667}}], Polygon[{{1.2941, -9.6593, 15.}, {2.5, -8.6603, 15.}, {2.5, -8.6603, 16.667}, {1.2941, -9.6593, 16.667}}], Polygon[{{2.5, -8.6603, 15.}, {3.5355, -7.0711, 15.}, {3.5355, -7.0711, 16.667}, {2.5, -8.6603, 16.667}}], Polygon[{{3.5355, -7.0711, 15.}, {4.3301, -5., 15.}, {4.3301, -5., 16.667}, {3.5355, -7.0711, 16.667}}], Polygon[{{4.3301, -5., 15.}, {4.8296, -2.5882, 15.}, {4.8296, -2.5882, 16.667}, {4.3301, -5., 16.667}}], Polygon[{{4.8296, -2.5882, 15.}, {5., -2.0213*^-14, 15.}, {5., -2.0213*^-14, 16.667}, {4.8296, -2.5882, 16.667}}], Polygon[{{5., 0., 16.667}, {4.8296, 2.5882, 16.667}, {4.8296, 2.5882, 18.333}, {5., 0., 18.333}}], Polygon[{{4.8296, 2.5882, 16.667}, {4.3301, 5., 16.667}, {4.3301, 5., 18.333}, {4.8296, 2.5882, 18.333}}], Polygon[{{4.3301, 5., 16.667}, {3.5355, 7.0711, 16.667}, {3.5355, 7.0711, 18.333}, {4.3301, 5., 18.333}}], Polygon[{{3.5355, 7.0711, 16.667}, {2.5, 8.6603, 16.667}, {2.5, 8.6603, 18.333}, {3.5355, 7.0711, 18.333}}], Polygon[{{2.5, 8.6603, 16.667}, {1.2941, 9.6593, 16.667}, {1.2941, 9.6593, 18.333}, {2.5, 8.6603, 18.333}}], Polygon[{{1.2941, 9.6593, 16.667}, {1.4164*^-15, 10., 16.667}, {1.4164*^-15, 10., 18.333}, {1.2941, 9.6593, 18.333}}], Polygon[{{1.4164*^-15, 10., 16.667}, {-1.2941, 9.6593, 16.667}, {-1.2941, 9.6593, 18.333}, {1.4164*^-15, 10., 18.333}}], Polygon[{{-1.2941, 9.6593, 16.667}, {-2.5, 8.6603, 16.667}, {-2.5, 8.6603, 18.333}, {-1.2941, 9.6593, 18.333}}], Polygon[{{-2.5, 8.6603, 16.667}, {-3.5355, 7.0711, 16.667}, {-3.5355, 7.0711, 18.333}, {-2.5, 8.6603, 18.333}}], Polygon[{{-3.5355, 7.0711, 16.667}, {-4.3301, 5., 16.667}, {-4.3301, 5., 18.333}, {-3.5355, 7.0711, 18.333}}], Polygon[{{-4.3301, 5., 16.667}, {-4.8296, 2.5882, 16.667}, {-4.8296, 2.5882, 18.333}, {-4.3301, 5., 18.333}}], Polygon[{{-4.8296, 2.5882, 16.667}, {-5., -3.2163*^-15, 16.667}, {-5., -3.2163*^-15, 18.333}, {-4.8296, 2.5882, 18.333}}], Polygon[{{-5., -3.2163*^-15, 16.667}, {-4.8296, -2.5882, 16.667}, {-4.8296, -2.5882, 18.333}, {-5., -3.2163*^-15, 18.333}}], Polygon[{{-4.8296, -2.5882, 16.667}, {-4.3301, -5., 16.667}, {-4.3301, -5., 18.333}, {-4.8296, -2.5882, 18.333}}], Polygon[{{-4.3301, -5., 16.667}, {-3.5355, -7.0711, 16.667}, {-3.5355, -7.0711, 18.333}, {-4.3301, -5., 18.333}}], Polygon[{{-3.5355, -7.0711, 16.667}, {-2.5, -8.6603, 16.667}, {-2.5, -8.6603, 18.333}, {-3.5355, -7.0711, 18.333}}], Polygon[{{-2.5, -8.6603, 16.667}, {-1.2941, -9.6593, 16.667}, {-1.2941, -9.6593, 18.333}, {-2.5, -8.6603, 18.333}}], Polygon[{{-1.2941, -9.6593, 16.667}, {-9.1845*^-16, -10., 16.667}, {-9.1845*^-16, -10., 18.333}, {-1.2941, -9.6593, 18.333}}], Polygon[{{-9.1845*^-16, -10., 16.667}, {1.2941, -9.6593, 16.667}, {1.2941, -9.6593, 18.333}, {-9.1845*^-16, -10., 18.333}}], Polygon[{{1.2941, -9.6593, 16.667}, {2.5, -8.6603, 16.667}, {2.5, -8.6603, 18.333}, {1.2941, -9.6593, 18.333}}], Polygon[{{2.5, -8.6603, 16.667}, {3.5355, -7.0711, 16.667}, {3.5355, -7.0711, 18.333}, {2.5, -8.6603, 18.333}}], Polygon[{{3.5355, -7.0711, 16.667}, {4.3301, -5., 16.667}, {4.3301, -5., 18.333}, {3.5355, -7.0711, 18.333}}], Polygon[{{4.3301, -5., 16.667}, {4.8296, -2.5882, 16.667}, {4.8296, -2.5882, 18.333}, {4.3301, -5., 18.333}}], Polygon[{{4.8296, -2.5882, 16.667}, {5., -2.0213*^-14, 16.667}, {5., -2.0213*^-14, 18.333}, {4.8296, -2.5882, 18.333}}], Polygon[{{5., 0., 18.333}, {4.8296, 2.5882, 18.333}, {4.8296, 2.5882, 20.}, {5., 0., 20.}}], Polygon[{{4.8296, 2.5882, 18.333}, {4.3301, 5., 18.333}, {4.3301, 5., 20.}, {4.8296, 2.5882, 20.}}], Polygon[{{4.3301, 5., 18.333}, {3.5355, 7.0711, 18.333}, {3.5355, 7.0711, 20.}, {4.3301, 5., 20.}}], Polygon[{{3.5355, 7.0711, 18.333}, {2.5, 8.6603, 18.333}, {2.5, 8.6603, 20.}, {3.5355, 7.0711, 20.}}], Polygon[{{2.5, 8.6603, 18.333}, {1.2941, 9.6593, 18.333}, {1.2941, 9.6593, 20.}, {2.5, 8.6603, 20.}}], Polygon[{{1.2941, 9.6593, 18.333}, {1.4164*^-15, 10., 18.333}, {1.4164*^-15, 10., 20.}, {1.2941, 9.6593, 20.}}], Polygon[{{1.4164*^-15, 10., 18.333}, {-1.2941, 9.6593, 18.333}, {-1.2941, 9.6593, 20.}, {1.4164*^-15, 10., 20.}}], Polygon[{{-1.2941, 9.6593, 18.333}, {-2.5, 8.6603, 18.333}, {-2.5, 8.6603, 20.}, {-1.2941, 9.6593, 20.}}], Polygon[{{-2.5, 8.6603, 18.333}, {-3.5355, 7.0711, 18.333}, {-3.5355, 7.0711, 20.}, {-2.5, 8.6603, 20.}}], Polygon[{{-3.5355, 7.0711, 18.333}, {-4.3301, 5., 18.333}, {-4.3301, 5., 20.}, {-3.5355, 7.0711, 20.}}], Polygon[{{-4.3301, 5., 18.333}, {-4.8296, 2.5882, 18.333}, {-4.8296, 2.5882, 20.}, {-4.3301, 5., 20.}}], Polygon[{{-4.8296, 2.5882, 18.333}, {-5., -3.2163*^-15, 18.333}, {-5., -3.2163*^-15, 20.}, {-4.8296, 2.5882, 20.}}], Polygon[{{-5., -3.2163*^-15, 18.333}, {-4.8296, -2.5882, 18.333}, {-4.8296, -2.5882, 20.}, {-5., -3.2163*^-15, 20.}}], Polygon[{{-4.8296, -2.5882, 18.333}, {-4.3301, -5., 18.333}, {-4.3301, -5., 20.}, {-4.8296, -2.5882, 20.}}], Polygon[{{-4.3301, -5., 18.333}, {-3.5355, -7.0711, 18.333}, {-3.5355, -7.0711, 20.}, {-4.3301, -5., 20.}}], Polygon[{{-3.5355, -7.0711, 18.333}, {-2.5, -8.6603, 18.333}, {-2.5, -8.6603, 20.}, {-3.5355, -7.0711, 20.}}], Polygon[{{-2.5, -8.6603, 18.333}, {-1.2941, -9.6593, 18.333}, {-1.2941, -9.6593, 20.}, {-2.5, -8.6603, 20.}}], Polygon[{{-1.2941, -9.6593, 18.333}, {-9.1845*^-16, -10., 18.333}, {-9.1845*^-16, -10., 20.}, {-1.2941, -9.6593, 20.}}], Polygon[{{-9.1845*^-16, -10., 18.333}, {1.2941, -9.6593, 18.333}, {1.2941, -9.6593, 20.}, {-9.1845*^-16, -10., 20.}}], Polygon[{{1.2941, -9.6593, 18.333}, {2.5, -8.6603, 18.333}, {2.5, -8.6603, 20.}, {1.2941, -9.6593, 20.}}], Polygon[{{2.5, -8.6603, 18.333}, {3.5355, -7.0711, 18.333}, {3.5355, -7.0711, 20.}, {2.5, -8.6603, 20.}}], Polygon[{{3.5355, -7.0711, 18.333}, {4.3301, -5., 18.333}, {4.3301, -5., 20.}, {3.5355, -7.0711, 20.}}], Polygon[{{4.3301, -5., 18.333}, {4.8296, -2.5882, 18.333}, {4.8296, -2.5882, 20.}, {4.3301, -5., 20.}}], Polygon[{{4.8296, -2.5882, 18.333}, {5., -2.0213*^-14, 18.333}, {5., -2.0213*^-14, 20.}, {4.8296, -2.5882, 20.}}]}, {Polygon[{{0., 0., 20.}, {0., 0., 20.}, {1.2074, 0.64705, 20.}, {1.25, 0., 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {1.0825, 1.25, 20.}, {1.2074, 0.64705, 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {0.88388, 1.7678, 20.}, {1.0825, 1.25, 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {0.625, 2.1651, 20.}, {0.88388, 1.7678, 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {0.32352, 2.4148, 20.}, {0.625, 2.1651, 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {3.5409*^-16, 2.5, 20.}, {0.32352, 2.4148, 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {-0.32352, 2.4148, 20.}, {3.5409*^-16, 2.5, 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {-0.625, 2.1651, 20.}, {-0.32352, 2.4148, 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {-0.88388, 1.7678, 20.}, {-0.625, 2.1651, 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {-1.0825, 1.25, 20.}, {-0.88388, 1.7678, 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {-1.2074, 0.64705, 20.}, {-1.0825, 1.25, 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {-1.25, -8.0407*^-16, 20.}, {-1.2074, 0.64705, 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {-1.2074, -0.64705, 20.}, {-1.25, -8.0407*^-16, 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {-1.0825, -1.25, 20.}, {-1.2074, -0.64705, 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {-0.88388, -1.7678, 20.}, {-1.0825, -1.25, 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {-0.625, -2.1651, 20.}, {-0.88388, -1.7678, 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {-0.32352, -2.4148, 20.}, {-0.625, -2.1651, 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {-2.2961*^-16, -2.5, 20.}, {-0.32352, -2.4148, 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {0.32352, -2.4148, 20.}, {-2.2961*^-16, -2.5, 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {0.625, -2.1651, 20.}, {0.32352, -2.4148, 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {0.88388, -1.7678, 20.}, {0.625, -2.1651, 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {1.0825, -1.25, 20.}, {0.88388, -1.7678, 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {1.2074, -0.64705, 20.}, {1.0825, -1.25, 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {1.25, -5.0532*^-15, 20.}, {1.2074, -0.64705, 20.}}], Polygon[{{1.25, 0., 20.}, {1.2074, 0.64705, 20.}, {2.4148, 1.2941, 20.}, {2.5, 0., 20.}}], Polygon[{{1.2074, 0.64705, 20.}, {1.0825, 1.25, 20.}, {2.1651, 2.5, 20.}, {2.4148, 1.2941, 20.}}], Polygon[{{1.0825, 1.25, 20.}, {0.88388, 1.7678, 20.}, {1.7678, 3.5355, 20.}, {2.1651, 2.5, 20.}}], Polygon[{{0.88388, 1.7678, 20.}, {0.625, 2.1651, 20.}, {1.25, 4.3301, 20.}, {1.7678, 3.5355, 20.}}], Polygon[{{0.625, 2.1651, 20.}, {0.32352, 2.4148, 20.}, {0.64705, 4.8296, 20.}, {1.25, 4.3301, 20.}}], Polygon[{{0.32352, 2.4148, 20.}, {3.5409*^-16, 2.5, 20.}, {7.0819*^-16, 5., 20.}, {0.64705, 4.8296, 20.}}], Polygon[{{3.5409*^-16, 2.5, 20.}, {-0.32352, 2.4148, 20.}, {-0.64705, 4.8296, 20.}, {7.0819*^-16, 5., 20.}}], Polygon[{{-0.32352, 2.4148, 20.}, {-0.625, 2.1651, 20.}, {-1.25, 4.3301, 20.}, {-0.64705, 4.8296, 20.}}], Polygon[{{-0.625, 2.1651, 20.}, {-0.88388, 1.7678, 20.}, {-1.7678, 3.5355, 20.}, {-1.25, 4.3301, 20.}}], Polygon[{{-0.88388, 1.7678, 20.}, {-1.0825, 1.25, 20.}, {-2.1651, 2.5, 20.}, {-1.7678, 3.5355, 20.}}], Polygon[{{-1.0825, 1.25, 20.}, {-1.2074, 0.64705, 20.}, {-2.4148, 1.2941, 20.}, {-2.1651, 2.5, 20.}}], Polygon[{{-1.2074, 0.64705, 20.}, {-1.25, -8.0407*^-16, 20.}, {-2.5, -1.6081*^-15, 20.}, {-2.4148, 1.2941, 20.}}], Polygon[{{-1.25, -8.0407*^-16, 20.}, {-1.2074, -0.64705, 20.}, {-2.4148, -1.2941, 20.}, {-2.5, -1.6081*^-15, 20.}}], Polygon[{{-1.2074, -0.64705, 20.}, {-1.0825, -1.25, 20.}, {-2.1651, -2.5, 20.}, {-2.4148, -1.2941, 20.}}], Polygon[{{-1.0825, -1.25, 20.}, {-0.88388, -1.7678, 20.}, {-1.7678, -3.5355, 20.}, {-2.1651, -2.5, 20.}}], Polygon[{{-0.88388, -1.7678, 20.}, {-0.625, -2.1651, 20.}, {-1.25, -4.3301, 20.}, {-1.7678, -3.5355, 20.}}], Polygon[{{-0.625, -2.1651, 20.}, {-0.32352, -2.4148, 20.}, {-0.64705, -4.8296, 20.}, {-1.25, -4.3301, 20.}}], Polygon[{{-0.32352, -2.4148, 20.}, {-2.2961*^-16, -2.5, 20.}, {-4.5923*^-16, -5., 20.}, {-0.64705, -4.8296, 20.}}], Polygon[{{-2.2961*^-16, -2.5, 20.}, {0.32352, -2.4148, 20.}, {0.64705, -4.8296, 20.}, {-4.5923*^-16, -5., 20.}}], Polygon[{{0.32352, -2.4148, 20.}, {0.625, -2.1651, 20.}, {1.25, -4.3301, 20.}, {0.64705, -4.8296, 20.}}], Polygon[{{0.625, -2.1651, 20.}, {0.88388, -1.7678, 20.}, {1.7678, -3.5355, 20.}, {1.25, -4.3301, 20.}}], Polygon[{{0.88388, -1.7678, 20.}, {1.0825, -1.25, 20.}, {2.1651, -2.5, 20.}, {1.7678, -3.5355, 20.}}], Polygon[{{1.0825, -1.25, 20.}, {1.2074, -0.64705, 20.}, {2.4148, -1.2941, 20.}, {2.1651, -2.5, 20.}}], Polygon[{{1.2074, -0.64705, 20.}, {1.25, -5.0532*^-15, 20.}, {2.5, -1.0106*^-14, 20.}, {2.4148, -1.2941, 20.}}], Polygon[{{2.5, 0., 20.}, {2.4148, 1.2941, 20.}, {3.6222, 1.9411, 20.}, {3.75, 0., 20.}}], Polygon[{{2.4148, 1.2941, 20.}, {2.1651, 2.5, 20.}, {3.2476, 3.75, 20.}, {3.6222, 1.9411, 20.}}], Polygon[{{2.1651, 2.5, 20.}, {1.7678, 3.5355, 20.}, {2.6517, 5.3033, 20.}, {3.2476, 3.75, 20.}}], Polygon[{{1.7678, 3.5355, 20.}, {1.25, 4.3301, 20.}, {1.875, 6.4952, 20.}, {2.6517, 5.3033, 20.}}], Polygon[{{1.25, 4.3301, 20.}, {0.64705, 4.8296, 20.}, {0.97057, 7.2444, 20.}, {1.875, 6.4952, 20.}}], Polygon[{{0.64705, 4.8296, 20.}, {7.0819*^-16, 5., 20.}, {1.0623*^-15, 7.5, 20.}, {0.97057, 7.2444, 20.}}], Polygon[{{7.0819*^-16, 5., 20.}, {-0.64705, 4.8296, 20.}, {-0.97057, 7.2444, 20.}, {1.0623*^-15, 7.5, 20.}}], Polygon[{{-0.64705, 4.8296, 20.}, {-1.25, 4.3301, 20.}, {-1.875, 6.4952, 20.}, {-0.97057, 7.2444, 20.}}], Polygon[{{-1.25, 4.3301, 20.}, {-1.7678, 3.5355, 20.}, {-2.6517, 5.3033, 20.}, {-1.875, 6.4952, 20.}}], Polygon[{{-1.7678, 3.5355, 20.}, {-2.1651, 2.5, 20.}, {-3.2476, 3.75, 20.}, {-2.6517, 5.3033, 20.}}], Polygon[{{-2.1651, 2.5, 20.}, {-2.4148, 1.2941, 20.}, {-3.6222, 1.9411, 20.}, {-3.2476, 3.75, 20.}}], Polygon[{{-2.4148, 1.2941, 20.}, {-2.5, -1.6081*^-15, 20.}, {-3.75, -2.4122*^-15, 20.}, {-3.6222, 1.9411, 20.}}], Polygon[{{-2.5, -1.6081*^-15, 20.}, {-2.4148, -1.2941, 20.}, {-3.6222, -1.9411, 20.}, {-3.75, -2.4122*^-15, 20.}}], Polygon[{{-2.4148, -1.2941, 20.}, {-2.1651, -2.5, 20.}, {-3.2476, -3.75, 20.}, {-3.6222, -1.9411, 20.}}], Polygon[{{-2.1651, -2.5, 20.}, {-1.7678, -3.5355, 20.}, {-2.6517, -5.3033, 20.}, {-3.2476, -3.75, 20.}}], Polygon[{{-1.7678, -3.5355, 20.}, {-1.25, -4.3301, 20.}, {-1.875, -6.4952, 20.}, {-2.6517, -5.3033, 20.}}], Polygon[{{-1.25, -4.3301, 20.}, {-0.64705, -4.8296, 20.}, {-0.97057, -7.2444, 20.}, {-1.875, -6.4952, 20.}}], Polygon[{{-0.64705, -4.8296, 20.}, {-4.5923*^-16, -5., 20.}, {-6.8884*^-16, -7.5, 20.}, {-0.97057, -7.2444, 20.}}], Polygon[{{-4.5923*^-16, -5., 20.}, {0.64705, -4.8296, 20.}, {0.97057, -7.2444, 20.}, {-6.8884*^-16, -7.5, 20.}}], Polygon[{{0.64705, -4.8296, 20.}, {1.25, -4.3301, 20.}, {1.875, -6.4952, 20.}, {0.97057, -7.2444, 20.}}], Polygon[{{1.25, -4.3301, 20.}, {1.7678, -3.5355, 20.}, {2.6517, -5.3033, 20.}, {1.875, -6.4952, 20.}}], Polygon[{{1.7678, -3.5355, 20.}, {2.1651, -2.5, 20.}, {3.2476, -3.75, 20.}, {2.6517, -5.3033, 20.}}], Polygon[{{2.1651, -2.5, 20.}, {2.4148, -1.2941, 20.}, {3.6222, -1.9411, 20.}, {3.2476, -3.75, 20.}}], Polygon[{{2.4148, -1.2941, 20.}, {2.5, -1.0106*^-14, 20.}, {3.75, -1.516*^-14, 20.}, {3.6222, -1.9411, 20.}}], Polygon[{{3.75, 0., 20.}, {3.6222, 1.9411, 20.}, {4.8296, 2.5882, 20.}, {5., 0., 20.}}], Polygon[{{3.6222, 1.9411, 20.}, {3.2476, 3.75, 20.}, {4.3301, 5., 20.}, {4.8296, 2.5882, 20.}}], Polygon[{{3.2476, 3.75, 20.}, {2.6517, 5.3033, 20.}, {3.5355, 7.0711, 20.}, {4.3301, 5., 20.}}], Polygon[{{2.6517, 5.3033, 20.}, {1.875, 6.4952, 20.}, {2.5, 8.6603, 20.}, {3.5355, 7.0711, 20.}}], Polygon[{{1.875, 6.4952, 20.}, {0.97057, 7.2444, 20.}, {1.2941, 9.6593, 20.}, {2.5, 8.6603, 20.}}], Polygon[{{0.97057, 7.2444, 20.}, {1.0623*^-15, 7.5, 20.}, {1.4164*^-15, 10., 20.}, {1.2941, 9.6593, 20.}}], Polygon[{{1.0623*^-15, 7.5, 20.}, {-0.97057, 7.2444, 20.}, {-1.2941, 9.6593, 20.}, {1.4164*^-15, 10., 20.}}], Polygon[{{-0.97057, 7.2444, 20.}, {-1.875, 6.4952, 20.}, {-2.5, 8.6603, 20.}, {-1.2941, 9.6593, 20.}}], Polygon[{{-1.875, 6.4952, 20.}, {-2.6517, 5.3033, 20.}, {-3.5355, 7.0711, 20.}, {-2.5, 8.6603, 20.}}], Polygon[{{-2.6517, 5.3033, 20.}, {-3.2476, 3.75, 20.}, {-4.3301, 5., 20.}, {-3.5355, 7.0711, 20.}}], Polygon[{{-3.2476, 3.75, 20.}, {-3.6222, 1.9411, 20.}, {-4.8296, 2.5882, 20.}, {-4.3301, 5., 20.}}], Polygon[{{-3.6222, 1.9411, 20.}, {-3.75, -2.4122*^-15, 20.}, {-5., -3.2163*^-15, 20.}, {-4.8296, 2.5882, 20.}}], Polygon[{{-3.75, -2.4122*^-15, 20.}, {-3.6222, -1.9411, 20.}, {-4.8296, -2.5882, 20.}, {-5., -3.2163*^-15, 20.}}], Polygon[{{-3.6222, -1.9411, 20.}, {-3.2476, -3.75, 20.}, {-4.3301, -5., 20.}, {-4.8296, -2.5882, 20.}}], Polygon[{{-3.2476, -3.75, 20.}, {-2.6517, -5.3033, 20.}, {-3.5355, -7.0711, 20.}, {-4.3301, -5., 20.}}], Polygon[{{-2.6517, -5.3033, 20.}, {-1.875, -6.4952, 20.}, {-2.5, -8.6603, 20.}, {-3.5355, -7.0711, 20.}}], Polygon[{{-1.875, -6.4952, 20.}, {-0.97057, -7.2444, 20.}, {-1.2941, -9.6593, 20.}, {-2.5, -8.6603, 20.}}], Polygon[{{-0.97057, -7.2444, 20.}, {-6.8884*^-16, -7.5, 20.}, {-9.1845*^-16, -10., 20.}, {-1.2941, -9.6593, 20.}}], Polygon[{{-6.8884*^-16, -7.5, 20.}, {0.97057, -7.2444, 20.}, {1.2941, -9.6593, 20.}, {-9.1845*^-16, -10., 20.}}], Polygon[{{0.97057, -7.2444, 20.}, {1.875, -6.4952, 20.}, {2.5, -8.6603, 20.}, {1.2941, -9.6593, 20.}}], Polygon[{{1.875, -6.4952, 20.}, {2.6517, -5.3033, 20.}, {3.5355, -7.0711, 20.}, {2.5, -8.6603, 20.}}], Polygon[{{2.6517, -5.3033, 20.}, {3.2476, -3.75, 20.}, {4.3301, -5., 20.}, {3.5355, -7.0711, 20.}}], Polygon[{{3.2476, -3.75, 20.}, {3.6222, -1.9411, 20.}, {4.8296, -2.5882, 20.}, {4.3301, -5., 20.}}], Polygon[{{3.6222, -1.9411, 20.}, {3.75, -1.516*^-14, 20.}, {5., -2.0213*^-14, 20.}, {4.8296, -2.5882, 20.}}]}, {Polygon[{{0., 0., -20.}, {0., 0., -20.}, {1.2074, 0.64705, -20.}, {1.25, 0., -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {1.0825, 1.25, -20.}, {1.2074, 0.64705, -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {0.88388, 1.7678, -20.}, {1.0825, 1.25, -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {0.625, 2.1651, -20.}, {0.88388, 1.7678, -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {0.32352, 2.4148, -20.}, {0.625, 2.1651, -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {3.5409*^-16, 2.5, -20.}, {0.32352, 2.4148, -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {-0.32352, 2.4148, -20.}, {3.5409*^-16, 2.5, -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {-0.625, 2.1651, -20.}, {-0.32352, 2.4148, -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {-0.88388, 1.7678, -20.}, {-0.625, 2.1651, -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {-1.0825, 1.25, -20.}, {-0.88388, 1.7678, -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {-1.2074, 0.64705, -20.}, {-1.0825, 1.25, -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {-1.25, -8.0407*^-16, -20.}, {-1.2074, 0.64705, -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {-1.2074, -0.64705, -20.}, {-1.25, -8.0407*^-16, -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {-1.0825, -1.25, -20.}, {-1.2074, -0.64705, -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {-0.88388, -1.7678, -20.}, {-1.0825, -1.25, -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {-0.625, -2.1651, -20.}, {-0.88388, -1.7678, -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {-0.32352, -2.4148, -20.}, {-0.625, -2.1651, -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {-2.2961*^-16, -2.5, -20.}, {-0.32352, -2.4148, -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {0.32352, -2.4148, -20.}, {-2.2961*^-16, -2.5, -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {0.625, -2.1651, -20.}, {0.32352, -2.4148, -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {0.88388, -1.7678, -20.}, {0.625, -2.1651, -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {1.0825, -1.25, -20.}, {0.88388, -1.7678, -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {1.2074, -0.64705, -20.}, {1.0825, -1.25, -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {1.25, -5.0532*^-15, -20.}, {1.2074, -0.64705, -20.}}], Polygon[{{1.25, 0., -20.}, {1.2074, 0.64705, -20.}, {2.4148, 1.2941, -20.}, {2.5, 0., -20.}}], Polygon[{{1.2074, 0.64705, -20.}, {1.0825, 1.25, -20.}, {2.1651, 2.5, -20.}, {2.4148, 1.2941, -20.}}], Polygon[{{1.0825, 1.25, -20.}, {0.88388, 1.7678, -20.}, {1.7678, 3.5355, -20.}, {2.1651, 2.5, -20.}}], Polygon[{{0.88388, 1.7678, -20.}, {0.625, 2.1651, -20.}, {1.25, 4.3301, -20.}, {1.7678, 3.5355, -20.}}], Polygon[{{0.625, 2.1651, -20.}, {0.32352, 2.4148, -20.}, {0.64705, 4.8296, -20.}, {1.25, 4.3301, -20.}}], Polygon[{{0.32352, 2.4148, -20.}, {3.5409*^-16, 2.5, -20.}, {7.0819*^-16, 5., -20.}, {0.64705, 4.8296, -20.}}], Polygon[{{3.5409*^-16, 2.5, -20.}, {-0.32352, 2.4148, -20.}, {-0.64705, 4.8296, -20.}, {7.0819*^-16, 5., -20.}}], Polygon[{{-0.32352, 2.4148, -20.}, {-0.625, 2.1651, -20.}, {-1.25, 4.3301, -20.}, {-0.64705, 4.8296, -20.}}], Polygon[{{-0.625, 2.1651, -20.}, {-0.88388, 1.7678, -20.}, {-1.7678, 3.5355, -20.}, {-1.25, 4.3301, -20.}}], Polygon[{{-0.88388, 1.7678, -20.}, {-1.0825, 1.25, -20.}, {-2.1651, 2.5, -20.}, {-1.7678, 3.5355, -20.}}], Polygon[{{-1.0825, 1.25, -20.}, {-1.2074, 0.64705, -20.}, {-2.4148, 1.2941, -20.}, {-2.1651, 2.5, -20.}}], Polygon[{{-1.2074, 0.64705, -20.}, {-1.25, -8.0407*^-16, -20.}, {-2.5, -1.6081*^-15, -20.}, {-2.4148, 1.2941, -20.}}], Polygon[{{-1.25, -8.0407*^-16, -20.}, {-1.2074, -0.64705, -20.}, {-2.4148, -1.2941, -20.}, {-2.5, -1.6081*^-15, -20.}}], Polygon[{{-1.2074, -0.64705, -20.}, {-1.0825, -1.25, -20.}, {-2.1651, -2.5, -20.}, {-2.4148, -1.2941, -20.}}], Polygon[{{-1.0825, -1.25, -20.}, {-0.88388, -1.7678, -20.}, {-1.7678, -3.5355, -20.}, {-2.1651, -2.5, -20.}}], Polygon[{{-0.88388, -1.7678, -20.}, {-0.625, -2.1651, -20.}, {-1.25, -4.3301, -20.}, {-1.7678, -3.5355, -20.}}], Polygon[{{-0.625, -2.1651, -20.}, {-0.32352, -2.4148, -20.}, {-0.64705, -4.8296, -20.}, {-1.25, -4.3301, -20.}}], Polygon[{{-0.32352, -2.4148, -20.}, {-2.2961*^-16, -2.5, -20.}, {-4.5923*^-16, -5., -20.}, {-0.64705, -4.8296, -20.}}], Polygon[{{-2.2961*^-16, -2.5, -20.}, {0.32352, -2.4148, -20.}, {0.64705, -4.8296, -20.}, {-4.5923*^-16, -5., -20.}}], Polygon[{{0.32352, -2.4148, -20.}, {0.625, -2.1651, -20.}, {1.25, -4.3301, -20.}, {0.64705, -4.8296, -20.}}], Polygon[{{0.625, -2.1651, -20.}, {0.88388, -1.7678, -20.}, {1.7678, -3.5355, -20.}, {1.25, -4.3301, -20.}}], Polygon[{{0.88388, -1.7678, -20.}, {1.0825, -1.25, -20.}, {2.1651, -2.5, -20.}, {1.7678, -3.5355, -20.}}], Polygon[{{1.0825, -1.25, -20.}, {1.2074, -0.64705, -20.}, {2.4148, -1.2941, -20.}, {2.1651, -2.5, -20.}}], Polygon[{{1.2074, -0.64705, -20.}, {1.25, -5.0532*^-15, -20.}, {2.5, -1.0106*^-14, -20.}, {2.4148, -1.2941, -20.}}], Polygon[{{2.5, 0., -20.}, {2.4148, 1.2941, -20.}, {3.6222, 1.9411, -20.}, {3.75, 0., -20.}}], Polygon[{{2.4148, 1.2941, -20.}, {2.1651, 2.5, -20.}, {3.2476, 3.75, -20.}, {3.6222, 1.9411, -20.}}], Polygon[{{2.1651, 2.5, -20.}, {1.7678, 3.5355, -20.}, {2.6517, 5.3033, -20.}, {3.2476, 3.75, -20.}}], Polygon[{{1.7678, 3.5355, -20.}, {1.25, 4.3301, -20.}, {1.875, 6.4952, -20.}, {2.6517, 5.3033, -20.}}], Polygon[{{1.25, 4.3301, -20.}, {0.64705, 4.8296, -20.}, {0.97057, 7.2444, -20.}, {1.875, 6.4952, -20.}}], Polygon[{{0.64705, 4.8296, -20.}, {7.0819*^-16, 5., -20.}, {1.0623*^-15, 7.5, -20.}, {0.97057, 7.2444, -20.}}], Polygon[{{7.0819*^-16, 5., -20.}, {-0.64705, 4.8296, -20.}, {-0.97057, 7.2444, -20.}, {1.0623*^-15, 7.5, -20.}}], Polygon[{{-0.64705, 4.8296, -20.}, {-1.25, 4.3301, -20.}, {-1.875, 6.4952, -20.}, {-0.97057, 7.2444, -20.}}], Polygon[{{-1.25, 4.3301, -20.}, {-1.7678, 3.5355, -20.}, {-2.6517, 5.3033, -20.}, {-1.875, 6.4952, -20.}}], Polygon[{{-1.7678, 3.5355, -20.}, {-2.1651, 2.5, -20.}, {-3.2476, 3.75, -20.}, {-2.6517, 5.3033, -20.}}], Polygon[{{-2.1651, 2.5, -20.}, {-2.4148, 1.2941, -20.}, {-3.6222, 1.9411, -20.}, {-3.2476, 3.75, -20.}}], Polygon[{{-2.4148, 1.2941, -20.}, {-2.5, -1.6081*^-15, -20.}, {-3.75, -2.4122*^-15, -20.}, {-3.6222, 1.9411, -20.}}], Polygon[{{-2.5, -1.6081*^-15, -20.}, {-2.4148, -1.2941, -20.}, {-3.6222, -1.9411, -20.}, {-3.75, -2.4122*^-15, -20.}}], Polygon[{{-2.4148, -1.2941, -20.}, {-2.1651, -2.5, -20.}, {-3.2476, -3.75, -20.}, {-3.6222, -1.9411, -20.}}], Polygon[{{-2.1651, -2.5, -20.}, {-1.7678, -3.5355, -20.}, {-2.6517, -5.3033, -20.}, {-3.2476, -3.75, -20.}}], Polygon[{{-1.7678, -3.5355, -20.}, {-1.25, -4.3301, -20.}, {-1.875, -6.4952, -20.}, {-2.6517, -5.3033, -20.}}], Polygon[{{-1.25, -4.3301, -20.}, {-0.64705, -4.8296, -20.}, {-0.97057, -7.2444, -20.}, {-1.875, -6.4952, -20.}}], Polygon[{{-0.64705, -4.8296, -20.}, {-4.5923*^-16, -5., -20.}, {-6.8884*^-16, -7.5, -20.}, {-0.97057, -7.2444, -20.}}], Polygon[{{-4.5923*^-16, -5., -20.}, {0.64705, -4.8296, -20.}, {0.97057, -7.2444, -20.}, {-6.8884*^-16, -7.5, -20.}}], Polygon[{{0.64705, -4.8296, -20.}, {1.25, -4.3301, -20.}, {1.875, -6.4952, -20.}, {0.97057, -7.2444, -20.}}], Polygon[{{1.25, -4.3301, -20.}, {1.7678, -3.5355, -20.}, {2.6517, -5.3033, -20.}, {1.875, -6.4952, -20.}}], Polygon[{{1.7678, -3.5355, -20.}, {2.1651, -2.5, -20.}, {3.2476, -3.75, -20.}, {2.6517, -5.3033, -20.}}], Polygon[{{2.1651, -2.5, -20.}, {2.4148, -1.2941, -20.}, {3.6222, -1.9411, -20.}, {3.2476, -3.75, -20.}}], Polygon[{{2.4148, -1.2941, -20.}, {2.5, -1.0106*^-14, -20.}, {3.75, -1.516*^-14, -20.}, {3.6222, -1.9411, -20.}}], Polygon[{{3.75, 0., -20.}, {3.6222, 1.9411, -20.}, {4.8296, 2.5882, -20.}, {5., 0., -20.}}], Polygon[{{3.6222, 1.9411, -20.}, {3.2476, 3.75, -20.}, {4.3301, 5., -20.}, {4.8296, 2.5882, -20.}}], Polygon[{{3.2476, 3.75, -20.}, {2.6517, 5.3033, -20.}, {3.5355, 7.0711, -20.}, {4.3301, 5., -20.}}], Polygon[{{2.6517, 5.3033, -20.}, {1.875, 6.4952, -20.}, {2.5, 8.6603, -20.}, {3.5355, 7.0711, -20.}}], Polygon[{{1.875, 6.4952, -20.}, {0.97057, 7.2444, -20.}, {1.2941, 9.6593, -20.}, {2.5, 8.6603, -20.}}], Polygon[{{0.97057, 7.2444, -20.}, {1.0623*^-15, 7.5, -20.}, {1.4164*^-15, 10., -20.}, {1.2941, 9.6593, -20.}}], Polygon[{{1.0623*^-15, 7.5, -20.}, {-0.97057, 7.2444, -20.}, {-1.2941, 9.6593, -20.}, {1.4164*^-15, 10., -20.}}], Polygon[{{-0.97057, 7.2444, -20.}, {-1.875, 6.4952, -20.}, {-2.5, 8.6603, -20.}, {-1.2941, 9.6593, -20.}}], Polygon[{{-1.875, 6.4952, -20.}, {-2.6517, 5.3033, -20.}, {-3.5355, 7.0711, -20.}, {-2.5, 8.6603, -20.}}], Polygon[{{-2.6517, 5.3033, -20.}, {-3.2476, 3.75, -20.}, {-4.3301, 5., -20.}, {-3.5355, 7.0711, -20.}}], Polygon[{{-3.2476, 3.75, -20.}, {-3.6222, 1.9411, -20.}, {-4.8296, 2.5882, -20.}, {-4.3301, 5., -20.}}], Polygon[{{-3.6222, 1.9411, -20.}, {-3.75, -2.4122*^-15, -20.}, {-5., -3.2163*^-15, -20.}, {-4.8296, 2.5882, -20.}}], Polygon[{{-3.75, -2.4122*^-15, -20.}, {-3.6222, -1.9411, -20.}, {-4.8296, -2.5882, -20.}, {-5., -3.2163*^-15, -20.}}], Polygon[{{-3.6222, -1.9411, -20.}, {-3.2476, -3.75, -20.}, {-4.3301, -5., -20.}, {-4.8296, -2.5882, -20.}}], Polygon[{{-3.2476, -3.75, -20.}, {-2.6517, -5.3033, -20.}, {-3.5355, -7.0711, -20.}, {-4.3301, -5., -20.}}], Polygon[{{-2.6517, -5.3033, -20.}, {-1.875, -6.4952, -20.}, {-2.5, -8.6603, -20.}, {-3.5355, -7.0711, -20.}}], Polygon[{{-1.875, -6.4952, -20.}, {-0.97057, -7.2444, -20.}, {-1.2941, -9.6593, -20.}, {-2.5, -8.6603, -20.}}], Polygon[{{-0.97057, -7.2444, -20.}, {-6.8884*^-16, -7.5, -20.}, {-9.1845*^-16, -10., -20.}, {-1.2941, -9.6593, -20.}}], Polygon[{{-6.8884*^-16, -7.5, -20.}, {0.97057, -7.2444, -20.}, {1.2941, -9.6593, -20.}, {-9.1845*^-16, -10., -20.}}], Polygon[{{0.97057, -7.2444, -20.}, {1.875, -6.4952, -20.}, {2.5, -8.6603, -20.}, {1.2941, -9.6593, -20.}}], Polygon[{{1.875, -6.4952, -20.}, {2.6517, -5.3033, -20.}, {3.5355, -7.0711, -20.}, {2.5, -8.6603, -20.}}], Polygon[{{2.6517, -5.3033, -20.}, {3.2476, -3.75, -20.}, {4.3301, -5., -20.}, {3.5355, -7.0711, -20.}}], Polygon[{{3.2476, -3.75, -20.}, {3.6222, -1.9411, -20.}, {4.8296, -2.5882, -20.}, {4.3301, -5., -20.}}], Polygon[{{3.6222, -1.9411, -20.}, {3.75, -1.516*^-14, -20.}, {5., -2.0213*^-14, -20.}, {4.8296, -2.5882, -20.}}]}}, {AmbientLight -> GrayLevel[0.15], PlotRange -> Automatic, DisplayFunction :> $DisplayFunction, ColorOutput -> Automatic, Axes -> True, PlotLabel -> None, AxesLabel -> {"x", "y", "z"}, Ticks -> Automatic, Prolog -> {}, Epilog -> {}, AxesStyle -> Automatic, Background -> Automatic, DefaultColor -> Automatic, DefaultFont :> $DefaultFont, AspectRatio -> Automatic, ViewPoint -> {1.3, -2.4, 2.}, Boxed -> True, BoxRatios -> Automatic, Plot3Matrix -> Automatic, Lighting -> True, AmbientLight -> GrayLevel[0.], LightSources -> {{{1., 0., 1.}, RGBColor[1., 0., 0.]}, {{1., 1., 1.}, RGBColor[0., 1., 0.]}, {{0., 1., 1.}, RGBColor[0., 0., 1.]}}, ViewCenter -> Automatic, PlotRegion -> Automatic, ImageSize -> Automatic, TextStyle :> {FontFamily -> "Times", FontSize -> 16.}, FormatType :> $FormatType, ViewVertical -> {0., 0., 1.}, FaceGrids -> None, Shading -> True, RenderAll -> True, PolygonIntersections -> True, AxesEdge -> Automatic, BoxStyle -> Automatic, SphericalRegion -> False}]
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aExtrudedSolid.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aExtrudedSolid.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aExtrudedSolid.txt	(revision 904)
@@ -0,0 +1,1 @@
+Graphics3D[{Polygon[{{-18., 12., 10.}, {-18., 48., 10.}, {-36., 36., 60.}, {-36., -36., 60.}}], Polygon[{{-18., 48., 10.}, {18., 48., 10.}, {36., 36., 60.}, {-36., 36., 60.}}], Polygon[{{18., 48., 10.}, {18., 12., 10.}, {36., -36., 60.}, {36., 36., 60.}}], Polygon[{{18., 12., 10.}, {9., 12., 10.}, {18., -36., 60.}, {36., -36., 60.}}], Polygon[{{9., 12., 10.}, {9., 39., 10.}, {18., 18., 60.}, {18., -36., 60.}}], Polygon[{{9., 39., 10.}, {-9., 39., 10.}, {-18., 18., 60.}, {18., 18., 60.}}], Polygon[{{-9., 39., 10.}, {-9., 12., 10.}, {-18., -36., 60.}, {-18., 18., 60.}}], Polygon[{{-9., 12., 10.}, {-18., 12., 10.}, {-36., -36., 60.}, {-18., -36., 60.}}], Polygon[{{-18., 12., 10.}, {-18., 48., 10.}, {-30., 0., -15.}, {-30., -60., -15.}}], Polygon[{{-18., 48., 10.}, {18., 48., 10.}, {30., 0., -15.}, {-30., 0., -15.}}], Polygon[{{18., 48., 10.}, {18., 12., 10.}, {30., -60., -15.}, {30., 0., -15.}}], Polygon[{{18., 12., 10.}, {9., 12., 10.}, {15., -60., -15.}, {30., -60., -15.}}], Polygon[{{9., 12., 10.}, {9., 39., 10.}, {15., -15., -15.}, {15., -60., -15.}}], Polygon[{{9., 39., 10.}, {-9., 39., 10.}, {-15., -15., -15.}, {15., -15., -15.}}], Polygon[{{-9., 39., 10.}, {-9., 12., 10.}, {-15., -60., -15.}, {-15., -15., -15.}}], Polygon[{{-9., 12., 10.}, {-18., 12., 10.}, {-30., -60., -15.}, {-15., -60., -15.}}], Polygon[{{-30., -60., -15.}, {-30., 0., -15.}, {-24., 54., -60.}, {-24., 6., -60.}}], Polygon[{{-30., 0., -15.}, {30., 0., -15.}, {24., 54., -60.}, {-24., 54., -60.}}], Polygon[{{30., 0., -15.}, {30., -60., -15.}, {24., 6., -60.}, {24., 54., -60.}}], Polygon[{{30., -60., -15.}, {15., -60., -15.}, {12., 6., -60.}, {24., 6., -60.}}], Polygon[{{15., -60., -15.}, {15., -15., -15.}, {12., 42., -60.}, {12., 6., -60.}}], Polygon[{{15., -15., -15.}, {-15., -15., -15.}, {-12., 42., -60.}, {12., 42., -60.}}], Polygon[{{-15., -15., -15.}, {-15., -60., -15.}, {-12., 6., -60.}, {-12., 42., -60.}}], Polygon[{{-15., -60., -15.}, {-30., -60., -15.}, {-24., 6., -60.}, {-12., 6., -60.}}], Polygon[{{-24., 6., -60.}, {-24., 54., -60.}, {24., 54., -60.}, {24., 6., -60.}, {12., 6., -60.}, {12., 42., -60.}, {-12., 42., -60.}, {-12., 6., -60.}}], Polygon[{{-36., -36., 60.}, {-36., 36., 60.}, {36., 36., 60.}, {36., -36., 60.}, {18., -36., 60.}, {18., 18., 60.}, {-18., 18., 60.}, {-18., -36., 60.}}]}, {AmbientLight -> GrayLevel[0.15], Axes -> True, AxesLabel -> {"x", "y", "z"}, TextStyle -> {FontFamily -> "Times", FontSize -> 16.}}]
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aHyperboloid.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aHyperboloid.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aHyperboloid.txt	(revision 904)
@@ -0,0 +1,1 @@
+Graphics3D[{{Polygon[{{51.707, 0., -50.}, {48.165, 0., -44.737}, {45.555, 15.639, -44.737}, {48.905, 16.789, -50.}}], Polygon[{{48.165, 0., -44.737}, {44.782, 0., -39.474}, {42.356, 14.541, -39.474}, {45.555, 15.639, -44.737}}], Polygon[{{44.782, 0., -39.474}, {41.597, 0., -34.211}, {39.343, 13.507, -34.211}, {42.356, 14.541, -39.474}}], Polygon[{{41.597, 0., -34.211}, {38.659, 0., -28.947}, {36.564, 12.552, -28.947}, {39.343, 13.507, -34.211}}], Polygon[{{38.659, 0., -28.947}, {36.027, 0., -23.684}, {34.075, 11.698, -23.684}, {36.564, 12.552, -28.947}}], Polygon[{{36.027, 0., -23.684}, {33.775, 0., -18.421}, {31.945, 10.967, -18.421}, {34.075, 11.698, -23.684}}], Polygon[{{33.775, 0., -18.421}, {31.982, 0., -13.158}, {30.249, 10.384, -13.158}, {31.945, 10.967, -18.421}}], Polygon[{{31.982, 0., -13.158}, {30.728, 0., -7.8947}, {29.063, 9.9774, -7.8947}, {30.249, 10.384, -13.158}}], Polygon[{{30.728, 0., -7.8947}, {30.082, 0., -2.6316}, {28.452, 9.7675, -2.6316}, {29.063, 9.9774, -7.8947}}], Polygon[{{30.082, 0., -2.6316}, {30.082, 0., 2.6316}, {28.452, 9.7675, 2.6316}, {28.452, 9.7675, -2.6316}}], Polygon[{{30.082, 0., 2.6316}, {30.728, 0., 7.8947}, {29.063, 9.9774, 7.8947}, {28.452, 9.7675, 2.6316}}], Polygon[{{30.728, 0., 7.8947}, {31.982, 0., 13.158}, {30.249, 10.384, 13.158}, {29.063, 9.9774, 7.8947}}], Polygon[{{31.982, 0., 13.158}, {33.775, 0., 18.421}, {31.945, 10.967, 18.421}, {30.249, 10.384, 13.158}}], Polygon[{{33.775, 0., 18.421}, {36.027, 0., 23.684}, {34.075, 11.698, 23.684}, {31.945, 10.967, 18.421}}], Polygon[{{36.027, 0., 23.684}, {38.659, 0., 28.947}, {36.564, 12.552, 28.947}, {34.075, 11.698, 23.684}}], Polygon[{{38.659, 0., 28.947}, {41.597, 0., 34.211}, {39.343, 13.507, 34.211}, {36.564, 12.552, 28.947}}], Polygon[{{41.597, 0., 34.211}, {44.782, 0., 39.474}, {42.356, 14.541, 39.474}, {39.343, 13.507, 34.211}}], Polygon[{{44.782, 0., 39.474}, {48.165, 0., 44.737}, {45.555, 15.639, 44.737}, {42.356, 14.541, 39.474}}], Polygon[{{48.165, 0., 44.737}, {51.707, 0., 50.}, {48.905, 16.789, 50.}, {45.555, 15.639, 44.737}}], Polygon[{{48.905, 16.789, -50.}, {45.555, 15.639, -44.737}, {38.009, 29.584, -44.737}, {40.804, 31.759, -50.}}], Polygon[{{45.555, 15.639, -44.737}, {42.356, 14.541, -39.474}, {35.339, 27.506, -39.474}, {38.009, 29.584, -44.737}}], Polygon[{{42.356, 14.541, -39.474}, {39.343, 13.507, -34.211}, {32.826, 25.549, -34.211}, {35.339, 27.506, -39.474}}], Polygon[{{39.343, 13.507, -34.211}, {36.564, 12.552, -28.947}, {30.507, 23.745, -28.947}, {32.826, 25.549, -34.211}}], Polygon[{{36.564, 12.552, -28.947}, {34.075, 11.698, -23.684}, {28.431, 22.128, -23.684}, {30.507, 23.745, -28.947}}], Polygon[{{34.075, 11.698, -23.684}, {31.945, 10.967, -18.421}, {26.653, 20.745, -18.421}, {28.431, 22.128, -23.684}}], Polygon[{{31.945, 10.967, -18.421}, {30.249, 10.384, -13.158}, {25.238, 19.644, -13.158}, {26.653, 20.745, -18.421}}], Polygon[{{30.249, 10.384, -13.158}, {29.063, 9.9774, -7.8947}, {24.249, 18.874, -7.8947}, {25.238, 19.644, -13.158}}], Polygon[{{29.063, 9.9774, -7.8947}, {28.452, 9.7675, -2.6316}, {23.739, 18.477, -2.6316}, {24.249, 18.874, -7.8947}}], Polygon[{{28.452, 9.7675, -2.6316}, {28.452, 9.7675, 2.6316}, {23.739, 18.477, 2.6316}, {23.739, 18.477, -2.6316}}], Polygon[{{28.452, 9.7675, 2.6316}, {29.063, 9.9774, 7.8947}, {24.249, 18.874, 7.8947}, {23.739, 18.477, 2.6316}}], Polygon[{{29.063, 9.9774, 7.8947}, {30.249, 10.384, 13.158}, {25.238, 19.644, 13.158}, {24.249, 18.874, 7.8947}}], Polygon[{{30.249, 10.384, 13.158}, {31.945, 10.967, 18.421}, {26.653, 20.745, 18.421}, {25.238, 19.644, 13.158}}], Polygon[{{31.945, 10.967, 18.421}, {34.075, 11.698, 23.684}, {28.431, 22.128, 23.684}, {26.653, 20.745, 18.421}}], Polygon[{{34.075, 11.698, 23.684}, {36.564, 12.552, 28.947}, {30.507, 23.745, 28.947}, {28.431, 22.128, 23.684}}], Polygon[{{36.564, 12.552, 28.947}, {39.343, 13.507, 34.211}, {32.826, 25.549, 34.211}, {30.507, 23.745, 28.947}}], Polygon[{{39.343, 13.507, 34.211}, {42.356, 14.541, 39.474}, {35.339, 27.506, 39.474}, {32.826, 25.549, 34.211}}], Polygon[{{42.356, 14.541, 39.474}, {45.555, 15.639, 44.737}, {38.009, 29.584, 44.737}, {35.339, 27.506, 39.474}}], Polygon[{{45.555, 15.639, 44.737}, {48.905, 16.789, 50.}, {40.804, 31.759, 50.}, {38.009, 29.584, 44.737}}], Polygon[{{40.804, 31.759, -50.}, {38.009, 29.584, -44.737}, {26.344, 40.322, -44.737}, {28.281, 43.287, -50.}}], Polygon[{{38.009, 29.584, -44.737}, {35.339, 27.506, -39.474}, {24.494, 37.49, -39.474}, {26.344, 40.322, -44.737}}], Polygon[{{35.339, 27.506, -39.474}, {32.826, 25.549, -34.211}, {22.751, 34.824, -34.211}, {24.494, 37.49, -39.474}}], Polygon[{{32.826, 25.549, -34.211}, {30.507, 23.745, -28.947}, {21.144, 32.364, -28.947}, {22.751, 34.824, -34.211}}], Polygon[{{30.507, 23.745, -28.947}, {28.431, 22.128, -23.684}, {19.705, 30.161, -23.684}, {21.144, 32.364, -28.947}}], Polygon[{{28.431, 22.128, -23.684}, {26.653, 20.745, -18.421}, {18.473, 28.275, -18.421}, {19.705, 30.161, -23.684}}], Polygon[{{26.653, 20.745, -18.421}, {25.238, 19.644, -13.158}, {17.492, 26.774, -13.158}, {18.473, 28.275, -18.421}}], Polygon[{{25.238, 19.644, -13.158}, {24.249, 18.874, -7.8947}, {16.807, 25.725, -7.8947}, {17.492, 26.774, -13.158}}], Polygon[{{24.249, 18.874, -7.8947}, {23.739, 18.477, -2.6316}, {16.453, 25.183, -2.6316}, {16.807, 25.725, -7.8947}}], Polygon[{{23.739, 18.477, -2.6316}, {23.739, 18.477, 2.6316}, {16.453, 25.183, 2.6316}, {16.453, 25.183, -2.6316}}], Polygon[{{23.739, 18.477, 2.6316}, {24.249, 18.874, 7.8947}, {16.807, 25.725, 7.8947}, {16.453, 25.183, 2.6316}}], Polygon[{{24.249, 18.874, 7.8947}, {25.238, 19.644, 13.158}, {17.492, 26.774, 13.158}, {16.807, 25.725, 7.8947}}], Polygon[{{25.238, 19.644, 13.158}, {26.653, 20.745, 18.421}, {18.473, 28.275, 18.421}, {17.492, 26.774, 13.158}}], Polygon[{{26.653, 20.745, 18.421}, {28.431, 22.128, 23.684}, {19.705, 30.161, 23.684}, {18.473, 28.275, 18.421}}], Polygon[{{28.431, 22.128, 23.684}, {30.507, 23.745, 28.947}, {21.144, 32.364, 28.947}, {19.705, 30.161, 23.684}}], Polygon[{{30.507, 23.745, 28.947}, {32.826, 25.549, 34.211}, {22.751, 34.824, 34.211}, {21.144, 32.364, 28.947}}], Polygon[{{32.826, 25.549, 34.211}, {35.339, 27.506, 39.474}, {24.494, 37.49, 39.474}, {22.751, 34.824, 34.211}}], Polygon[{{35.339, 27.506, 39.474}, {38.009, 29.584, 44.737}, {26.344, 40.322, 44.737}, {24.494, 37.49, 39.474}}], Polygon[{{38.009, 29.584, 44.737}, {40.804, 31.759, 50.}, {28.281, 43.287, 50.}, {26.344, 40.322, 44.737}}], Polygon[{{28.281, 43.287, -50.}, {26.344, 40.322, -44.737}, {11.824, 46.691, -44.737}, {12.693, 50.125, -50.}}], Polygon[{{26.344, 40.322, -44.737}, {24.494, 37.49, -39.474}, {10.993, 43.412, -39.474}, {11.824, 46.691, -44.737}}], Polygon[{{24.494, 37.49, -39.474}, {22.751, 34.824, -34.211}, {10.211, 40.324, -34.211}, {10.993, 43.412, -39.474}}], Polygon[{{22.751, 34.824, -34.211}, {21.144, 32.364, -28.947}, {9.4901, 37.476, -28.947}, {10.211, 40.324, -34.211}}], Polygon[{{21.144, 32.364, -28.947}, {19.705, 30.161, -23.684}, {8.8442, 34.925, -23.684}, {9.4901, 37.476, -28.947}}], Polygon[{{19.705, 30.161, -23.684}, {18.473, 28.275, -18.421}, {8.2912, 32.741, -18.421}, {8.8442, 34.925, -23.684}}], Polygon[{{18.473, 28.275, -18.421}, {17.492, 26.774, -13.158}, {7.851, 31.003, -13.158}, {8.2912, 32.741, -18.421}}], Polygon[{{17.492, 26.774, -13.158}, {16.807, 25.725, -7.8947}, {7.5433, 29.788, -7.8947}, {7.851, 31.003, -13.158}}], Polygon[{{16.807, 25.725, -7.8947}, {16.453, 25.183, -2.6316}, {7.3846, 29.161, -2.6316}, {7.5433, 29.788, -7.8947}}], Polygon[{{16.453, 25.183, -2.6316}, {16.453, 25.183, 2.6316}, {7.3846, 29.161, 2.6316}, {7.3846, 29.161, -2.6316}}], Polygon[{{16.453, 25.183, 2.6316}, {16.807, 25.725, 7.8947}, {7.5433, 29.788, 7.8947}, {7.3846, 29.161, 2.6316}}], Polygon[{{16.807, 25.725, 7.8947}, {17.492, 26.774, 13.158}, {7.851, 31.003, 13.158}, {7.5433, 29.788, 7.8947}}], Polygon[{{17.492, 26.774, 13.158}, {18.473, 28.275, 18.421}, {8.2912, 32.741, 18.421}, {7.851, 31.003, 13.158}}], Polygon[{{18.473, 28.275, 18.421}, {19.705, 30.161, 23.684}, {8.8442, 34.925, 23.684}, {8.2912, 32.741, 18.421}}], Polygon[{{19.705, 30.161, 23.684}, {21.144, 32.364, 28.947}, {9.4901, 37.476, 28.947}, {8.8442, 34.925, 23.684}}], Polygon[{{21.144, 32.364, 28.947}, {22.751, 34.824, 34.211}, {10.211, 40.324, 34.211}, {9.4901, 37.476, 28.947}}], Polygon[{{22.751, 34.824, 34.211}, {24.494, 37.49, 39.474}, {10.993, 43.412, 39.474}, {10.211, 40.324, 34.211}}], Polygon[{{24.494, 37.49, 39.474}, {26.344, 40.322, 44.737}, {11.824, 46.691, 44.737}, {10.993, 43.412, 39.474}}], Polygon[{{26.344, 40.322, 44.737}, {28.281, 43.287, 50.}, {12.693, 50.125, 50.}, {11.824, 46.691, 44.737}}], Polygon[{{12.693, 50.125, -50.}, {11.824, 46.691, -44.737}, {-3.9774, 48.001, -44.737}, {-4.2699, 51.53, -50.}}], Polygon[{{11.824, 46.691, -44.737}, {10.993, 43.412, -39.474}, {-3.6981, 44.629, -39.474}, {-3.9774, 48.001, -44.737}}], Polygon[{{10.993, 43.412, -39.474}, {10.211, 40.324, -34.211}, {-3.4351, 41.455, -34.211}, {-3.6981, 44.629, -39.474}}], Polygon[{{10.211, 40.324, -34.211}, {9.4901, 37.476, -28.947}, {-3.1924, 38.527, -28.947}, {-3.4351, 41.455, -34.211}}], Polygon[{{9.4901, 37.476, -28.947}, {8.8442, 34.925, -23.684}, {-2.9751, 35.904, -23.684}, {-3.1924, 38.527, -28.947}}], Polygon[{{8.8442, 34.925, -23.684}, {8.2912, 32.741, -18.421}, {-2.7891, 33.66, -18.421}, {-2.9751, 35.904, -23.684}}], Polygon[{{8.2912, 32.741, -18.421}, {7.851, 31.003, -13.158}, {-2.641, 31.872, -13.158}, {-2.7891, 33.66, -18.421}}], Polygon[{{7.851, 31.003, -13.158}, {7.5433, 29.788, -7.8947}, {-2.5375, 30.623, -7.8947}, {-2.641, 31.872, -13.158}}], Polygon[{{7.5433, 29.788, -7.8947}, {7.3846, 29.161, -2.6316}, {-2.4841, 29.979, -2.6316}, {-2.5375, 30.623, -7.8947}}], Polygon[{{7.3846, 29.161, -2.6316}, {7.3846, 29.161, 2.6316}, {-2.4841, 29.979, 2.6316}, {-2.4841, 29.979, -2.6316}}], Polygon[{{7.3846, 29.161, 2.6316}, {7.5433, 29.788, 7.8947}, {-2.5375, 30.623, 7.8947}, {-2.4841, 29.979, 2.6316}}], Polygon[{{7.5433, 29.788, 7.8947}, {7.851, 31.003, 13.158}, {-2.641, 31.872, 13.158}, {-2.5375, 30.623, 7.8947}}], Polygon[{{7.851, 31.003, 13.158}, {8.2912, 32.741, 18.421}, {-2.7891, 33.66, 18.421}, {-2.641, 31.872, 13.158}}], Polygon[{{8.2912, 32.741, 18.421}, {8.8442, 34.925, 23.684}, {-2.9751, 35.904, 23.684}, {-2.7891, 33.66, 18.421}}], Polygon[{{8.8442, 34.925, 23.684}, {9.4901, 37.476, 28.947}, {-3.1924, 38.527, 28.947}, {-2.9751, 35.904, 23.684}}], Polygon[{{9.4901, 37.476, 28.947}, {10.211, 40.324, 34.211}, {-3.4351, 41.455, 34.211}, {-3.1924, 38.527, 28.947}}], Polygon[{{10.211, 40.324, 34.211}, {10.993, 43.412, 39.474}, {-3.6981, 44.629, 39.474}, {-3.4351, 41.455, 34.211}}], Polygon[{{10.993, 43.412, 39.474}, {11.824, 46.691, 44.737}, {-3.9774, 48.001, 44.737}, {-3.6981, 44.629, 39.474}}], Polygon[{{11.824, 46.691, 44.737}, {12.693, 50.125, 50.}, {-4.2699, 51.53, 50.}, {-3.9774, 48.001, 44.737}}], Polygon[{{-4.2699, 51.53, -50.}, {-3.9774, 48.001, -44.737}, {-19.348, 44.108, -44.737}, {-20.771, 47.352, -50.}}], Polygon[{{-3.9774, 48.001, -44.737}, {-3.6981, 44.629, -39.474}, {-17.989, 41.01, -39.474}, {-19.348, 44.108, -44.737}}], Polygon[{{-3.6981, 44.629, -39.474}, {-3.4351, 41.455, -34.211}, {-16.709, 38.093, -34.211}, {-17.989, 41.01, -39.474}}], Polygon[{{-3.4351, 41.455, -34.211}, {-3.1924, 38.527, -28.947}, {-15.529, 35.402, -28.947}, {-16.709, 38.093, -34.211}}], Polygon[{{-3.1924, 38.527, -28.947}, {-2.9751, 35.904, -23.684}, {-14.472, 32.993, -23.684}, {-15.529, 35.402, -28.947}}], Polygon[{{-2.9751, 35.904, -23.684}, {-2.7891, 33.66, -18.421}, {-13.567, 30.93, -18.421}, {-14.472, 32.993, -23.684}}], Polygon[{{-2.7891, 33.66, -18.421}, {-2.641, 31.872, -13.158}, {-12.847, 29.288, -13.158}, {-13.567, 30.93, -18.421}}], Polygon[{{-2.641, 31.872, -13.158}, {-2.5375, 30.623, -7.8947}, {-12.343, 28.14, -7.8947}, {-12.847, 29.288, -13.158}}], Polygon[{{-2.5375, 30.623, -7.8947}, {-2.4841, 29.979, -2.6316}, {-12.084, 27.548, -2.6316}, {-12.343, 28.14, -7.8947}}], Polygon[{{-2.4841, 29.979, -2.6316}, {-2.4841, 29.979, 2.6316}, {-12.084, 27.548, 2.6316}, {-12.084, 27.548, -2.6316}}], Polygon[{{-2.4841, 29.979, 2.6316}, {-2.5375, 30.623, 7.8947}, {-12.343, 28.14, 7.8947}, {-12.084, 27.548, 2.6316}}], Polygon[{{-2.5375, 30.623, 7.8947}, {-2.641, 31.872, 13.158}, {-12.847, 29.288, 13.158}, {-12.343, 28.14, 7.8947}}], Polygon[{{-2.641, 31.872, 13.158}, {-2.7891, 33.66, 18.421}, {-13.567, 30.93, 18.421}, {-12.847, 29.288, 13.158}}], Polygon[{{-2.7891, 33.66, 18.421}, {-2.9751, 35.904, 23.684}, {-14.472, 32.993, 23.684}, {-13.567, 30.93, 18.421}}], Polygon[{{-2.9751, 35.904, 23.684}, {-3.1924, 38.527, 28.947}, {-15.529, 35.402, 28.947}, {-14.472, 32.993, 23.684}}], Polygon[{{-3.1924, 38.527, 28.947}, {-3.4351, 41.455, 34.211}, {-16.709, 38.093, 34.211}, {-15.529, 35.402, 28.947}}], Polygon[{{-3.4351, 41.455, 34.211}, {-3.6981, 44.629, 39.474}, {-17.989, 41.01, 39.474}, {-16.709, 38.093, 34.211}}], Polygon[{{-3.6981, 44.629, 39.474}, {-3.9774, 48.001, 44.737}, {-19.348, 44.108, 44.737}, {-17.989, 41.01, 39.474}}], Polygon[{{-3.9774, 48.001, 44.737}, {-4.2699, 51.53, 50.}, {-20.771, 47.352, 50.}, {-19.348, 44.108, 44.737}}], Polygon[{{-20.771, 47.352, -50.}, {-19.348, 44.108, -44.737}, {-32.621, 35.436, -44.737}, {-35.02, 38.042, -50.}}], Polygon[{{-19.348, 44.108, -44.737}, {-17.989, 41.01, -39.474}, {-30.33, 32.947, -39.474}, {-32.621, 35.436, -44.737}}], Polygon[{{-17.989, 41.01, -39.474}, {-16.709, 38.093, -34.211}, {-28.173, 30.604, -34.211}, {-30.33, 32.947, -39.474}}], Polygon[{{-16.709, 38.093, -34.211}, {-15.529, 35.402, -28.947}, {-26.183, 28.442, -28.947}, {-28.173, 30.604, -34.211}}], Polygon[{{-15.529, 35.402, -28.947}, {-14.472, 32.993, -23.684}, {-24.401, 26.506, -23.684}, {-26.183, 28.442, -28.947}}], Polygon[{{-14.472, 32.993, -23.684}, {-13.567, 30.93, -18.421}, {-22.875, 24.849, -18.421}, {-24.401, 26.506, -23.684}}], Polygon[{{-13.567, 30.93, -18.421}, {-12.847, 29.288, -13.158}, {-21.661, 23.53, -13.158}, {-22.875, 24.849, -18.421}}], Polygon[{{-12.847, 29.288, -13.158}, {-12.343, 28.14, -7.8947}, {-20.812, 22.607, -7.8947}, {-21.661, 23.53, -13.158}}], Polygon[{{-12.343, 28.14, -7.8947}, {-12.084, 27.548, -2.6316}, {-20.374, 22.132, -2.6316}, {-20.812, 22.607, -7.8947}}], Polygon[{{-12.084, 27.548, -2.6316}, {-12.084, 27.548, 2.6316}, {-20.374, 22.132, 2.6316}, {-20.374, 22.132, -2.6316}}], Polygon[{{-12.084, 27.548, 2.6316}, {-12.343, 28.14, 7.8947}, {-20.812, 22.607, 7.8947}, {-20.374, 22.132, 2.6316}}], Polygon[{{-12.343, 28.14, 7.8947}, {-12.847, 29.288, 13.158}, {-21.661, 23.53, 13.158}, {-20.812, 22.607, 7.8947}}], Polygon[{{-12.847, 29.288, 13.158}, {-13.567, 30.93, 18.421}, {-22.875, 24.849, 18.421}, {-21.661, 23.53, 13.158}}], Polygon[{{-13.567, 30.93, 18.421}, {-14.472, 32.993, 23.684}, {-24.401, 26.506, 23.684}, {-22.875, 24.849, 18.421}}], Polygon[{{-14.472, 32.993, 23.684}, {-15.529, 35.402, 28.947}, {-26.183, 28.442, 28.947}, {-24.401, 26.506, 23.684}}], Polygon[{{-15.529, 35.402, 28.947}, {-16.709, 38.093, 34.211}, {-28.173, 30.604, 34.211}, {-26.183, 28.442, 28.947}}], Polygon[{{-16.709, 38.093, 34.211}, {-17.989, 41.01, 39.474}, {-30.33, 32.947, 39.474}, {-28.173, 30.604, 34.211}}], Polygon[{{-17.989, 41.01, 39.474}, {-19.348, 44.108, 44.737}, {-32.621, 35.436, 44.737}, {-30.33, 32.947, 39.474}}], Polygon[{{-19.348, 44.108, 44.737}, {-20.771, 47.352, 50.}, {-35.02, 38.042, 50.}, {-32.621, 35.436, 44.737}}], Polygon[{{-35.02, 38.042, -50.}, {-32.621, 35.436, -44.737}, {-42.36, 22.924, -44.737}, {-45.475, 24.61, -50.}}], Polygon[{{-32.621, 35.436, -44.737}, {-30.33, 32.947, -39.474}, {-39.385, 21.314, -39.474}, {-42.36, 22.924, -44.737}}], Polygon[{{-30.33, 32.947, -39.474}, {-28.173, 30.604, -34.211}, {-36.583, 19.798, -34.211}, {-39.385, 21.314, -39.474}}], Polygon[{{-28.173, 30.604, -34.211}, {-26.183, 28.442, -28.947}, {-33.999, 18.399, -28.947}, {-36.583, 19.798, -34.211}}], Polygon[{{-26.183, 28.442, -28.947}, {-24.401, 26.506, -23.684}, {-31.685, 17.147, -23.684}, {-33.999, 18.399, -28.947}}], Polygon[{{-24.401, 26.506, -23.684}, {-22.875, 24.849, -18.421}, {-29.704, 16.075, -18.421}, {-31.685, 17.147, -23.684}}], Polygon[{{-22.875, 24.849, -18.421}, {-21.661, 23.53, -13.158}, {-28.127, 15.222, -13.158}, {-29.704, 16.075, -18.421}}], Polygon[{{-21.661, 23.53, -13.158}, {-20.812, 22.607, -7.8947}, {-27.025, 14.625, -7.8947}, {-28.127, 15.222, -13.158}}], Polygon[{{-20.812, 22.607, -7.8947}, {-20.374, 22.132, -2.6316}, {-26.456, 14.317, -2.6316}, {-27.025, 14.625, -7.8947}}], Polygon[{{-20.374, 22.132, -2.6316}, {-20.374, 22.132, 2.6316}, {-26.456, 14.317, 2.6316}, {-26.456, 14.317, -2.6316}}], Polygon[{{-20.374, 22.132, 2.6316}, {-20.812, 22.607, 7.8947}, {-27.025, 14.625, 7.8947}, {-26.456, 14.317, 2.6316}}], Polygon[{{-20.812, 22.607, 7.8947}, {-21.661, 23.53, 13.158}, {-28.127, 15.222, 13.158}, {-27.025, 14.625, 7.8947}}], Polygon[{{-21.661, 23.53, 13.158}, {-22.875, 24.849, 18.421}, {-29.704, 16.075, 18.421}, {-28.127, 15.222, 13.158}}], Polygon[{{-22.875, 24.849, 18.421}, {-24.401, 26.506, 23.684}, {-31.685, 17.147, 23.684}, {-29.704, 16.075, 18.421}}], Polygon[{{-24.401, 26.506, 23.684}, {-26.183, 28.442, 28.947}, {-33.999, 18.399, 28.947}, {-31.685, 17.147, 23.684}}], Polygon[{{-26.183, 28.442, 28.947}, {-28.173, 30.604, 34.211}, {-36.583, 19.798, 34.211}, {-33.999, 18.399, 28.947}}], Polygon[{{-28.173, 30.604, 34.211}, {-30.33, 32.947, 39.474}, {-39.385, 21.314, 39.474}, {-36.583, 19.798, 34.211}}], Polygon[{{-30.33, 32.947, 39.474}, {-32.621, 35.436, 44.737}, {-42.36, 22.924, 44.737}, {-39.385, 21.314, 39.474}}], Polygon[{{-32.621, 35.436, 44.737}, {-35.02, 38.042, 50.}, {-45.475, 24.61, 50.}, {-42.36, 22.924, 44.737}}], Polygon[{{-45.475, 24.61, -50.}, {-42.36, 22.924, -44.737}, {-47.508, 7.9277, -44.737}, {-51.002, 8.5107, -50.}}], Polygon[{{-42.36, 22.924, -44.737}, {-39.385, 21.314, -39.474}, {-44.171, 7.3709, -39.474}, {-47.508, 7.9277, -44.737}}], Polygon[{{-39.385, 21.314, -39.474}, {-36.583, 19.798, -34.211}, {-41.03, 6.8466, -34.211}, {-44.171, 7.3709, -39.474}}], Polygon[{{-36.583, 19.798, -34.211}, {-33.999, 18.399, -28.947}, {-38.131, 6.363, -28.947}, {-41.03, 6.8466, -34.211}}], Polygon[{{-33.999, 18.399, -28.947}, {-31.685, 17.147, -23.684}, {-35.536, 5.9299, -23.684}, {-38.131, 6.363, -28.947}}], Polygon[{{-31.685, 17.147, -23.684}, {-29.704, 16.075, -18.421}, {-33.314, 5.5592, -18.421}, {-35.536, 5.9299, -23.684}}], Polygon[{{-29.704, 16.075, -18.421}, {-28.127, 15.222, -13.158}, {-31.545, 5.264, -13.158}, {-33.314, 5.5592, -18.421}}], Polygon[{{-28.127, 15.222, -13.158}, {-27.025, 14.625, -7.8947}, {-30.309, 5.0577, -7.8947}, {-31.545, 5.264, -13.158}}], Polygon[{{-27.025, 14.625, -7.8947}, {-26.456, 14.317, -2.6316}, {-29.671, 4.9513, -2.6316}, {-30.309, 5.0577, -7.8947}}], Polygon[{{-26.456, 14.317, -2.6316}, {-26.456, 14.317, 2.6316}, {-29.671, 4.9513, 2.6316}, {-29.671, 4.9513, -2.6316}}], Polygon[{{-26.456, 14.317, 2.6316}, {-27.025, 14.625, 7.8947}, {-30.309, 5.0577, 7.8947}, {-29.671, 4.9513, 2.6316}}], Polygon[{{-27.025, 14.625, 7.8947}, {-28.127, 15.222, 13.158}, {-31.545, 5.264, 13.158}, {-30.309, 5.0577, 7.8947}}], Polygon[{{-28.127, 15.222, 13.158}, {-29.704, 16.075, 18.421}, {-33.314, 5.5592, 18.421}, {-31.545, 5.264, 13.158}}], Polygon[{{-29.704, 16.075, 18.421}, {-31.685, 17.147, 23.684}, {-35.536, 5.9299, 23.684}, {-33.314, 5.5592, 18.421}}], Polygon[{{-31.685, 17.147, 23.684}, {-33.999, 18.399, 28.947}, {-38.131, 6.363, 28.947}, {-35.536, 5.9299, 23.684}}], Polygon[{{-33.999, 18.399, 28.947}, {-36.583, 19.798, 34.211}, {-41.03, 6.8466, 34.211}, {-38.131, 6.363, 28.947}}], Polygon[{{-36.583, 19.798, 34.211}, {-39.385, 21.314, 39.474}, {-44.171, 7.3709, 39.474}, {-41.03, 6.8466, 34.211}}], Polygon[{{-39.385, 21.314, 39.474}, {-42.36, 22.924, 44.737}, {-47.508, 7.9277, 44.737}, {-44.171, 7.3709, 39.474}}], Polygon[{{-42.36, 22.924, 44.737}, {-45.475, 24.61, 50.}, {-51.002, 8.5107, 50.}, {-47.508, 7.9277, 44.737}}], Polygon[{{-51.002, 8.5107, -50.}, {-47.508, 7.9277, -44.737}, {-47.508, -7.9277, -44.737}, {-51.002, -8.5107, -50.}}], Polygon[{{-47.508, 7.9277, -44.737}, {-44.171, 7.3709, -39.474}, {-44.171, -7.3709, -39.474}, {-47.508, -7.9277, -44.737}}], Polygon[{{-44.171, 7.3709, -39.474}, {-41.03, 6.8466, -34.211}, {-41.03, -6.8466, -34.211}, {-44.171, -7.3709, -39.474}}], Polygon[{{-41.03, 6.8466, -34.211}, {-38.131, 6.363, -28.947}, {-38.131, -6.363, -28.947}, {-41.03, -6.8466, -34.211}}], Polygon[{{-38.131, 6.363, -28.947}, {-35.536, 5.9299, -23.684}, {-35.536, -5.9299, -23.684}, {-38.131, -6.363, -28.947}}], Polygon[{{-35.536, 5.9299, -23.684}, {-33.314, 5.5592, -18.421}, {-33.314, -5.5592, -18.421}, {-35.536, -5.9299, -23.684}}], Polygon[{{-33.314, 5.5592, -18.421}, {-31.545, 5.264, -13.158}, {-31.545, -5.264, -13.158}, {-33.314, -5.5592, -18.421}}], Polygon[{{-31.545, 5.264, -13.158}, {-30.309, 5.0577, -7.8947}, {-30.309, -5.0577, -7.8947}, {-31.545, -5.264, -13.158}}], Polygon[{{-30.309, 5.0577, -7.8947}, {-29.671, 4.9513, -2.6316}, {-29.671, -4.9513, -2.6316}, {-30.309, -5.0577, -7.8947}}], Polygon[{{-29.671, 4.9513, -2.6316}, {-29.671, 4.9513, 2.6316}, {-29.671, -4.9513, 2.6316}, {-29.671, -4.9513, -2.6316}}], Polygon[{{-29.671, 4.9513, 2.6316}, {-30.309, 5.0577, 7.8947}, {-30.309, -5.0577, 7.8947}, {-29.671, -4.9513, 2.6316}}], Polygon[{{-30.309, 5.0577, 7.8947}, {-31.545, 5.264, 13.158}, {-31.545, -5.264, 13.158}, {-30.309, -5.0577, 7.8947}}], Polygon[{{-31.545, 5.264, 13.158}, {-33.314, 5.5592, 18.421}, {-33.314, -5.5592, 18.421}, {-31.545, -5.264, 13.158}}], Polygon[{{-33.314, 5.5592, 18.421}, {-35.536, 5.9299, 23.684}, {-35.536, -5.9299, 23.684}, {-33.314, -5.5592, 18.421}}], Polygon[{{-35.536, 5.9299, 23.684}, {-38.131, 6.363, 28.947}, {-38.131, -6.363, 28.947}, {-35.536, -5.9299, 23.684}}], Polygon[{{-38.131, 6.363, 28.947}, {-41.03, 6.8466, 34.211}, {-41.03, -6.8466, 34.211}, {-38.131, -6.363, 28.947}}], Polygon[{{-41.03, 6.8466, 34.211}, {-44.171, 7.3709, 39.474}, {-44.171, -7.3709, 39.474}, {-41.03, -6.8466, 34.211}}], Polygon[{{-44.171, 7.3709, 39.474}, {-47.508, 7.9277, 44.737}, {-47.508, -7.9277, 44.737}, {-44.171, -7.3709, 39.474}}], Polygon[{{-47.508, 7.9277, 44.737}, {-51.002, 8.5107, 50.}, {-51.002, -8.5107, 50.}, {-47.508, -7.9277, 44.737}}], Polygon[{{-51.002, -8.5107, -50.}, {-47.508, -7.9277, -44.737}, {-42.36, -22.924, -44.737}, {-45.475, -24.61, -50.}}], Polygon[{{-47.508, -7.9277, -44.737}, {-44.171, -7.3709, -39.474}, {-39.385, -21.314, -39.474}, {-42.36, -22.924, -44.737}}], Polygon[{{-44.171, -7.3709, -39.474}, {-41.03, -6.8466, -34.211}, {-36.583, -19.798, -34.211}, {-39.385, -21.314, -39.474}}], Polygon[{{-41.03, -6.8466, -34.211}, {-38.131, -6.363, -28.947}, {-33.999, -18.399, -28.947}, {-36.583, -19.798, -34.211}}], Polygon[{{-38.131, -6.363, -28.947}, {-35.536, -5.9299, -23.684}, {-31.685, -17.147, -23.684}, {-33.999, -18.399, -28.947}}], Polygon[{{-35.536, -5.9299, -23.684}, {-33.314, -5.5592, -18.421}, {-29.704, -16.075, -18.421}, {-31.685, -17.147, -23.684}}], Polygon[{{-33.314, -5.5592, -18.421}, {-31.545, -5.264, -13.158}, {-28.127, -15.222, -13.158}, {-29.704, -16.075, -18.421}}], Polygon[{{-31.545, -5.264, -13.158}, {-30.309, -5.0577, -7.8947}, {-27.025, -14.625, -7.8947}, {-28.127, -15.222, -13.158}}], Polygon[{{-30.309, -5.0577, -7.8947}, {-29.671, -4.9513, -2.6316}, {-26.456, -14.317, -2.6316}, {-27.025, -14.625, -7.8947}}], Polygon[{{-29.671, -4.9513, -2.6316}, {-29.671, -4.9513, 2.6316}, {-26.456, -14.317, 2.6316}, {-26.456, -14.317, -2.6316}}], Polygon[{{-29.671, -4.9513, 2.6316}, {-30.309, -5.0577, 7.8947}, {-27.025, -14.625, 7.8947}, {-26.456, -14.317, 2.6316}}], Polygon[{{-30.309, -5.0577, 7.8947}, {-31.545, -5.264, 13.158}, {-28.127, -15.222, 13.158}, {-27.025, -14.625, 7.8947}}], Polygon[{{-31.545, -5.264, 13.158}, {-33.314, -5.5592, 18.421}, {-29.704, -16.075, 18.421}, {-28.127, -15.222, 13.158}}], Polygon[{{-33.314, -5.5592, 18.421}, {-35.536, -5.9299, 23.684}, {-31.685, -17.147, 23.684}, {-29.704, -16.075, 18.421}}], Polygon[{{-35.536, -5.9299, 23.684}, {-38.131, -6.363, 28.947}, {-33.999, -18.399, 28.947}, {-31.685, -17.147, 23.684}}], Polygon[{{-38.131, -6.363, 28.947}, {-41.03, -6.8466, 34.211}, {-36.583, -19.798, 34.211}, {-33.999, -18.399, 28.947}}], Polygon[{{-41.03, -6.8466, 34.211}, {-44.171, -7.3709, 39.474}, {-39.385, -21.314, 39.474}, {-36.583, -19.798, 34.211}}], Polygon[{{-44.171, -7.3709, 39.474}, {-47.508, -7.9277, 44.737}, {-42.36, -22.924, 44.737}, {-39.385, -21.314, 39.474}}], Polygon[{{-47.508, -7.9277, 44.737}, {-51.002, -8.5107, 50.}, {-45.475, -24.61, 50.}, {-42.36, -22.924, 44.737}}], Polygon[{{-45.475, -24.61, -50.}, {-42.36, -22.924, -44.737}, {-32.621, -35.436, -44.737}, {-35.02, -38.042, -50.}}], Polygon[{{-42.36, -22.924, -44.737}, {-39.385, -21.314, -39.474}, {-30.33, -32.947, -39.474}, {-32.621, -35.436, -44.737}}], Polygon[{{-39.385, -21.314, -39.474}, {-36.583, -19.798, -34.211}, {-28.173, -30.604, -34.211}, {-30.33, -32.947, -39.474}}], Polygon[{{-36.583, -19.798, -34.211}, {-33.999, -18.399, -28.947}, {-26.183, -28.442, -28.947}, {-28.173, -30.604, -34.211}}], Polygon[{{-33.999, -18.399, -28.947}, {-31.685, -17.147, -23.684}, {-24.401, -26.506, -23.684}, {-26.183, -28.442, -28.947}}], Polygon[{{-31.685, -17.147, -23.684}, {-29.704, -16.075, -18.421}, {-22.875, -24.849, -18.421}, {-24.401, -26.506, -23.684}}], Polygon[{{-29.704, -16.075, -18.421}, {-28.127, -15.222, -13.158}, {-21.661, -23.53, -13.158}, {-22.875, -24.849, -18.421}}], Polygon[{{-28.127, -15.222, -13.158}, {-27.025, -14.625, -7.8947}, {-20.812, -22.607, -7.8947}, {-21.661, -23.53, -13.158}}], Polygon[{{-27.025, -14.625, -7.8947}, {-26.456, -14.317, -2.6316}, {-20.374, -22.132, -2.6316}, {-20.812, -22.607, -7.8947}}], Polygon[{{-26.456, -14.317, -2.6316}, {-26.456, -14.317, 2.6316}, {-20.374, -22.132, 2.6316}, {-20.374, -22.132, -2.6316}}], Polygon[{{-26.456, -14.317, 2.6316}, {-27.025, -14.625, 7.8947}, {-20.812, -22.607, 7.8947}, {-20.374, -22.132, 2.6316}}], Polygon[{{-27.025, -14.625, 7.8947}, {-28.127, -15.222, 13.158}, {-21.661, -23.53, 13.158}, {-20.812, -22.607, 7.8947}}], Polygon[{{-28.127, -15.222, 13.158}, {-29.704, -16.075, 18.421}, {-22.875, -24.849, 18.421}, {-21.661, -23.53, 13.158}}], Polygon[{{-29.704, -16.075, 18.421}, {-31.685, -17.147, 23.684}, {-24.401, -26.506, 23.684}, {-22.875, -24.849, 18.421}}], Polygon[{{-31.685, -17.147, 23.684}, {-33.999, -18.399, 28.947}, {-26.183, -28.442, 28.947}, {-24.401, -26.506, 23.684}}], Polygon[{{-33.999, -18.399, 28.947}, {-36.583, -19.798, 34.211}, {-28.173, -30.604, 34.211}, {-26.183, -28.442, 28.947}}], Polygon[{{-36.583, -19.798, 34.211}, {-39.385, -21.314, 39.474}, {-30.33, -32.947, 39.474}, {-28.173, -30.604, 34.211}}], Polygon[{{-39.385, -21.314, 39.474}, {-42.36, -22.924, 44.737}, {-32.621, -35.436, 44.737}, {-30.33, -32.947, 39.474}}], Polygon[{{-42.36, -22.924, 44.737}, {-45.475, -24.61, 50.}, {-35.02, -38.042, 50.}, {-32.621, -35.436, 44.737}}], Polygon[{{-35.02, -38.042, -50.}, {-32.621, -35.436, -44.737}, {-19.348, -44.108, -44.737}, {-20.771, -47.352, -50.}}], Polygon[{{-32.621, -35.436, -44.737}, {-30.33, -32.947, -39.474}, {-17.989, -41.01, -39.474}, {-19.348, -44.108, -44.737}}], Polygon[{{-30.33, -32.947, -39.474}, {-28.173, -30.604, -34.211}, {-16.709, -38.093, -34.211}, {-17.989, -41.01, -39.474}}], Polygon[{{-28.173, -30.604, -34.211}, {-26.183, -28.442, -28.947}, {-15.529, -35.402, -28.947}, {-16.709, -38.093, -34.211}}], Polygon[{{-26.183, -28.442, -28.947}, {-24.401, -26.506, -23.684}, {-14.472, -32.993, -23.684}, {-15.529, -35.402, -28.947}}], Polygon[{{-24.401, -26.506, -23.684}, {-22.875, -24.849, -18.421}, {-13.567, -30.93, -18.421}, {-14.472, -32.993, -23.684}}], Polygon[{{-22.875, -24.849, -18.421}, {-21.661, -23.53, -13.158}, {-12.847, -29.288, -13.158}, {-13.567, -30.93, -18.421}}], Polygon[{{-21.661, -23.53, -13.158}, {-20.812, -22.607, -7.8947}, {-12.343, -28.14, -7.8947}, {-12.847, -29.288, -13.158}}], Polygon[{{-20.812, -22.607, -7.8947}, {-20.374, -22.132, -2.6316}, {-12.084, -27.548, -2.6316}, {-12.343, -28.14, -7.8947}}], Polygon[{{-20.374, -22.132, -2.6316}, {-20.374, -22.132, 2.6316}, {-12.084, -27.548, 2.6316}, {-12.084, -27.548, -2.6316}}], Polygon[{{-20.374, -22.132, 2.6316}, {-20.812, -22.607, 7.8947}, {-12.343, -28.14, 7.8947}, {-12.084, -27.548, 2.6316}}], Polygon[{{-20.812, -22.607, 7.8947}, {-21.661, -23.53, 13.158}, {-12.847, -29.288, 13.158}, {-12.343, -28.14, 7.8947}}], Polygon[{{-21.661, -23.53, 13.158}, {-22.875, -24.849, 18.421}, {-13.567, -30.93, 18.421}, {-12.847, -29.288, 13.158}}], Polygon[{{-22.875, -24.849, 18.421}, {-24.401, -26.506, 23.684}, {-14.472, -32.993, 23.684}, {-13.567, -30.93, 18.421}}], Polygon[{{-24.401, -26.506, 23.684}, {-26.183, -28.442, 28.947}, {-15.529, -35.402, 28.947}, {-14.472, -32.993, 23.684}}], Polygon[{{-26.183, -28.442, 28.947}, {-28.173, -30.604, 34.211}, {-16.709, -38.093, 34.211}, {-15.529, -35.402, 28.947}}], Polygon[{{-28.173, -30.604, 34.211}, {-30.33, -32.947, 39.474}, {-17.989, -41.01, 39.474}, {-16.709, -38.093, 34.211}}], Polygon[{{-30.33, -32.947, 39.474}, {-32.621, -35.436, 44.737}, {-19.348, -44.108, 44.737}, {-17.989, -41.01, 39.474}}], Polygon[{{-32.621, -35.436, 44.737}, {-35.02, -38.042, 50.}, {-20.771, -47.352, 50.}, {-19.348, -44.108, 44.737}}], Polygon[{{-20.771, -47.352, -50.}, {-19.348, -44.108, -44.737}, {-3.9774, -48.001, -44.737}, {-4.2699, -51.53, -50.}}], Polygon[{{-19.348, -44.108, -44.737}, {-17.989, -41.01, -39.474}, {-3.6981, -44.629, -39.474}, {-3.9774, -48.001, -44.737}}], Polygon[{{-17.989, -41.01, -39.474}, {-16.709, -38.093, -34.211}, {-3.4351, -41.455, -34.211}, {-3.6981, -44.629, -39.474}}], Polygon[{{-16.709, -38.093, -34.211}, {-15.529, -35.402, -28.947}, {-3.1924, -38.527, -28.947}, {-3.4351, -41.455, -34.211}}], Polygon[{{-15.529, -35.402, -28.947}, {-14.472, -32.993, -23.684}, {-2.9751, -35.904, -23.684}, {-3.1924, -38.527, -28.947}}], Polygon[{{-14.472, -32.993, -23.684}, {-13.567, -30.93, -18.421}, {-2.7891, -33.66, -18.421}, {-2.9751, -35.904, -23.684}}], Polygon[{{-13.567, -30.93, -18.421}, {-12.847, -29.288, -13.158}, {-2.641, -31.872, -13.158}, {-2.7891, -33.66, -18.421}}], Polygon[{{-12.847, -29.288, -13.158}, {-12.343, -28.14, -7.8947}, {-2.5375, -30.623, -7.8947}, {-2.641, -31.872, -13.158}}], Polygon[{{-12.343, -28.14, -7.8947}, {-12.084, -27.548, -2.6316}, {-2.4841, -29.979, -2.6316}, {-2.5375, -30.623, -7.8947}}], Polygon[{{-12.084, -27.548, -2.6316}, {-12.084, -27.548, 2.6316}, {-2.4841, -29.979, 2.6316}, {-2.4841, -29.979, -2.6316}}], Polygon[{{-12.084, -27.548, 2.6316}, {-12.343, -28.14, 7.8947}, {-2.5375, -30.623, 7.8947}, {-2.4841, -29.979, 2.6316}}], Polygon[{{-12.343, -28.14, 7.8947}, {-12.847, -29.288, 13.158}, {-2.641, -31.872, 13.158}, {-2.5375, -30.623, 7.8947}}], Polygon[{{-12.847, -29.288, 13.158}, {-13.567, -30.93, 18.421}, {-2.7891, -33.66, 18.421}, {-2.641, -31.872, 13.158}}], Polygon[{{-13.567, -30.93, 18.421}, {-14.472, -32.993, 23.684}, {-2.9751, -35.904, 23.684}, {-2.7891, -33.66, 18.421}}], Polygon[{{-14.472, -32.993, 23.684}, {-15.529, -35.402, 28.947}, {-3.1924, -38.527, 28.947}, {-2.9751, -35.904, 23.684}}], Polygon[{{-15.529, -35.402, 28.947}, {-16.709, -38.093, 34.211}, {-3.4351, -41.455, 34.211}, {-3.1924, -38.527, 28.947}}], Polygon[{{-16.709, -38.093, 34.211}, {-17.989, -41.01, 39.474}, {-3.6981, -44.629, 39.474}, {-3.4351, -41.455, 34.211}}], Polygon[{{-17.989, -41.01, 39.474}, {-19.348, -44.108, 44.737}, {-3.9774, -48.001, 44.737}, {-3.6981, -44.629, 39.474}}], Polygon[{{-19.348, -44.108, 44.737}, {-20.771, -47.352, 50.}, {-4.2699, -51.53, 50.}, {-3.9774, -48.001, 44.737}}], Polygon[{{-4.2699, -51.53, -50.}, {-3.9774, -48.001, -44.737}, {11.824, -46.691, -44.737}, {12.693, -50.125, -50.}}], Polygon[{{-3.9774, -48.001, -44.737}, {-3.6981, -44.629, -39.474}, {10.993, -43.412, -39.474}, {11.824, -46.691, -44.737}}], Polygon[{{-3.6981, -44.629, -39.474}, {-3.4351, -41.455, -34.211}, {10.211, -40.324, -34.211}, {10.993, -43.412, -39.474}}], Polygon[{{-3.4351, -41.455, -34.211}, {-3.1924, -38.527, -28.947}, {9.4901, -37.476, -28.947}, {10.211, -40.324, -34.211}}], Polygon[{{-3.1924, -38.527, -28.947}, {-2.9751, -35.904, -23.684}, {8.8442, -34.925, -23.684}, {9.4901, -37.476, -28.947}}], Polygon[{{-2.9751, -35.904, -23.684}, {-2.7891, -33.66, -18.421}, {8.2912, -32.741, -18.421}, {8.8442, -34.925, -23.684}}], Polygon[{{-2.7891, -33.66, -18.421}, {-2.641, -31.872, -13.158}, {7.851, -31.003, -13.158}, {8.2912, -32.741, -18.421}}], Polygon[{{-2.641, -31.872, -13.158}, {-2.5375, -30.623, -7.8947}, {7.5433, -29.788, -7.8947}, {7.851, -31.003, -13.158}}], Polygon[{{-2.5375, -30.623, -7.8947}, {-2.4841, -29.979, -2.6316}, {7.3846, -29.161, -2.6316}, {7.5433, -29.788, -7.8947}}], Polygon[{{-2.4841, -29.979, -2.6316}, {-2.4841, -29.979, 2.6316}, {7.3846, -29.161, 2.6316}, {7.3846, -29.161, -2.6316}}], Polygon[{{-2.4841, -29.979, 2.6316}, {-2.5375, -30.623, 7.8947}, {7.5433, -29.788, 7.8947}, {7.3846, -29.161, 2.6316}}], Polygon[{{-2.5375, -30.623, 7.8947}, {-2.641, -31.872, 13.158}, {7.851, -31.003, 13.158}, {7.5433, -29.788, 7.8947}}], Polygon[{{-2.641, -31.872, 13.158}, {-2.7891, -33.66, 18.421}, {8.2912, -32.741, 18.421}, {7.851, -31.003, 13.158}}], Polygon[{{-2.7891, -33.66, 18.421}, {-2.9751, -35.904, 23.684}, {8.8442, -34.925, 23.684}, {8.2912, -32.741, 18.421}}], Polygon[{{-2.9751, -35.904, 23.684}, {-3.1924, -38.527, 28.947}, {9.4901, -37.476, 28.947}, {8.8442, -34.925, 23.684}}], Polygon[{{-3.1924, -38.527, 28.947}, {-3.4351, -41.455, 34.211}, {10.211, -40.324, 34.211}, {9.4901, -37.476, 28.947}}], Polygon[{{-3.4351, -41.455, 34.211}, {-3.6981, -44.629, 39.474}, {10.993, -43.412, 39.474}, {10.211, -40.324, 34.211}}], Polygon[{{-3.6981, -44.629, 39.474}, {-3.9774, -48.001, 44.737}, {11.824, -46.691, 44.737}, {10.993, -43.412, 39.474}}], Polygon[{{-3.9774, -48.001, 44.737}, {-4.2699, -51.53, 50.}, {12.693, -50.125, 50.}, {11.824, -46.691, 44.737}}], Polygon[{{12.693, -50.125, -50.}, {11.824, -46.691, -44.737}, {26.344, -40.322, -44.737}, {28.281, -43.287, -50.}}], Polygon[{{11.824, -46.691, -44.737}, {10.993, -43.412, -39.474}, {24.494, -37.49, -39.474}, {26.344, -40.322, -44.737}}], Polygon[{{10.993, -43.412, -39.474}, {10.211, -40.324, -34.211}, {22.751, -34.824, -34.211}, {24.494, -37.49, -39.474}}], Polygon[{{10.211, -40.324, -34.211}, {9.4901, -37.476, -28.947}, {21.144, -32.364, -28.947}, {22.751, -34.824, -34.211}}], Polygon[{{9.4901, -37.476, -28.947}, {8.8442, -34.925, -23.684}, {19.705, -30.161, -23.684}, {21.144, -32.364, -28.947}}], Polygon[{{8.8442, -34.925, -23.684}, {8.2912, -32.741, -18.421}, {18.473, -28.275, -18.421}, {19.705, -30.161, -23.684}}], Polygon[{{8.2912, -32.741, -18.421}, {7.851, -31.003, -13.158}, {17.492, -26.774, -13.158}, {18.473, -28.275, -18.421}}], Polygon[{{7.851, -31.003, -13.158}, {7.5433, -29.788, -7.8947}, {16.807, -25.725, -7.8947}, {17.492, -26.774, -13.158}}], Polygon[{{7.5433, -29.788, -7.8947}, {7.3846, -29.161, -2.6316}, {16.453, -25.183, -2.6316}, {16.807, -25.725, -7.8947}}], Polygon[{{7.3846, -29.161, -2.6316}, {7.3846, -29.161, 2.6316}, {16.453, -25.183, 2.6316}, {16.453, -25.183, -2.6316}}], Polygon[{{7.3846, -29.161, 2.6316}, {7.5433, -29.788, 7.8947}, {16.807, -25.725, 7.8947}, {16.453, -25.183, 2.6316}}], Polygon[{{7.5433, -29.788, 7.8947}, {7.851, -31.003, 13.158}, {17.492, -26.774, 13.158}, {16.807, -25.725, 7.8947}}], Polygon[{{7.851, -31.003, 13.158}, {8.2912, -32.741, 18.421}, {18.473, -28.275, 18.421}, {17.492, -26.774, 13.158}}], Polygon[{{8.2912, -32.741, 18.421}, {8.8442, -34.925, 23.684}, {19.705, -30.161, 23.684}, {18.473, -28.275, 18.421}}], Polygon[{{8.8442, -34.925, 23.684}, {9.4901, -37.476, 28.947}, {21.144, -32.364, 28.947}, {19.705, -30.161, 23.684}}], Polygon[{{9.4901, -37.476, 28.947}, {10.211, -40.324, 34.211}, {22.751, -34.824, 34.211}, {21.144, -32.364, 28.947}}], Polygon[{{10.211, -40.324, 34.211}, {10.993, -43.412, 39.474}, {24.494, -37.49, 39.474}, {22.751, -34.824, 34.211}}], Polygon[{{10.993, -43.412, 39.474}, {11.824, -46.691, 44.737}, {26.344, -40.322, 44.737}, {24.494, -37.49, 39.474}}], Polygon[{{11.824, -46.691, 44.737}, {12.693, -50.125, 50.}, {28.281, -43.287, 50.}, {26.344, -40.322, 44.737}}], Polygon[{{28.281, -43.287, -50.}, {26.344, -40.322, -44.737}, {38.009, -29.584, -44.737}, {40.804, -31.759, -50.}}], Polygon[{{26.344, -40.322, -44.737}, {24.494, -37.49, -39.474}, {35.339, -27.506, -39.474}, {38.009, -29.584, -44.737}}], Polygon[{{24.494, -37.49, -39.474}, {22.751, -34.824, -34.211}, {32.826, -25.549, -34.211}, {35.339, -27.506, -39.474}}], Polygon[{{22.751, -34.824, -34.211}, {21.144, -32.364, -28.947}, {30.507, -23.745, -28.947}, {32.826, -25.549, -34.211}}], Polygon[{{21.144, -32.364, -28.947}, {19.705, -30.161, -23.684}, {28.431, -22.128, -23.684}, {30.507, -23.745, -28.947}}], Polygon[{{19.705, -30.161, -23.684}, {18.473, -28.275, -18.421}, {26.653, -20.745, -18.421}, {28.431, -22.128, -23.684}}], Polygon[{{18.473, -28.275, -18.421}, {17.492, -26.774, -13.158}, {25.238, -19.644, -13.158}, {26.653, -20.745, -18.421}}], Polygon[{{17.492, -26.774, -13.158}, {16.807, -25.725, -7.8947}, {24.249, -18.874, -7.8947}, {25.238, -19.644, -13.158}}], Polygon[{{16.807, -25.725, -7.8947}, {16.453, -25.183, -2.6316}, {23.739, -18.477, -2.6316}, {24.249, -18.874, -7.8947}}], Polygon[{{16.453, -25.183, -2.6316}, {16.453, -25.183, 2.6316}, {23.739, -18.477, 2.6316}, {23.739, -18.477, -2.6316}}], Polygon[{{16.453, -25.183, 2.6316}, {16.807, -25.725, 7.8947}, {24.249, -18.874, 7.8947}, {23.739, -18.477, 2.6316}}], Polygon[{{16.807, -25.725, 7.8947}, {17.492, -26.774, 13.158}, {25.238, -19.644, 13.158}, {24.249, -18.874, 7.8947}}], Polygon[{{17.492, -26.774, 13.158}, {18.473, -28.275, 18.421}, {26.653, -20.745, 18.421}, {25.238, -19.644, 13.158}}], Polygon[{{18.473, -28.275, 18.421}, {19.705, -30.161, 23.684}, {28.431, -22.128, 23.684}, {26.653, -20.745, 18.421}}], Polygon[{{19.705, -30.161, 23.684}, {21.144, -32.364, 28.947}, {30.507, -23.745, 28.947}, {28.431, -22.128, 23.684}}], Polygon[{{21.144, -32.364, 28.947}, {22.751, -34.824, 34.211}, {32.826, -25.549, 34.211}, {30.507, -23.745, 28.947}}], Polygon[{{22.751, -34.824, 34.211}, {24.494, -37.49, 39.474}, {35.339, -27.506, 39.474}, {32.826, -25.549, 34.211}}], Polygon[{{24.494, -37.49, 39.474}, {26.344, -40.322, 44.737}, {38.009, -29.584, 44.737}, {35.339, -27.506, 39.474}}], Polygon[{{26.344, -40.322, 44.737}, {28.281, -43.287, 50.}, {40.804, -31.759, 50.}, {38.009, -29.584, 44.737}}], Polygon[{{40.804, -31.759, -50.}, {38.009, -29.584, -44.737}, {45.555, -15.639, -44.737}, {48.905, -16.789, -50.}}], Polygon[{{38.009, -29.584, -44.737}, {35.339, -27.506, -39.474}, {42.356, -14.541, -39.474}, {45.555, -15.639, -44.737}}], Polygon[{{35.339, -27.506, -39.474}, {32.826, -25.549, -34.211}, {39.343, -13.507, -34.211}, {42.356, -14.541, -39.474}}], Polygon[{{32.826, -25.549, -34.211}, {30.507, -23.745, -28.947}, {36.564, -12.552, -28.947}, {39.343, -13.507, -34.211}}], Polygon[{{30.507, -23.745, -28.947}, {28.431, -22.128, -23.684}, {34.075, -11.698, -23.684}, {36.564, -12.552, -28.947}}], Polygon[{{28.431, -22.128, -23.684}, {26.653, -20.745, -18.421}, {31.945, -10.967, -18.421}, {34.075, -11.698, -23.684}}], Polygon[{{26.653, -20.745, -18.421}, {25.238, -19.644, -13.158}, {30.249, -10.384, -13.158}, {31.945, -10.967, -18.421}}], Polygon[{{25.238, -19.644, -13.158}, {24.249, -18.874, -7.8947}, {29.063, -9.9774, -7.8947}, {30.249, -10.384, -13.158}}], Polygon[{{24.249, -18.874, -7.8947}, {23.739, -18.477, -2.6316}, {28.452, -9.7675, -2.6316}, {29.063, -9.9774, -7.8947}}], Polygon[{{23.739, -18.477, -2.6316}, {23.739, -18.477, 2.6316}, {28.452, -9.7675, 2.6316}, {28.452, -9.7675, -2.6316}}], Polygon[{{23.739, -18.477, 2.6316}, {24.249, -18.874, 7.8947}, {29.063, -9.9774, 7.8947}, {28.452, -9.7675, 2.6316}}], Polygon[{{24.249, -18.874, 7.8947}, {25.238, -19.644, 13.158}, {30.249, -10.384, 13.158}, {29.063, -9.9774, 7.8947}}], Polygon[{{25.238, -19.644, 13.158}, {26.653, -20.745, 18.421}, {31.945, -10.967, 18.421}, {30.249, -10.384, 13.158}}], Polygon[{{26.653, -20.745, 18.421}, {28.431, -22.128, 23.684}, {34.075, -11.698, 23.684}, {31.945, -10.967, 18.421}}], Polygon[{{28.431, -22.128, 23.684}, {30.507, -23.745, 28.947}, {36.564, -12.552, 28.947}, {34.075, -11.698, 23.684}}], Polygon[{{30.507, -23.745, 28.947}, {32.826, -25.549, 34.211}, {39.343, -13.507, 34.211}, {36.564, -12.552, 28.947}}], Polygon[{{32.826, -25.549, 34.211}, {35.339, -27.506, 39.474}, {42.356, -14.541, 39.474}, {39.343, -13.507, 34.211}}], Polygon[{{35.339, -27.506, 39.474}, {38.009, -29.584, 44.737}, {45.555, -15.639, 44.737}, {42.356, -14.541, 39.474}}], Polygon[{{38.009, -29.584, 44.737}, {40.804, -31.759, 50.}, {48.905, -16.789, 50.}, {45.555, -15.639, 44.737}}], Polygon[{{48.905, -16.789, -50.}, {45.555, -15.639, -44.737}, {48.165, -1.1797*^-14, -44.737}, {51.707, -1.2664*^-14, -50.}}], Polygon[{{45.555, -15.639, -44.737}, {42.356, -14.541, -39.474}, {44.782, -1.0968*^-14, -39.474}, {48.165, -1.1797*^-14, -44.737}}], Polygon[{{42.356, -14.541, -39.474}, {39.343, -13.507, -34.211}, {41.597, -1.0188*^-14, -34.211}, {44.782, -1.0968*^-14, -39.474}}], Polygon[{{39.343, -13.507, -34.211}, {36.564, -12.552, -28.947}, {38.659, -9.4683*^-15, -28.947}, {41.597, -1.0188*^-14, -34.211}}], Polygon[{{36.564, -12.552, -28.947}, {34.075, -11.698, -23.684}, {36.027, -8.8238*^-15, -23.684}, {38.659, -9.4683*^-15, -28.947}}], Polygon[{{34.075, -11.698, -23.684}, {31.945, -10.967, -18.421}, {33.775, -8.2722*^-15, -18.421}, {36.027, -8.8238*^-15, -23.684}}], Polygon[{{31.945, -10.967, -18.421}, {30.249, -10.384, -13.158}, {31.982, -7.833*^-15, -13.158}, {33.775, -8.2722*^-15, -18.421}}], Polygon[{{30.249, -10.384, -13.158}, {29.063, -9.9774, -7.8947}, {30.728, -7.526*^-15, -7.8947}, {31.982, -7.833*^-15, -13.158}}], Polygon[{{29.063, -9.9774, -7.8947}, {28.452, -9.7675, -2.6316}, {30.082, -7.3677*^-15, -2.6316}, {30.728, -7.526*^-15, -7.8947}}], Polygon[{{28.452, -9.7675, -2.6316}, {28.452, -9.7675, 2.6316}, {30.082, -7.3677*^-15, 2.6316}, {30.082, -7.3677*^-15, -2.6316}}], Polygon[{{28.452, -9.7675, 2.6316}, {29.063, -9.9774, 7.8947}, {30.728, -7.526*^-15, 7.8947}, {30.082, -7.3677*^-15, 2.6316}}], Polygon[{{29.063, -9.9774, 7.8947}, {30.249, -10.384, 13.158}, {31.982, -7.833*^-15, 13.158}, {30.728, -7.526*^-15, 7.8947}}], Polygon[{{30.249, -10.384, 13.158}, {31.945, -10.967, 18.421}, {33.775, -8.2722*^-15, 18.421}, {31.982, -7.833*^-15, 13.158}}], Polygon[{{31.945, -10.967, 18.421}, {34.075, -11.698, 23.684}, {36.027, -8.8238*^-15, 23.684}, {33.775, -8.2722*^-15, 18.421}}], Polygon[{{34.075, -11.698, 23.684}, {36.564, -12.552, 28.947}, {38.659, -9.4683*^-15, 28.947}, {36.027, -8.8238*^-15, 23.684}}], Polygon[{{36.564, -12.552, 28.947}, {39.343, -13.507, 34.211}, {41.597, -1.0188*^-14, 34.211}, {38.659, -9.4683*^-15, 28.947}}], Polygon[{{39.343, -13.507, 34.211}, {42.356, -14.541, 39.474}, {44.782, -1.0968*^-14, 39.474}, {41.597, -1.0188*^-14, 34.211}}], Polygon[{{42.356, -14.541, 39.474}, {45.555, -15.639, 44.737}, {48.165, -1.1797*^-14, 44.737}, {44.782, -1.0968*^-14, 39.474}}], Polygon[{{45.555, -15.639, 44.737}, {48.905, -16.789, 50.}, {51.707, -1.2664*^-14, 50.}, {48.165, -1.1797*^-14, 44.737}}]}, {Polygon[{{46.622, 0., -50.}, {42.66, 0., -44.737}, {40.349, 13.852, -44.737}, {44.096, 15.138, -50.}}], Polygon[{{42.66, 0., -44.737}, {38.8, 0., -39.474}, {36.698, 12.598, -39.474}, {40.349, 13.852, -44.737}}], Polygon[{{38.8, 0., -39.474}, {35.076, 0., -34.211}, {33.175, 11.389, -34.211}, {36.698, 12.598, -39.474}}], Polygon[{{35.076, 0., -34.211}, {31.535, 0., -28.947}, {29.827, 10.24, -28.947}, {33.175, 11.389, -34.211}}], Polygon[{{31.535, 0., -28.947}, {28.248, 0., -23.684}, {26.718, 9.1722, -23.684}, {29.827, 10.24, -28.947}}], Polygon[{{28.248, 0., -23.684}, {25.313, 0., -18.421}, {23.941, 8.2191, -18.421}, {26.718, 9.1722, -23.684}}], Polygon[{{25.313, 0., -18.421}, {22.865, 0., -13.158}, {21.627, 7.4244, -13.158}, {23.941, 8.2191, -18.421}}], Polygon[{{22.865, 0., -13.158}, {21.076, 0., -7.8947}, {19.934, 6.8435, -7.8947}, {21.627, 7.4244, -13.158}}], Polygon[{{21.076, 0., -7.8947}, {20.122, 0., -2.6316}, {19.032, 6.5337, -2.6316}, {19.934, 6.8435, -7.8947}}], Polygon[{{20.122, 0., -2.6316}, {20.122, 0., 2.6316}, {19.032, 6.5337, 2.6316}, {19.032, 6.5337, -2.6316}}], Polygon[{{20.122, 0., 2.6316}, {21.076, 0., 7.8947}, {19.934, 6.8435, 7.8947}, {19.032, 6.5337, 2.6316}}], Polygon[{{21.076, 0., 7.8947}, {22.865, 0., 13.158}, {21.627, 7.4244, 13.158}, {19.934, 6.8435, 7.8947}}], Polygon[{{22.865, 0., 13.158}, {25.313, 0., 18.421}, {23.941, 8.2191, 18.421}, {21.627, 7.4244, 13.158}}], Polygon[{{25.313, 0., 18.421}, {28.248, 0., 23.684}, {26.718, 9.1722, 23.684}, {23.941, 8.2191, 18.421}}], Polygon[{{28.248, 0., 23.684}, {31.535, 0., 28.947}, {29.827, 10.24, 28.947}, {26.718, 9.1722, 23.684}}], Polygon[{{31.535, 0., 28.947}, {35.076, 0., 34.211}, {33.175, 11.389, 34.211}, {29.827, 10.24, 28.947}}], Polygon[{{35.076, 0., 34.211}, {38.8, 0., 39.474}, {36.698, 12.598, 39.474}, {33.175, 11.389, 34.211}}], Polygon[{{38.8, 0., 39.474}, {42.66, 0., 44.737}, {40.349, 13.852, 44.737}, {36.698, 12.598, 39.474}}], Polygon[{{42.66, 0., 44.737}, {46.622, 0., 50.}, {44.096, 15.138, 50.}, {40.349, 13.852, 44.737}}], Polygon[{{44.096, 15.138, -50.}, {40.349, 13.852, -44.737}, {33.665, 26.202, -44.737}, {36.791, 28.636, -50.}}], Polygon[{{40.349, 13.852, -44.737}, {36.698, 12.598, -39.474}, {30.619, 23.831, -39.474}, {33.665, 26.202, -44.737}}], Polygon[{{36.698, 12.598, -39.474}, {33.175, 11.389, -34.211}, {27.68, 21.544, -34.211}, {30.619, 23.831, -39.474}}], Polygon[{{33.175, 11.389, -34.211}, {29.827, 10.24, -28.947}, {24.886, 19.369, -28.947}, {27.68, 21.544, -34.211}}], Polygon[{{29.827, 10.24, -28.947}, {26.718, 9.1722, -23.684}, {22.292, 17.35, -23.684}, {24.886, 19.369, -28.947}}], Polygon[{{26.718, 9.1722, -23.684}, {23.941, 8.2191, -18.421}, {19.975, 15.547, -18.421}, {22.292, 17.35, -23.684}}], Polygon[{{23.941, 8.2191, -18.421}, {21.627, 7.4244, -13.158}, {18.044, 14.044, -13.158}, {19.975, 15.547, -18.421}}], Polygon[{{21.627, 7.4244, -13.158}, {19.934, 6.8435, -7.8947}, {16.632, 12.945, -7.8947}, {18.044, 14.044, -13.158}}], Polygon[{{19.934, 6.8435, -7.8947}, {19.032, 6.5337, -2.6316}, {15.879, 12.359, -2.6316}, {16.632, 12.945, -7.8947}}], Polygon[{{19.032, 6.5337, -2.6316}, {19.032, 6.5337, 2.6316}, {15.879, 12.359, 2.6316}, {15.879, 12.359, -2.6316}}], Polygon[{{19.032, 6.5337, 2.6316}, {19.934, 6.8435, 7.8947}, {16.632, 12.945, 7.8947}, {15.879, 12.359, 2.6316}}], Polygon[{{19.934, 6.8435, 7.8947}, {21.627, 7.4244, 13.158}, {18.044, 14.044, 13.158}, {16.632, 12.945, 7.8947}}], Polygon[{{21.627, 7.4244, 13.158}, {23.941, 8.2191, 18.421}, {19.975, 15.547, 18.421}, {18.044, 14.044, 13.158}}], Polygon[{{23.941, 8.2191, 18.421}, {26.718, 9.1722, 23.684}, {22.292, 17.35, 23.684}, {19.975, 15.547, 18.421}}], Polygon[{{26.718, 9.1722, 23.684}, {29.827, 10.24, 28.947}, {24.886, 19.369, 28.947}, {22.292, 17.35, 23.684}}], Polygon[{{29.827, 10.24, 28.947}, {33.175, 11.389, 34.211}, {27.68, 21.544, 34.211}, {24.886, 19.369, 28.947}}], Polygon[{{33.175, 11.389, 34.211}, {36.698, 12.598, 39.474}, {30.619, 23.831, 39.474}, {27.68, 21.544, 34.211}}], Polygon[{{36.698, 12.598, 39.474}, {40.349, 13.852, 44.737}, {33.665, 26.202, 44.737}, {30.619, 23.831, 39.474}}], Polygon[{{40.349, 13.852, 44.737}, {44.096, 15.138, 50.}, {36.791, 28.636, 50.}, {33.665, 26.202, 44.737}}], Polygon[{{36.791, 28.636, -50.}, {33.665, 26.202, -44.737}, {23.333, 35.714, -44.737}, {25.5, 39.03, -50.}}], Polygon[{{33.665, 26.202, -44.737}, {30.619, 23.831, -39.474}, {21.222, 32.482, -39.474}, {23.333, 35.714, -44.737}}], Polygon[{{30.619, 23.831, -39.474}, {27.68, 21.544, -34.211}, {19.185, 29.364, -34.211}, {21.222, 32.482, -39.474}}], Polygon[{{27.68, 21.544, -34.211}, {24.886, 19.369, -28.947}, {17.248, 26.4, -28.947}, {19.185, 29.364, -34.211}}], Polygon[{{24.886, 19.369, -28.947}, {22.292, 17.35, -23.684}, {15.45, 23.648, -23.684}, {17.248, 26.4, -28.947}}], Polygon[{{22.292, 17.35, -23.684}, {19.975, 15.547, -18.421}, {13.845, 21.191, -18.421}, {15.45, 23.648, -23.684}}], Polygon[{{19.975, 15.547, -18.421}, {18.044, 14.044, -13.158}, {12.506, 19.142, -13.158}, {13.845, 21.191, -18.421}}], Polygon[{{18.044, 14.044, -13.158}, {16.632, 12.945, -7.8947}, {11.528, 17.645, -7.8947}, {12.506, 19.142, -13.158}}], Polygon[{{16.632, 12.945, -7.8947}, {15.879, 12.359, -2.6316}, {11.006, 16.846, -2.6316}, {11.528, 17.645, -7.8947}}], Polygon[{{15.879, 12.359, -2.6316}, {15.879, 12.359, 2.6316}, {11.006, 16.846, 2.6316}, {11.006, 16.846, -2.6316}}], Polygon[{{15.879, 12.359, 2.6316}, {16.632, 12.945, 7.8947}, {11.528, 17.645, 7.8947}, {11.006, 16.846, 2.6316}}], Polygon[{{16.632, 12.945, 7.8947}, {18.044, 14.044, 13.158}, {12.506, 19.142, 13.158}, {11.528, 17.645, 7.8947}}], Polygon[{{18.044, 14.044, 13.158}, {19.975, 15.547, 18.421}, {13.845, 21.191, 18.421}, {12.506, 19.142, 13.158}}], Polygon[{{19.975, 15.547, 18.421}, {22.292, 17.35, 23.684}, {15.45, 23.648, 23.684}, {13.845, 21.191, 18.421}}], Polygon[{{22.292, 17.35, 23.684}, {24.886, 19.369, 28.947}, {17.248, 26.4, 28.947}, {15.45, 23.648, 23.684}}], Polygon[{{24.886, 19.369, 28.947}, {27.68, 21.544, 34.211}, {19.185, 29.364, 34.211}, {17.248, 26.4, 28.947}}], Polygon[{{27.68, 21.544, 34.211}, {30.619, 23.831, 39.474}, {21.222, 32.482, 39.474}, {19.185, 29.364, 34.211}}], Polygon[{{30.619, 23.831, 39.474}, {33.665, 26.202, 44.737}, {23.333, 35.714, 44.737}, {21.222, 32.482, 39.474}}], Polygon[{{33.665, 26.202, 44.737}, {36.791, 28.636, 50.}, {25.5, 39.03, 50.}, {23.333, 35.714, 44.737}}], Polygon[{{25.5, 39.03, -50.}, {23.333, 35.714, -44.737}, {10.472, 41.355, -44.737}, {11.445, 45.196, -50.}}], Polygon[{{23.333, 35.714, -44.737}, {21.222, 32.482, -39.474}, {9.5249, 37.613, -39.474}, {10.472, 41.355, -44.737}}], Polygon[{{21.222, 32.482, -39.474}, {19.185, 29.364, -34.211}, {8.6106, 34.002, -34.211}, {9.5249, 37.613, -39.474}}], Polygon[{{19.185, 29.364, -34.211}, {17.248, 26.4, -28.947}, {7.7415, 30.57, -28.947}, {8.6106, 34.002, -34.211}}], Polygon[{{17.248, 26.4, -28.947}, {15.45, 23.648, -23.684}, {6.9345, 27.384, -23.684}, {7.7415, 30.57, -28.947}}], Polygon[{{15.45, 23.648, -23.684}, {13.845, 21.191, -18.421}, {6.2139, 24.538, -18.421}, {6.9345, 27.384, -23.684}}], Polygon[{{13.845, 21.191, -18.421}, {12.506, 19.142, -13.158}, {5.6131, 22.166, -13.158}, {6.2139, 24.538, -18.421}}], Polygon[{{12.506, 19.142, -13.158}, {11.528, 17.645, -7.8947}, {5.174, 20.432, -7.8947}, {5.6131, 22.166, -13.158}}], Polygon[{{11.528, 17.645, -7.8947}, {11.006, 16.846, -2.6316}, {4.9398, 19.507, -2.6316}, {5.174, 20.432, -7.8947}}], Polygon[{{11.006, 16.846, -2.6316}, {11.006, 16.846, 2.6316}, {4.9398, 19.507, 2.6316}, {4.9398, 19.507, -2.6316}}], Polygon[{{11.006, 16.846, 2.6316}, {11.528, 17.645, 7.8947}, {5.174, 20.432, 7.8947}, {4.9398, 19.507, 2.6316}}], Polygon[{{11.528, 17.645, 7.8947}, {12.506, 19.142, 13.158}, {5.6131, 22.166, 13.158}, {5.174, 20.432, 7.8947}}], Polygon[{{12.506, 19.142, 13.158}, {13.845, 21.191, 18.421}, {6.2139, 24.538, 18.421}, {5.6131, 22.166, 13.158}}], Polygon[{{13.845, 21.191, 18.421}, {15.45, 23.648, 23.684}, {6.9345, 27.384, 23.684}, {6.2139, 24.538, 18.421}}], Polygon[{{15.45, 23.648, 23.684}, {17.248, 26.4, 28.947}, {7.7415, 30.57, 28.947}, {6.9345, 27.384, 23.684}}], Polygon[{{17.248, 26.4, 28.947}, {19.185, 29.364, 34.211}, {8.6106, 34.002, 34.211}, {7.7415, 30.57, 28.947}}], Polygon[{{19.185, 29.364, 34.211}, {21.222, 32.482, 39.474}, {9.5249, 37.613, 39.474}, {8.6106, 34.002, 34.211}}], Polygon[{{21.222, 32.482, 39.474}, {23.333, 35.714, 44.737}, {10.472, 41.355, 44.737}, {9.5249, 37.613, 39.474}}], Polygon[{{23.333, 35.714, 44.737}, {25.5, 39.03, 50.}, {11.445, 45.196, 50.}, {10.472, 41.355, 44.737}}], Polygon[{{11.445, 45.196, -50.}, {10.472, 41.355, -44.737}, {-3.5228, 42.514, -44.737}, {-3.85, 46.463, -50.}}], Polygon[{{10.472, 41.355, -44.737}, {9.5249, 37.613, -39.474}, {-3.2041, 38.668, -39.474}, {-3.5228, 42.514, -44.737}}], Polygon[{{9.5249, 37.613, -39.474}, {8.6106, 34.002, -34.211}, {-2.8965, 34.956, -34.211}, {-3.2041, 38.668, -39.474}}], Polygon[{{8.6106, 34.002, -34.211}, {7.7415, 30.57, -28.947}, {-2.6042, 31.428, -28.947}, {-2.8965, 34.956, -34.211}}], Polygon[{{7.7415, 30.57, -28.947}, {6.9345, 27.384, -23.684}, {-2.3327, 28.152, -23.684}, {-2.6042, 31.428, -28.947}}], Polygon[{{6.9345, 27.384, -23.684}, {6.2139, 24.538, -18.421}, {-2.0903, 25.226, -18.421}, {-2.3327, 28.152, -23.684}}], Polygon[{{6.2139, 24.538, -18.421}, {5.6131, 22.166, -13.158}, {-1.8882, 22.787, -13.158}, {-2.0903, 25.226, -18.421}}], Polygon[{{5.6131, 22.166, -13.158}, {5.174, 20.432, -7.8947}, {-1.7405, 21.004, -7.8947}, {-1.8882, 22.787, -13.158}}], Polygon[{{5.174, 20.432, -7.8947}, {4.9398, 19.507, -2.6316}, {-1.6617, 20.054, -2.6316}, {-1.7405, 21.004, -7.8947}}], Polygon[{{4.9398, 19.507, -2.6316}, {4.9398, 19.507, 2.6316}, {-1.6617, 20.054, 2.6316}, {-1.6617, 20.054, -2.6316}}], Polygon[{{4.9398, 19.507, 2.6316}, {5.174, 20.432, 7.8947}, {-1.7405, 21.004, 7.8947}, {-1.6617, 20.054, 2.6316}}], Polygon[{{5.174, 20.432, 7.8947}, {5.6131, 22.166, 13.158}, {-1.8882, 22.787, 13.158}, {-1.7405, 21.004, 7.8947}}], Polygon[{{5.6131, 22.166, 13.158}, {6.2139, 24.538, 18.421}, {-2.0903, 25.226, 18.421}, {-1.8882, 22.787, 13.158}}], Polygon[{{6.2139, 24.538, 18.421}, {6.9345, 27.384, 23.684}, {-2.3327, 28.152, 23.684}, {-2.0903, 25.226, 18.421}}], Polygon[{{6.9345, 27.384, 23.684}, {7.7415, 30.57, 28.947}, {-2.6042, 31.428, 28.947}, {-2.3327, 28.152, 23.684}}], Polygon[{{7.7415, 30.57, 28.947}, {8.6106, 34.002, 34.211}, {-2.8965, 34.956, 34.211}, {-2.6042, 31.428, 28.947}}], Polygon[{{8.6106, 34.002, 34.211}, {9.5249, 37.613, 39.474}, {-3.2041, 38.668, 39.474}, {-2.8965, 34.956, 34.211}}], Polygon[{{9.5249, 37.613, 39.474}, {10.472, 41.355, 44.737}, {-3.5228, 42.514, 44.737}, {-3.2041, 38.668, 39.474}}], Polygon[{{10.472, 41.355, 44.737}, {11.445, 45.196, 50.}, {-3.85, 46.463, 50.}, {-3.5228, 42.514, 44.737}}], Polygon[{{-3.85, 46.463, -50.}, {-3.5228, 42.514, -44.737}, {-17.136, 39.067, -44.737}, {-18.728, 42.695, -50.}}], Polygon[{{-3.5228, 42.514, -44.737}, {-3.2041, 38.668, -39.474}, {-15.586, 35.532, -39.474}, {-17.136, 39.067, -44.737}}], Polygon[{{-3.2041, 38.668, -39.474}, {-2.8965, 34.956, -34.211}, {-14.09, 32.121, -34.211}, {-15.586, 35.532, -39.474}}], Polygon[{{-2.8965, 34.956, -34.211}, {-2.6042, 31.428, -28.947}, {-12.668, 28.879, -28.947}, {-14.09, 32.121, -34.211}}], Polygon[{{-2.6042, 31.428, -28.947}, {-2.3327, 28.152, -23.684}, {-11.347, 25.869, -23.684}, {-12.668, 28.879, -28.947}}], Polygon[{{-2.3327, 28.152, -23.684}, {-2.0903, 25.226, -18.421}, {-10.168, 23.181, -18.421}, {-11.347, 25.869, -23.684}}], Polygon[{{-2.0903, 25.226, -18.421}, {-1.8882, 22.787, -13.158}, {-9.1849, 20.94, -13.158}, {-10.168, 23.181, -18.421}}], Polygon[{{-1.8882, 22.787, -13.158}, {-1.7405, 21.004, -7.8947}, {-8.4663, 19.301, -7.8947}, {-9.1849, 20.94, -13.158}}], Polygon[{{-1.7405, 21.004, -7.8947}, {-1.6617, 20.054, -2.6316}, {-8.0831, 18.428, -2.6316}, {-8.4663, 19.301, -7.8947}}], Polygon[{{-1.6617, 20.054, -2.6316}, {-1.6617, 20.054, 2.6316}, {-8.0831, 18.428, 2.6316}, {-8.0831, 18.428, -2.6316}}], Polygon[{{-1.6617, 20.054, 2.6316}, {-1.7405, 21.004, 7.8947}, {-8.4663, 19.301, 7.8947}, {-8.0831, 18.428, 2.6316}}], Polygon[{{-1.7405, 21.004, 7.8947}, {-1.8882, 22.787, 13.158}, {-9.1849, 20.94, 13.158}, {-8.4663, 19.301, 7.8947}}], Polygon[{{-1.8882, 22.787, 13.158}, {-2.0903, 25.226, 18.421}, {-10.168, 23.181, 18.421}, {-9.1849, 20.94, 13.158}}], Polygon[{{-2.0903, 25.226, 18.421}, {-2.3327, 28.152, 23.684}, {-11.347, 25.869, 23.684}, {-10.168, 23.181, 18.421}}], Polygon[{{-2.3327, 28.152, 23.684}, {-2.6042, 31.428, 28.947}, {-12.668, 28.879, 28.947}, {-11.347, 25.869, 23.684}}], Polygon[{{-2.6042, 31.428, 28.947}, {-2.8965, 34.956, 34.211}, {-14.09, 32.121, 34.211}, {-12.668, 28.879, 28.947}}], Polygon[{{-2.8965, 34.956, 34.211}, {-3.2041, 38.668, 39.474}, {-15.586, 35.532, 39.474}, {-14.09, 32.121, 34.211}}], Polygon[{{-3.2041, 38.668, 39.474}, {-3.5228, 42.514, 44.737}, {-17.136, 39.067, 44.737}, {-15.586, 35.532, 39.474}}], Polygon[{{-3.5228, 42.514, 44.737}, {-3.85, 46.463, 50.}, {-18.728, 42.695, 50.}, {-17.136, 39.067, 44.737}}], Polygon[{{-18.728, 42.695, -50.}, {-17.136, 39.067, -44.737}, {-28.893, 31.386, -44.737}, {-31.576, 34.301, -50.}}], Polygon[{{-17.136, 39.067, -44.737}, {-15.586, 35.532, -39.474}, {-26.279, 28.546, -39.474}, {-28.893, 31.386, -44.737}}], Polygon[{{-15.586, 35.532, -39.474}, {-14.09, 32.121, -34.211}, {-23.756, 25.806, -34.211}, {-26.279, 28.546, -39.474}}], Polygon[{{-14.09, 32.121, -34.211}, {-12.668, 28.879, -28.947}, {-21.358, 23.201, -28.947}, {-23.756, 25.806, -34.211}}], Polygon[{{-12.668, 28.879, -28.947}, {-11.347, 25.869, -23.684}, {-19.132, 20.783, -23.684}, {-21.358, 23.201, -28.947}}], Polygon[{{-11.347, 25.869, -23.684}, {-10.168, 23.181, -18.421}, {-17.144, 18.623, -18.421}, {-19.132, 20.783, -23.684}}], Polygon[{{-10.168, 23.181, -18.421}, {-9.1849, 20.94, -13.158}, {-15.486, 16.823, -13.158}, {-17.144, 18.623, -18.421}}], Polygon[{{-9.1849, 20.94, -13.158}, {-8.4663, 19.301, -7.8947}, {-14.275, 15.506, -7.8947}, {-15.486, 16.823, -13.158}}], Polygon[{{-8.4663, 19.301, -7.8947}, {-8.0831, 18.428, -2.6316}, {-13.629, 14.805, -2.6316}, {-14.275, 15.506, -7.8947}}], Polygon[{{-8.0831, 18.428, -2.6316}, {-8.0831, 18.428, 2.6316}, {-13.629, 14.805, 2.6316}, {-13.629, 14.805, -2.6316}}], Polygon[{{-8.0831, 18.428, 2.6316}, {-8.4663, 19.301, 7.8947}, {-14.275, 15.506, 7.8947}, {-13.629, 14.805, 2.6316}}], Polygon[{{-8.4663, 19.301, 7.8947}, {-9.1849, 20.94, 13.158}, {-15.486, 16.823, 13.158}, {-14.275, 15.506, 7.8947}}], Polygon[{{-9.1849, 20.94, 13.158}, {-10.168, 23.181, 18.421}, {-17.144, 18.623, 18.421}, {-15.486, 16.823, 13.158}}], Polygon[{{-10.168, 23.181, 18.421}, {-11.347, 25.869, 23.684}, {-19.132, 20.783, 23.684}, {-17.144, 18.623, 18.421}}], Polygon[{{-11.347, 25.869, 23.684}, {-12.668, 28.879, 28.947}, {-21.358, 23.201, 28.947}, {-19.132, 20.783, 23.684}}], Polygon[{{-12.668, 28.879, 28.947}, {-14.09, 32.121, 34.211}, {-23.756, 25.806, 34.211}, {-21.358, 23.201, 28.947}}], Polygon[{{-14.09, 32.121, 34.211}, {-15.586, 35.532, 39.474}, {-26.279, 28.546, 39.474}, {-23.756, 25.806, 34.211}}], Polygon[{{-15.586, 35.532, 39.474}, {-17.136, 39.067, 44.737}, {-28.893, 31.386, 44.737}, {-26.279, 28.546, 39.474}}], Polygon[{{-17.136, 39.067, 44.737}, {-18.728, 42.695, 50.}, {-31.576, 34.301, 50.}, {-28.893, 31.386, 44.737}}], Polygon[{{-31.576, 34.301, -50.}, {-28.893, 31.386, -44.737}, {-37.518, 20.304, -44.737}, {-41.003, 22.19, -50.}}], Polygon[{{-28.893, 31.386, -44.737}, {-26.279, 28.546, -39.474}, {-34.124, 18.467, -39.474}, {-37.518, 20.304, -44.737}}], Polygon[{{-26.279, 28.546, -39.474}, {-23.756, 25.806, -34.211}, {-30.848, 16.694, -34.211}, {-34.124, 18.467, -39.474}}], Polygon[{{-23.756, 25.806, -34.211}, {-21.358, 23.201, -28.947}, {-27.735, 15.009, -28.947}, {-30.848, 16.694, -34.211}}], Polygon[{{-21.358, 23.201, -28.947}, {-19.132, 20.783, -23.684}, {-24.844, 13.445, -23.684}, {-27.735, 15.009, -28.947}}], Polygon[{{-19.132, 20.783, -23.684}, {-17.144, 18.623, -18.421}, {-22.262, 12.048, -18.421}, {-24.844, 13.445, -23.684}}], Polygon[{{-17.144, 18.623, -18.421}, {-15.486, 16.823, -13.158}, {-20.11, 10.883, -13.158}, {-22.262, 12.048, -18.421}}], Polygon[{{-15.486, 16.823, -13.158}, {-14.275, 15.506, -7.8947}, {-18.536, 10.031, -7.8947}, {-20.11, 10.883, -13.158}}], Polygon[{{-14.275, 15.506, -7.8947}, {-13.629, 14.805, -2.6316}, {-17.697, 9.5772, -2.6316}, {-18.536, 10.031, -7.8947}}], Polygon[{{-13.629, 14.805, -2.6316}, {-13.629, 14.805, 2.6316}, {-17.697, 9.5772, 2.6316}, {-17.697, 9.5772, -2.6316}}], Polygon[{{-13.629, 14.805, 2.6316}, {-14.275, 15.506, 7.8947}, {-18.536, 10.031, 7.8947}, {-17.697, 9.5772, 2.6316}}], Polygon[{{-14.275, 15.506, 7.8947}, {-15.486, 16.823, 13.158}, {-20.11, 10.883, 13.158}, {-18.536, 10.031, 7.8947}}], Polygon[{{-15.486, 16.823, 13.158}, {-17.144, 18.623, 18.421}, {-22.262, 12.048, 18.421}, {-20.11, 10.883, 13.158}}], Polygon[{{-17.144, 18.623, 18.421}, {-19.132, 20.783, 23.684}, {-24.844, 13.445, 23.684}, {-22.262, 12.048, 18.421}}], Polygon[{{-19.132, 20.783, 23.684}, {-21.358, 23.201, 28.947}, {-27.735, 15.009, 28.947}, {-24.844, 13.445, 23.684}}], Polygon[{{-21.358, 23.201, 28.947}, {-23.756, 25.806, 34.211}, {-30.848, 16.694, 34.211}, {-27.735, 15.009, 28.947}}], Polygon[{{-23.756, 25.806, 34.211}, {-26.279, 28.546, 39.474}, {-34.124, 18.467, 39.474}, {-30.848, 16.694, 34.211}}], Polygon[{{-26.279, 28.546, 39.474}, {-28.893, 31.386, 44.737}, {-37.518, 20.304, 44.737}, {-34.124, 18.467, 39.474}}], Polygon[{{-28.893, 31.386, 44.737}, {-31.576, 34.301, 50.}, {-41.003, 22.19, 50.}, {-37.518, 20.304, 44.737}}], Polygon[{{-41.003, 22.19, -50.}, {-37.518, 20.304, -44.737}, {-42.078, 7.0216, -44.737}, {-45.986, 7.6738, -50.}}], Polygon[{{-37.518, 20.304, -44.737}, {-34.124, 18.467, -39.474}, {-38.271, 6.3863, -39.474}, {-42.078, 7.0216, -44.737}}], Polygon[{{-34.124, 18.467, -39.474}, {-30.848, 16.694, -34.211}, {-34.597, 5.7733, -34.211}, {-38.271, 6.3863, -39.474}}], Polygon[{{-30.848, 16.694, -34.211}, {-27.735, 15.009, -28.947}, {-31.105, 5.1906, -28.947}, {-34.597, 5.7733, -34.211}}], Polygon[{{-27.735, 15.009, -28.947}, {-24.844, 13.445, -23.684}, {-27.863, 4.6495, -23.684}, {-31.105, 5.1906, -28.947}}], Polygon[{{-24.844, 13.445, -23.684}, {-22.262, 12.048, -18.421}, {-24.968, 4.1664, -18.421}, {-27.863, 4.6495, -23.684}}], Polygon[{{-22.262, 12.048, -18.421}, {-20.11, 10.883, -13.158}, {-22.554, 3.7635, -13.158}, {-24.968, 4.1664, -18.421}}], Polygon[{{-20.11, 10.883, -13.158}, {-18.536, 10.031, -7.8947}, {-20.789, 3.4691, -7.8947}, {-22.554, 3.7635, -13.158}}], Polygon[{{-18.536, 10.031, -7.8947}, {-17.697, 9.5772, -2.6316}, {-19.848, 3.312, -2.6316}, {-20.789, 3.4691, -7.8947}}], Polygon[{{-17.697, 9.5772, -2.6316}, {-17.697, 9.5772, 2.6316}, {-19.848, 3.312, 2.6316}, {-19.848, 3.312, -2.6316}}], Polygon[{{-17.697, 9.5772, 2.6316}, {-18.536, 10.031, 7.8947}, {-20.789, 3.4691, 7.8947}, {-19.848, 3.312, 2.6316}}], Polygon[{{-18.536, 10.031, 7.8947}, {-20.11, 10.883, 13.158}, {-22.554, 3.7635, 13.158}, {-20.789, 3.4691, 7.8947}}], Polygon[{{-20.11, 10.883, 13.158}, {-22.262, 12.048, 18.421}, {-24.968, 4.1664, 18.421}, {-22.554, 3.7635, 13.158}}], Polygon[{{-22.262, 12.048, 18.421}, {-24.844, 13.445, 23.684}, {-27.863, 4.6495, 23.684}, {-24.968, 4.1664, 18.421}}], Polygon[{{-24.844, 13.445, 23.684}, {-27.735, 15.009, 28.947}, {-31.105, 5.1906, 28.947}, {-27.863, 4.6495, 23.684}}], Polygon[{{-27.735, 15.009, 28.947}, {-30.848, 16.694, 34.211}, {-34.597, 5.7733, 34.211}, {-31.105, 5.1906, 28.947}}], Polygon[{{-30.848, 16.694, 34.211}, {-34.124, 18.467, 39.474}, {-38.271, 6.3863, 39.474}, {-34.597, 5.7733, 34.211}}], Polygon[{{-34.124, 18.467, 39.474}, {-37.518, 20.304, 44.737}, {-42.078, 7.0216, 44.737}, {-38.271, 6.3863, 39.474}}], Polygon[{{-37.518, 20.304, 44.737}, {-41.003, 22.19, 50.}, {-45.986, 7.6738, 50.}, {-42.078, 7.0216, 44.737}}], Polygon[{{-45.986, 7.6738, -50.}, {-42.078, 7.0216, -44.737}, {-42.078, -7.0216, -44.737}, {-45.986, -7.6738, -50.}}], Polygon[{{-42.078, 7.0216, -44.737}, {-38.271, 6.3863, -39.474}, {-38.271, -6.3863, -39.474}, {-42.078, -7.0216, -44.737}}], Polygon[{{-38.271, 6.3863, -39.474}, {-34.597, 5.7733, -34.211}, {-34.597, -5.7733, -34.211}, {-38.271, -6.3863, -39.474}}], Polygon[{{-34.597, 5.7733, -34.211}, {-31.105, 5.1906, -28.947}, {-31.105, -5.1906, -28.947}, {-34.597, -5.7733, -34.211}}], Polygon[{{-31.105, 5.1906, -28.947}, {-27.863, 4.6495, -23.684}, {-27.863, -4.6495, -23.684}, {-31.105, -5.1906, -28.947}}], Polygon[{{-27.863, 4.6495, -23.684}, {-24.968, 4.1664, -18.421}, {-24.968, -4.1664, -18.421}, {-27.863, -4.6495, -23.684}}], Polygon[{{-24.968, 4.1664, -18.421}, {-22.554, 3.7635, -13.158}, {-22.554, -3.7635, -13.158}, {-24.968, -4.1664, -18.421}}], Polygon[{{-22.554, 3.7635, -13.158}, {-20.789, 3.4691, -7.8947}, {-20.789, -3.4691, -7.8947}, {-22.554, -3.7635, -13.158}}], Polygon[{{-20.789, 3.4691, -7.8947}, {-19.848, 3.312, -2.6316}, {-19.848, -3.312, -2.6316}, {-20.789, -3.4691, -7.8947}}], Polygon[{{-19.848, 3.312, -2.6316}, {-19.848, 3.312, 2.6316}, {-19.848, -3.312, 2.6316}, {-19.848, -3.312, -2.6316}}], Polygon[{{-19.848, 3.312, 2.6316}, {-20.789, 3.4691, 7.8947}, {-20.789, -3.4691, 7.8947}, {-19.848, -3.312, 2.6316}}], Polygon[{{-20.789, 3.4691, 7.8947}, {-22.554, 3.7635, 13.158}, {-22.554, -3.7635, 13.158}, {-20.789, -3.4691, 7.8947}}], Polygon[{{-22.554, 3.7635, 13.158}, {-24.968, 4.1664, 18.421}, {-24.968, -4.1664, 18.421}, {-22.554, -3.7635, 13.158}}], Polygon[{{-24.968, 4.1664, 18.421}, {-27.863, 4.6495, 23.684}, {-27.863, -4.6495, 23.684}, {-24.968, -4.1664, 18.421}}], Polygon[{{-27.863, 4.6495, 23.684}, {-31.105, 5.1906, 28.947}, {-31.105, -5.1906, 28.947}, {-27.863, -4.6495, 23.684}}], Polygon[{{-31.105, 5.1906, 28.947}, {-34.597, 5.7733, 34.211}, {-34.597, -5.7733, 34.211}, {-31.105, -5.1906, 28.947}}], Polygon[{{-34.597, 5.7733, 34.211}, {-38.271, 6.3863, 39.474}, {-38.271, -6.3863, 39.474}, {-34.597, -5.7733, 34.211}}], Polygon[{{-38.271, 6.3863, 39.474}, {-42.078, 7.0216, 44.737}, {-42.078, -7.0216, 44.737}, {-38.271, -6.3863, 39.474}}], Polygon[{{-42.078, 7.0216, 44.737}, {-45.986, 7.6738, 50.}, {-45.986, -7.6738, 50.}, {-42.078, -7.0216, 44.737}}], Polygon[{{-45.986, -7.6738, -50.}, {-42.078, -7.0216, -44.737}, {-37.518, -20.304, -44.737}, {-41.003, -22.19, -50.}}], Polygon[{{-42.078, -7.0216, -44.737}, {-38.271, -6.3863, -39.474}, {-34.124, -18.467, -39.474}, {-37.518, -20.304, -44.737}}], Polygon[{{-38.271, -6.3863, -39.474}, {-34.597, -5.7733, -34.211}, {-30.848, -16.694, -34.211}, {-34.124, -18.467, -39.474}}], Polygon[{{-34.597, -5.7733, -34.211}, {-31.105, -5.1906, -28.947}, {-27.735, -15.009, -28.947}, {-30.848, -16.694, -34.211}}], Polygon[{{-31.105, -5.1906, -28.947}, {-27.863, -4.6495, -23.684}, {-24.844, -13.445, -23.684}, {-27.735, -15.009, -28.947}}], Polygon[{{-27.863, -4.6495, -23.684}, {-24.968, -4.1664, -18.421}, {-22.262, -12.048, -18.421}, {-24.844, -13.445, -23.684}}], Polygon[{{-24.968, -4.1664, -18.421}, {-22.554, -3.7635, -13.158}, {-20.11, -10.883, -13.158}, {-22.262, -12.048, -18.421}}], Polygon[{{-22.554, -3.7635, -13.158}, {-20.789, -3.4691, -7.8947}, {-18.536, -10.031, -7.8947}, {-20.11, -10.883, -13.158}}], Polygon[{{-20.789, -3.4691, -7.8947}, {-19.848, -3.312, -2.6316}, {-17.697, -9.5772, -2.6316}, {-18.536, -10.031, -7.8947}}], Polygon[{{-19.848, -3.312, -2.6316}, {-19.848, -3.312, 2.6316}, {-17.697, -9.5772, 2.6316}, {-17.697, -9.5772, -2.6316}}], Polygon[{{-19.848, -3.312, 2.6316}, {-20.789, -3.4691, 7.8947}, {-18.536, -10.031, 7.8947}, {-17.697, -9.5772, 2.6316}}], Polygon[{{-20.789, -3.4691, 7.8947}, {-22.554, -3.7635, 13.158}, {-20.11, -10.883, 13.158}, {-18.536, -10.031, 7.8947}}], Polygon[{{-22.554, -3.7635, 13.158}, {-24.968, -4.1664, 18.421}, {-22.262, -12.048, 18.421}, {-20.11, -10.883, 13.158}}], Polygon[{{-24.968, -4.1664, 18.421}, {-27.863, -4.6495, 23.684}, {-24.844, -13.445, 23.684}, {-22.262, -12.048, 18.421}}], Polygon[{{-27.863, -4.6495, 23.684}, {-31.105, -5.1906, 28.947}, {-27.735, -15.009, 28.947}, {-24.844, -13.445, 23.684}}], Polygon[{{-31.105, -5.1906, 28.947}, {-34.597, -5.7733, 34.211}, {-30.848, -16.694, 34.211}, {-27.735, -15.009, 28.947}}], Polygon[{{-34.597, -5.7733, 34.211}, {-38.271, -6.3863, 39.474}, {-34.124, -18.467, 39.474}, {-30.848, -16.694, 34.211}}], Polygon[{{-38.271, -6.3863, 39.474}, {-42.078, -7.0216, 44.737}, {-37.518, -20.304, 44.737}, {-34.124, -18.467, 39.474}}], Polygon[{{-42.078, -7.0216, 44.737}, {-45.986, -7.6738, 50.}, {-41.003, -22.19, 50.}, {-37.518, -20.304, 44.737}}], Polygon[{{-41.003, -22.19, -50.}, {-37.518, -20.304, -44.737}, {-28.893, -31.386, -44.737}, {-31.576, -34.301, -50.}}], Polygon[{{-37.518, -20.304, -44.737}, {-34.124, -18.467, -39.474}, {-26.279, -28.546, -39.474}, {-28.893, -31.386, -44.737}}], Polygon[{{-34.124, -18.467, -39.474}, {-30.848, -16.694, -34.211}, {-23.756, -25.806, -34.211}, {-26.279, -28.546, -39.474}}], Polygon[{{-30.848, -16.694, -34.211}, {-27.735, -15.009, -28.947}, {-21.358, -23.201, -28.947}, {-23.756, -25.806, -34.211}}], Polygon[{{-27.735, -15.009, -28.947}, {-24.844, -13.445, -23.684}, {-19.132, -20.783, -23.684}, {-21.358, -23.201, -28.947}}], Polygon[{{-24.844, -13.445, -23.684}, {-22.262, -12.048, -18.421}, {-17.144, -18.623, -18.421}, {-19.132, -20.783, -23.684}}], Polygon[{{-22.262, -12.048, -18.421}, {-20.11, -10.883, -13.158}, {-15.486, -16.823, -13.158}, {-17.144, -18.623, -18.421}}], Polygon[{{-20.11, -10.883, -13.158}, {-18.536, -10.031, -7.8947}, {-14.275, -15.506, -7.8947}, {-15.486, -16.823, -13.158}}], Polygon[{{-18.536, -10.031, -7.8947}, {-17.697, -9.5772, -2.6316}, {-13.629, -14.805, -2.6316}, {-14.275, -15.506, -7.8947}}], Polygon[{{-17.697, -9.5772, -2.6316}, {-17.697, -9.5772, 2.6316}, {-13.629, -14.805, 2.6316}, {-13.629, -14.805, -2.6316}}], Polygon[{{-17.697, -9.5772, 2.6316}, {-18.536, -10.031, 7.8947}, {-14.275, -15.506, 7.8947}, {-13.629, -14.805, 2.6316}}], Polygon[{{-18.536, -10.031, 7.8947}, {-20.11, -10.883, 13.158}, {-15.486, -16.823, 13.158}, {-14.275, -15.506, 7.8947}}], Polygon[{{-20.11, -10.883, 13.158}, {-22.262, -12.048, 18.421}, {-17.144, -18.623, 18.421}, {-15.486, -16.823, 13.158}}], Polygon[{{-22.262, -12.048, 18.421}, {-24.844, -13.445, 23.684}, {-19.132, -20.783, 23.684}, {-17.144, -18.623, 18.421}}], Polygon[{{-24.844, -13.445, 23.684}, {-27.735, -15.009, 28.947}, {-21.358, -23.201, 28.947}, {-19.132, -20.783, 23.684}}], Polygon[{{-27.735, -15.009, 28.947}, {-30.848, -16.694, 34.211}, {-23.756, -25.806, 34.211}, {-21.358, -23.201, 28.947}}], Polygon[{{-30.848, -16.694, 34.211}, {-34.124, -18.467, 39.474}, {-26.279, -28.546, 39.474}, {-23.756, -25.806, 34.211}}], Polygon[{{-34.124, -18.467, 39.474}, {-37.518, -20.304, 44.737}, {-28.893, -31.386, 44.737}, {-26.279, -28.546, 39.474}}], Polygon[{{-37.518, -20.304, 44.737}, {-41.003, -22.19, 50.}, {-31.576, -34.301, 50.}, {-28.893, -31.386, 44.737}}], Polygon[{{-31.576, -34.301, -50.}, {-28.893, -31.386, -44.737}, {-17.136, -39.067, -44.737}, {-18.728, -42.695, -50.}}], Polygon[{{-28.893, -31.386, -44.737}, {-26.279, -28.546, -39.474}, {-15.586, -35.532, -39.474}, {-17.136, -39.067, -44.737}}], Polygon[{{-26.279, -28.546, -39.474}, {-23.756, -25.806, -34.211}, {-14.09, -32.121, -34.211}, {-15.586, -35.532, -39.474}}], Polygon[{{-23.756, -25.806, -34.211}, {-21.358, -23.201, -28.947}, {-12.668, -28.879, -28.947}, {-14.09, -32.121, -34.211}}], Polygon[{{-21.358, -23.201, -28.947}, {-19.132, -20.783, -23.684}, {-11.347, -25.869, -23.684}, {-12.668, -28.879, -28.947}}], Polygon[{{-19.132, -20.783, -23.684}, {-17.144, -18.623, -18.421}, {-10.168, -23.181, -18.421}, {-11.347, -25.869, -23.684}}], Polygon[{{-17.144, -18.623, -18.421}, {-15.486, -16.823, -13.158}, {-9.1849, -20.94, -13.158}, {-10.168, -23.181, -18.421}}], Polygon[{{-15.486, -16.823, -13.158}, {-14.275, -15.506, -7.8947}, {-8.4663, -19.301, -7.8947}, {-9.1849, -20.94, -13.158}}], Polygon[{{-14.275, -15.506, -7.8947}, {-13.629, -14.805, -2.6316}, {-8.0831, -18.428, -2.6316}, {-8.4663, -19.301, -7.8947}}], Polygon[{{-13.629, -14.805, -2.6316}, {-13.629, -14.805, 2.6316}, {-8.0831, -18.428, 2.6316}, {-8.0831, -18.428, -2.6316}}], Polygon[{{-13.629, -14.805, 2.6316}, {-14.275, -15.506, 7.8947}, {-8.4663, -19.301, 7.8947}, {-8.0831, -18.428, 2.6316}}], Polygon[{{-14.275, -15.506, 7.8947}, {-15.486, -16.823, 13.158}, {-9.1849, -20.94, 13.158}, {-8.4663, -19.301, 7.8947}}], Polygon[{{-15.486, -16.823, 13.158}, {-17.144, -18.623, 18.421}, {-10.168, -23.181, 18.421}, {-9.1849, -20.94, 13.158}}], Polygon[{{-17.144, -18.623, 18.421}, {-19.132, -20.783, 23.684}, {-11.347, -25.869, 23.684}, {-10.168, -23.181, 18.421}}], Polygon[{{-19.132, -20.783, 23.684}, {-21.358, -23.201, 28.947}, {-12.668, -28.879, 28.947}, {-11.347, -25.869, 23.684}}], Polygon[{{-21.358, -23.201, 28.947}, {-23.756, -25.806, 34.211}, {-14.09, -32.121, 34.211}, {-12.668, -28.879, 28.947}}], Polygon[{{-23.756, -25.806, 34.211}, {-26.279, -28.546, 39.474}, {-15.586, -35.532, 39.474}, {-14.09, -32.121, 34.211}}], Polygon[{{-26.279, -28.546, 39.474}, {-28.893, -31.386, 44.737}, {-17.136, -39.067, 44.737}, {-15.586, -35.532, 39.474}}], Polygon[{{-28.893, -31.386, 44.737}, {-31.576, -34.301, 50.}, {-18.728, -42.695, 50.}, {-17.136, -39.067, 44.737}}], Polygon[{{-18.728, -42.695, -50.}, {-17.136, -39.067, -44.737}, {-3.5228, -42.514, -44.737}, {-3.85, -46.463, -50.}}], Polygon[{{-17.136, -39.067, -44.737}, {-15.586, -35.532, -39.474}, {-3.2041, -38.668, -39.474}, {-3.5228, -42.514, -44.737}}], Polygon[{{-15.586, -35.532, -39.474}, {-14.09, -32.121, -34.211}, {-2.8965, -34.956, -34.211}, {-3.2041, -38.668, -39.474}}], Polygon[{{-14.09, -32.121, -34.211}, {-12.668, -28.879, -28.947}, {-2.6042, -31.428, -28.947}, {-2.8965, -34.956, -34.211}}], Polygon[{{-12.668, -28.879, -28.947}, {-11.347, -25.869, -23.684}, {-2.3327, -28.152, -23.684}, {-2.6042, -31.428, -28.947}}], Polygon[{{-11.347, -25.869, -23.684}, {-10.168, -23.181, -18.421}, {-2.0903, -25.226, -18.421}, {-2.3327, -28.152, -23.684}}], Polygon[{{-10.168, -23.181, -18.421}, {-9.1849, -20.94, -13.158}, {-1.8882, -22.787, -13.158}, {-2.0903, -25.226, -18.421}}], Polygon[{{-9.1849, -20.94, -13.158}, {-8.4663, -19.301, -7.8947}, {-1.7405, -21.004, -7.8947}, {-1.8882, -22.787, -13.158}}], Polygon[{{-8.4663, -19.301, -7.8947}, {-8.0831, -18.428, -2.6316}, {-1.6617, -20.054, -2.6316}, {-1.7405, -21.004, -7.8947}}], Polygon[{{-8.0831, -18.428, -2.6316}, {-8.0831, -18.428, 2.6316}, {-1.6617, -20.054, 2.6316}, {-1.6617, -20.054, -2.6316}}], Polygon[{{-8.0831, -18.428, 2.6316}, {-8.4663, -19.301, 7.8947}, {-1.7405, -21.004, 7.8947}, {-1.6617, -20.054, 2.6316}}], Polygon[{{-8.4663, -19.301, 7.8947}, {-9.1849, -20.94, 13.158}, {-1.8882, -22.787, 13.158}, {-1.7405, -21.004, 7.8947}}], Polygon[{{-9.1849, -20.94, 13.158}, {-10.168, -23.181, 18.421}, {-2.0903, -25.226, 18.421}, {-1.8882, -22.787, 13.158}}], Polygon[{{-10.168, -23.181, 18.421}, {-11.347, -25.869, 23.684}, {-2.3327, -28.152, 23.684}, {-2.0903, -25.226, 18.421}}], Polygon[{{-11.347, -25.869, 23.684}, {-12.668, -28.879, 28.947}, {-2.6042, -31.428, 28.947}, {-2.3327, -28.152, 23.684}}], Polygon[{{-12.668, -28.879, 28.947}, {-14.09, -32.121, 34.211}, {-2.8965, -34.956, 34.211}, {-2.6042, -31.428, 28.947}}], Polygon[{{-14.09, -32.121, 34.211}, {-15.586, -35.532, 39.474}, {-3.2041, -38.668, 39.474}, {-2.8965, -34.956, 34.211}}], Polygon[{{-15.586, -35.532, 39.474}, {-17.136, -39.067, 44.737}, {-3.5228, -42.514, 44.737}, {-3.2041, -38.668, 39.474}}], Polygon[{{-17.136, -39.067, 44.737}, {-18.728, -42.695, 50.}, {-3.85, -46.463, 50.}, {-3.5228, -42.514, 44.737}}], Polygon[{{-3.85, -46.463, -50.}, {-3.5228, -42.514, -44.737}, {10.472, -41.355, -44.737}, {11.445, -45.196, -50.}}], Polygon[{{-3.5228, -42.514, -44.737}, {-3.2041, -38.668, -39.474}, {9.5249, -37.613, -39.474}, {10.472, -41.355, -44.737}}], Polygon[{{-3.2041, -38.668, -39.474}, {-2.8965, -34.956, -34.211}, {8.6106, -34.002, -34.211}, {9.5249, -37.613, -39.474}}], Polygon[{{-2.8965, -34.956, -34.211}, {-2.6042, -31.428, -28.947}, {7.7415, -30.57, -28.947}, {8.6106, -34.002, -34.211}}], Polygon[{{-2.6042, -31.428, -28.947}, {-2.3327, -28.152, -23.684}, {6.9345, -27.384, -23.684}, {7.7415, -30.57, -28.947}}], Polygon[{{-2.3327, -28.152, -23.684}, {-2.0903, -25.226, -18.421}, {6.2139, -24.538, -18.421}, {6.9345, -27.384, -23.684}}], Polygon[{{-2.0903, -25.226, -18.421}, {-1.8882, -22.787, -13.158}, {5.6131, -22.166, -13.158}, {6.2139, -24.538, -18.421}}], Polygon[{{-1.8882, -22.787, -13.158}, {-1.7405, -21.004, -7.8947}, {5.174, -20.432, -7.8947}, {5.6131, -22.166, -13.158}}], Polygon[{{-1.7405, -21.004, -7.8947}, {-1.6617, -20.054, -2.6316}, {4.9398, -19.507, -2.6316}, {5.174, -20.432, -7.8947}}], Polygon[{{-1.6617, -20.054, -2.6316}, {-1.6617, -20.054, 2.6316}, {4.9398, -19.507, 2.6316}, {4.9398, -19.507, -2.6316}}], Polygon[{{-1.6617, -20.054, 2.6316}, {-1.7405, -21.004, 7.8947}, {5.174, -20.432, 7.8947}, {4.9398, -19.507, 2.6316}}], Polygon[{{-1.7405, -21.004, 7.8947}, {-1.8882, -22.787, 13.158}, {5.6131, -22.166, 13.158}, {5.174, -20.432, 7.8947}}], Polygon[{{-1.8882, -22.787, 13.158}, {-2.0903, -25.226, 18.421}, {6.2139, -24.538, 18.421}, {5.6131, -22.166, 13.158}}], Polygon[{{-2.0903, -25.226, 18.421}, {-2.3327, -28.152, 23.684}, {6.9345, -27.384, 23.684}, {6.2139, -24.538, 18.421}}], Polygon[{{-2.3327, -28.152, 23.684}, {-2.6042, -31.428, 28.947}, {7.7415, -30.57, 28.947}, {6.9345, -27.384, 23.684}}], Polygon[{{-2.6042, -31.428, 28.947}, {-2.8965, -34.956, 34.211}, {8.6106, -34.002, 34.211}, {7.7415, -30.57, 28.947}}], Polygon[{{-2.8965, -34.956, 34.211}, {-3.2041, -38.668, 39.474}, {9.5249, -37.613, 39.474}, {8.6106, -34.002, 34.211}}], Polygon[{{-3.2041, -38.668, 39.474}, {-3.5228, -42.514, 44.737}, {10.472, -41.355, 44.737}, {9.5249, -37.613, 39.474}}], Polygon[{{-3.5228, -42.514, 44.737}, {-3.85, -46.463, 50.}, {11.445, -45.196, 50.}, {10.472, -41.355, 44.737}}], Polygon[{{11.445, -45.196, -50.}, {10.472, -41.355, -44.737}, {23.333, -35.714, -44.737}, {25.5, -39.03, -50.}}], Polygon[{{10.472, -41.355, -44.737}, {9.5249, -37.613, -39.474}, {21.222, -32.482, -39.474}, {23.333, -35.714, -44.737}}], Polygon[{{9.5249, -37.613, -39.474}, {8.6106, -34.002, -34.211}, {19.185, -29.364, -34.211}, {21.222, -32.482, -39.474}}], Polygon[{{8.6106, -34.002, -34.211}, {7.7415, -30.57, -28.947}, {17.248, -26.4, -28.947}, {19.185, -29.364, -34.211}}], Polygon[{{7.7415, -30.57, -28.947}, {6.9345, -27.384, -23.684}, {15.45, -23.648, -23.684}, {17.248, -26.4, -28.947}}], Polygon[{{6.9345, -27.384, -23.684}, {6.2139, -24.538, -18.421}, {13.845, -21.191, -18.421}, {15.45, -23.648, -23.684}}], Polygon[{{6.2139, -24.538, -18.421}, {5.6131, -22.166, -13.158}, {12.506, -19.142, -13.158}, {13.845, -21.191, -18.421}}], Polygon[{{5.6131, -22.166, -13.158}, {5.174, -20.432, -7.8947}, {11.528, -17.645, -7.8947}, {12.506, -19.142, -13.158}}], Polygon[{{5.174, -20.432, -7.8947}, {4.9398, -19.507, -2.6316}, {11.006, -16.846, -2.6316}, {11.528, -17.645, -7.8947}}], Polygon[{{4.9398, -19.507, -2.6316}, {4.9398, -19.507, 2.6316}, {11.006, -16.846, 2.6316}, {11.006, -16.846, -2.6316}}], Polygon[{{4.9398, -19.507, 2.6316}, {5.174, -20.432, 7.8947}, {11.528, -17.645, 7.8947}, {11.006, -16.846, 2.6316}}], Polygon[{{5.174, -20.432, 7.8947}, {5.6131, -22.166, 13.158}, {12.506, -19.142, 13.158}, {11.528, -17.645, 7.8947}}], Polygon[{{5.6131, -22.166, 13.158}, {6.2139, -24.538, 18.421}, {13.845, -21.191, 18.421}, {12.506, -19.142, 13.158}}], Polygon[{{6.2139, -24.538, 18.421}, {6.9345, -27.384, 23.684}, {15.45, -23.648, 23.684}, {13.845, -21.191, 18.421}}], Polygon[{{6.9345, -27.384, 23.684}, {7.7415, -30.57, 28.947}, {17.248, -26.4, 28.947}, {15.45, -23.648, 23.684}}], Polygon[{{7.7415, -30.57, 28.947}, {8.6106, -34.002, 34.211}, {19.185, -29.364, 34.211}, {17.248, -26.4, 28.947}}], Polygon[{{8.6106, -34.002, 34.211}, {9.5249, -37.613, 39.474}, {21.222, -32.482, 39.474}, {19.185, -29.364, 34.211}}], Polygon[{{9.5249, -37.613, 39.474}, {10.472, -41.355, 44.737}, {23.333, -35.714, 44.737}, {21.222, -32.482, 39.474}}], Polygon[{{10.472, -41.355, 44.737}, {11.445, -45.196, 50.}, {25.5, -39.03, 50.}, {23.333, -35.714, 44.737}}], Polygon[{{25.5, -39.03, -50.}, {23.333, -35.714, -44.737}, {33.665, -26.202, -44.737}, {36.791, -28.636, -50.}}], Polygon[{{23.333, -35.714, -44.737}, {21.222, -32.482, -39.474}, {30.619, -23.831, -39.474}, {33.665, -26.202, -44.737}}], Polygon[{{21.222, -32.482, -39.474}, {19.185, -29.364, -34.211}, {27.68, -21.544, -34.211}, {30.619, -23.831, -39.474}}], Polygon[{{19.185, -29.364, -34.211}, {17.248, -26.4, -28.947}, {24.886, -19.369, -28.947}, {27.68, -21.544, -34.211}}], Polygon[{{17.248, -26.4, -28.947}, {15.45, -23.648, -23.684}, {22.292, -17.35, -23.684}, {24.886, -19.369, -28.947}}], Polygon[{{15.45, -23.648, -23.684}, {13.845, -21.191, -18.421}, {19.975, -15.547, -18.421}, {22.292, -17.35, -23.684}}], Polygon[{{13.845, -21.191, -18.421}, {12.506, -19.142, -13.158}, {18.044, -14.044, -13.158}, {19.975, -15.547, -18.421}}], Polygon[{{12.506, -19.142, -13.158}, {11.528, -17.645, -7.8947}, {16.632, -12.945, -7.8947}, {18.044, -14.044, -13.158}}], Polygon[{{11.528, -17.645, -7.8947}, {11.006, -16.846, -2.6316}, {15.879, -12.359, -2.6316}, {16.632, -12.945, -7.8947}}], Polygon[{{11.006, -16.846, -2.6316}, {11.006, -16.846, 2.6316}, {15.879, -12.359, 2.6316}, {15.879, -12.359, -2.6316}}], Polygon[{{11.006, -16.846, 2.6316}, {11.528, -17.645, 7.8947}, {16.632, -12.945, 7.8947}, {15.879, -12.359, 2.6316}}], Polygon[{{11.528, -17.645, 7.8947}, {12.506, -19.142, 13.158}, {18.044, -14.044, 13.158}, {16.632, -12.945, 7.8947}}], Polygon[{{12.506, -19.142, 13.158}, {13.845, -21.191, 18.421}, {19.975, -15.547, 18.421}, {18.044, -14.044, 13.158}}], Polygon[{{13.845, -21.191, 18.421}, {15.45, -23.648, 23.684}, {22.292, -17.35, 23.684}, {19.975, -15.547, 18.421}}], Polygon[{{15.45, -23.648, 23.684}, {17.248, -26.4, 28.947}, {24.886, -19.369, 28.947}, {22.292, -17.35, 23.684}}], Polygon[{{17.248, -26.4, 28.947}, {19.185, -29.364, 34.211}, {27.68, -21.544, 34.211}, {24.886, -19.369, 28.947}}], Polygon[{{19.185, -29.364, 34.211}, {21.222, -32.482, 39.474}, {30.619, -23.831, 39.474}, {27.68, -21.544, 34.211}}], Polygon[{{21.222, -32.482, 39.474}, {23.333, -35.714, 44.737}, {33.665, -26.202, 44.737}, {30.619, -23.831, 39.474}}], Polygon[{{23.333, -35.714, 44.737}, {25.5, -39.03, 50.}, {36.791, -28.636, 50.}, {33.665, -26.202, 44.737}}], Polygon[{{36.791, -28.636, -50.}, {33.665, -26.202, -44.737}, {40.349, -13.852, -44.737}, {44.096, -15.138, -50.}}], Polygon[{{33.665, -26.202, -44.737}, {30.619, -23.831, -39.474}, {36.698, -12.598, -39.474}, {40.349, -13.852, -44.737}}], Polygon[{{30.619, -23.831, -39.474}, {27.68, -21.544, -34.211}, {33.175, -11.389, -34.211}, {36.698, -12.598, -39.474}}], Polygon[{{27.68, -21.544, -34.211}, {24.886, -19.369, -28.947}, {29.827, -10.24, -28.947}, {33.175, -11.389, -34.211}}], Polygon[{{24.886, -19.369, -28.947}, {22.292, -17.35, -23.684}, {26.718, -9.1722, -23.684}, {29.827, -10.24, -28.947}}], Polygon[{{22.292, -17.35, -23.684}, {19.975, -15.547, -18.421}, {23.941, -8.2191, -18.421}, {26.718, -9.1722, -23.684}}], Polygon[{{19.975, -15.547, -18.421}, {18.044, -14.044, -13.158}, {21.627, -7.4244, -13.158}, {23.941, -8.2191, -18.421}}], Polygon[{{18.044, -14.044, -13.158}, {16.632, -12.945, -7.8947}, {19.934, -6.8435, -7.8947}, {21.627, -7.4244, -13.158}}], Polygon[{{16.632, -12.945, -7.8947}, {15.879, -12.359, -2.6316}, {19.032, -6.5337, -2.6316}, {19.934, -6.8435, -7.8947}}], Polygon[{{15.879, -12.359, -2.6316}, {15.879, -12.359, 2.6316}, {19.032, -6.5337, 2.6316}, {19.032, -6.5337, -2.6316}}], Polygon[{{15.879, -12.359, 2.6316}, {16.632, -12.945, 7.8947}, {19.934, -6.8435, 7.8947}, {19.032, -6.5337, 2.6316}}], Polygon[{{16.632, -12.945, 7.8947}, {18.044, -14.044, 13.158}, {21.627, -7.4244, 13.158}, {19.934, -6.8435, 7.8947}}], Polygon[{{18.044, -14.044, 13.158}, {19.975, -15.547, 18.421}, {23.941, -8.2191, 18.421}, {21.627, -7.4244, 13.158}}], Polygon[{{19.975, -15.547, 18.421}, {22.292, -17.35, 23.684}, {26.718, -9.1722, 23.684}, {23.941, -8.2191, 18.421}}], Polygon[{{22.292, -17.35, 23.684}, {24.886, -19.369, 28.947}, {29.827, -10.24, 28.947}, {26.718, -9.1722, 23.684}}], Polygon[{{24.886, -19.369, 28.947}, {27.68, -21.544, 34.211}, {33.175, -11.389, 34.211}, {29.827, -10.24, 28.947}}], Polygon[{{27.68, -21.544, 34.211}, {30.619, -23.831, 39.474}, {36.698, -12.598, 39.474}, {33.175, -11.389, 34.211}}], Polygon[{{30.619, -23.831, 39.474}, {33.665, -26.202, 44.737}, {40.349, -13.852, 44.737}, {36.698, -12.598, 39.474}}], Polygon[{{33.665, -26.202, 44.737}, {36.791, -28.636, 50.}, {44.096, -15.138, 50.}, {40.349, -13.852, 44.737}}], Polygon[{{44.096, -15.138, -50.}, {40.349, -13.852, -44.737}, {42.66, -1.0448*^-14, -44.737}, {46.622, -1.1419*^-14, -50.}}], Polygon[{{40.349, -13.852, -44.737}, {36.698, -12.598, -39.474}, {38.8, -9.503*^-15, -39.474}, {42.66, -1.0448*^-14, -44.737}}], Polygon[{{36.698, -12.598, -39.474}, {33.175, -11.389, -34.211}, {35.076, -8.5908*^-15, -34.211}, {38.8, -9.503*^-15, -39.474}}], Polygon[{{33.175, -11.389, -34.211}, {29.827, -10.24, -28.947}, {31.535, -7.7237*^-15, -28.947}, {35.076, -8.5908*^-15, -34.211}}], Polygon[{{29.827, -10.24, -28.947}, {26.718, -9.1722, -23.684}, {28.248, -6.9186*^-15, -23.684}, {31.535, -7.7237*^-15, -28.947}}], Polygon[{{26.718, -9.1722, -23.684}, {23.941, -8.2191, -18.421}, {25.313, -6.1997*^-15, -18.421}, {28.248, -6.9186*^-15, -23.684}}], Polygon[{{23.941, -8.2191, -18.421}, {21.627, -7.4244, -13.158}, {22.865, -5.6002*^-15, -13.158}, {25.313, -6.1997*^-15, -18.421}}], Polygon[{{21.627, -7.4244, -13.158}, {19.934, -6.8435, -7.8947}, {21.076, -5.1621*^-15, -7.8947}, {22.865, -5.6002*^-15, -13.158}}], Polygon[{{19.934, -6.8435, -7.8947}, {19.032, -6.5337, -2.6316}, {20.122, -4.9284*^-15, -2.6316}, {21.076, -5.1621*^-15, -7.8947}}], Polygon[{{19.032, -6.5337, -2.6316}, {19.032, -6.5337, 2.6316}, {20.122, -4.9284*^-15, 2.6316}, {20.122, -4.9284*^-15, -2.6316}}], Polygon[{{19.032, -6.5337, 2.6316}, {19.934, -6.8435, 7.8947}, {21.076, -5.1621*^-15, 7.8947}, {20.122, -4.9284*^-15, 2.6316}}], Polygon[{{19.934, -6.8435, 7.8947}, {21.627, -7.4244, 13.158}, {22.865, -5.6002*^-15, 13.158}, {21.076, -5.1621*^-15, 7.8947}}], Polygon[{{21.627, -7.4244, 13.158}, {23.941, -8.2191, 18.421}, {25.313, -6.1997*^-15, 18.421}, {22.865, -5.6002*^-15, 13.158}}], Polygon[{{23.941, -8.2191, 18.421}, {26.718, -9.1722, 23.684}, {28.248, -6.9186*^-15, 23.684}, {25.313, -6.1997*^-15, 18.421}}], Polygon[{{26.718, -9.1722, 23.684}, {29.827, -10.24, 28.947}, {31.535, -7.7237*^-15, 28.947}, {28.248, -6.9186*^-15, 23.684}}], Polygon[{{29.827, -10.24, 28.947}, {33.175, -11.389, 34.211}, {35.076, -8.5908*^-15, 34.211}, {31.535, -7.7237*^-15, 28.947}}], Polygon[{{33.175, -11.389, 34.211}, {36.698, -12.598, 39.474}, {38.8, -9.503*^-15, 39.474}, {35.076, -8.5908*^-15, 34.211}}], Polygon[{{36.698, -12.598, 39.474}, {40.349, -13.852, 44.737}, {42.66, -1.0448*^-14, 44.737}, {38.8, -9.503*^-15, 39.474}}], Polygon[{{40.349, -13.852, 44.737}, {44.096, -15.138, 50.}, {46.622, -1.1419*^-14, 50.}, {42.66, -1.0448*^-14, 44.737}}]}, {Polygon[{{46.622, 0., 50.}, {47.893, 0., 50.}, {45.298, 15.551, 50.}, {44.096, 15.138, 50.}}], Polygon[{{47.893, 0., 50.}, {49.165, 0., 50.}, {46.501, 15.964, 50.}, {45.298, 15.551, 50.}}], Polygon[{{49.165, 0., 50.}, {50.436, 0., 50.}, {47.703, 16.376, 50.}, {46.501, 15.964, 50.}}], Polygon[{{50.436, 0., 50.}, {51.707, 0., 50.}, {48.905, 16.789, 50.}, {47.703, 16.376, 50.}}], Polygon[{{44.096, 15.138, 50.}, {45.298, 15.551, 50.}, {37.795, 29.417, 50.}, {36.791, 28.636, 50.}}], Polygon[{{45.298, 15.551, 50.}, {46.501, 15.964, 50.}, {38.798, 30.198, 50.}, {37.795, 29.417, 50.}}], Polygon[{{46.501, 15.964, 50.}, {47.703, 16.376, 50.}, {39.801, 30.978, 50.}, {38.798, 30.198, 50.}}], Polygon[{{47.703, 16.376, 50.}, {48.905, 16.789, 50.}, {40.804, 31.759, 50.}, {39.801, 30.978, 50.}}], Polygon[{{36.791, 28.636, 50.}, {37.795, 29.417, 50.}, {26.195, 40.095, 50.}, {25.5, 39.03, 50.}}], Polygon[{{37.795, 29.417, 50.}, {38.798, 30.198, 50.}, {26.89, 41.159, 50.}, {26.195, 40.095, 50.}}], Polygon[{{38.798, 30.198, 50.}, {39.801, 30.978, 50.}, {27.586, 42.223, 50.}, {26.89, 41.159, 50.}}], Polygon[{{39.801, 30.978, 50.}, {40.804, 31.759, 50.}, {28.281, 43.287, 50.}, {27.586, 42.223, 50.}}], Polygon[{{25.5, 39.03, 50.}, {26.195, 40.095, 50.}, {11.757, 46.428, 50.}, {11.445, 45.196, 50.}}], Polygon[{{26.195, 40.095, 50.}, {26.89, 41.159, 50.}, {12.069, 47.66, 50.}, {11.757, 46.428, 50.}}], Polygon[{{26.89, 41.159, 50.}, {27.586, 42.223, 50.}, {12.381, 48.893, 50.}, {12.069, 47.66, 50.}}], Polygon[{{27.586, 42.223, 50.}, {28.281, 43.287, 50.}, {12.693, 50.125, 50.}, {12.381, 48.893, 50.}}], Polygon[{{11.445, 45.196, 50.}, {11.757, 46.428, 50.}, {-3.955, 47.73, 50.}, {-3.85, 46.463, 50.}}], Polygon[{{11.757, 46.428, 50.}, {12.069, 47.66, 50.}, {-4.06, 48.997, 50.}, {-3.955, 47.73, 50.}}], Polygon[{{12.069, 47.66, 50.}, {12.381, 48.893, 50.}, {-4.165, 50.264, 50.}, {-4.06, 48.997, 50.}}], Polygon[{{12.381, 48.893, 50.}, {12.693, 50.125, 50.}, {-4.2699, 51.53, 50.}, {-4.165, 50.264, 50.}}], Polygon[{{-3.85, 46.463, 50.}, {-3.955, 47.73, 50.}, {-19.239, 43.859, 50.}, {-18.728, 42.695, 50.}}], Polygon[{{-3.955, 47.73, 50.}, {-4.06, 48.997, 50.}, {-19.749, 45.024, 50.}, {-19.239, 43.859, 50.}}], Polygon[{{-4.06, 48.997, 50.}, {-4.165, 50.264, 50.}, {-20.26, 46.188, 50.}, {-19.749, 45.024, 50.}}], Polygon[{{-4.165, 50.264, 50.}, {-4.2699, 51.53, 50.}, {-20.771, 47.352, 50.}, {-20.26, 46.188, 50.}}], Polygon[{{-18.728, 42.695, 50.}, {-19.239, 43.859, 50.}, {-32.437, 35.236, 50.}, {-31.576, 34.301, 50.}}], Polygon[{{-19.239, 43.859, 50.}, {-19.749, 45.024, 50.}, {-33.298, 36.172, 50.}, {-32.437, 35.236, 50.}}], Polygon[{{-19.749, 45.024, 50.}, {-20.26, 46.188, 50.}, {-34.159, 37.107, 50.}, {-33.298, 36.172, 50.}}], Polygon[{{-20.26, 46.188, 50.}, {-20.771, 47.352, 50.}, {-35.02, 38.042, 50.}, {-34.159, 37.107, 50.}}], Polygon[{{-31.576, 34.301, 50.}, {-32.437, 35.236, 50.}, {-42.121, 22.795, 50.}, {-41.003, 22.19, 50.}}], Polygon[{{-32.437, 35.236, 50.}, {-33.298, 36.172, 50.}, {-43.239, 23.4, 50.}, {-42.121, 22.795, 50.}}], Polygon[{{-33.298, 36.172, 50.}, {-34.159, 37.107, 50.}, {-44.357, 24.005, 50.}, {-43.239, 23.4, 50.}}], Polygon[{{-34.159, 37.107, 50.}, {-35.02, 38.042, 50.}, {-45.475, 24.61, 50.}, {-44.357, 24.005, 50.}}], Polygon[{{-41.003, 22.19, 50.}, {-42.121, 22.795, 50.}, {-47.24, 7.883, 50.}, {-45.986, 7.6738, 50.}}], Polygon[{{-42.121, 22.795, 50.}, {-43.239, 23.4, 50.}, {-48.494, 8.0922, 50.}, {-47.24, 7.883, 50.}}], Polygon[{{-43.239, 23.4, 50.}, {-44.357, 24.005, 50.}, {-49.748, 8.3015, 50.}, {-48.494, 8.0922, 50.}}], Polygon[{{-44.357, 24.005, 50.}, {-45.475, 24.61, 50.}, {-51.002, 8.5107, 50.}, {-49.748, 8.3015, 50.}}], Polygon[{{-45.986, 7.6738, 50.}, {-47.24, 7.883, 50.}, {-47.24, -7.883, 50.}, {-45.986, -7.6738, 50.}}], Polygon[{{-47.24, 7.883, 50.}, {-48.494, 8.0922, 50.}, {-48.494, -8.0922, 50.}, {-47.24, -7.883, 50.}}], Polygon[{{-48.494, 8.0922, 50.}, {-49.748, 8.3015, 50.}, {-49.748, -8.3015, 50.}, {-48.494, -8.0922, 50.}}], Polygon[{{-49.748, 8.3015, 50.}, {-51.002, 8.5107, 50.}, {-51.002, -8.5107, 50.}, {-49.748, -8.3015, 50.}}], Polygon[{{-45.986, -7.6738, 50.}, {-47.24, -7.883, 50.}, {-42.121, -22.795, 50.}, {-41.003, -22.19, 50.}}], Polygon[{{-47.24, -7.883, 50.}, {-48.494, -8.0922, 50.}, {-43.239, -23.4, 50.}, {-42.121, -22.795, 50.}}], Polygon[{{-48.494, -8.0922, 50.}, {-49.748, -8.3015, 50.}, {-44.357, -24.005, 50.}, {-43.239, -23.4, 50.}}], Polygon[{{-49.748, -8.3015, 50.}, {-51.002, -8.5107, 50.}, {-45.475, -24.61, 50.}, {-44.357, -24.005, 50.}}], Polygon[{{-41.003, -22.19, 50.}, {-42.121, -22.795, 50.}, {-32.437, -35.236, 50.}, {-31.576, -34.301, 50.}}], Polygon[{{-42.121, -22.795, 50.}, {-43.239, -23.4, 50.}, {-33.298, -36.172, 50.}, {-32.437, -35.236, 50.}}], Polygon[{{-43.239, -23.4, 50.}, {-44.357, -24.005, 50.}, {-34.159, -37.107, 50.}, {-33.298, -36.172, 50.}}], Polygon[{{-44.357, -24.005, 50.}, {-45.475, -24.61, 50.}, {-35.02, -38.042, 50.}, {-34.159, -37.107, 50.}}], Polygon[{{-31.576, -34.301, 50.}, {-32.437, -35.236, 50.}, {-19.239, -43.859, 50.}, {-18.728, -42.695, 50.}}], Polygon[{{-32.437, -35.236, 50.}, {-33.298, -36.172, 50.}, {-19.749, -45.024, 50.}, {-19.239, -43.859, 50.}}], Polygon[{{-33.298, -36.172, 50.}, {-34.159, -37.107, 50.}, {-20.26, -46.188, 50.}, {-19.749, -45.024, 50.}}], Polygon[{{-34.159, -37.107, 50.}, {-35.02, -38.042, 50.}, {-20.771, -47.352, 50.}, {-20.26, -46.188, 50.}}], Polygon[{{-18.728, -42.695, 50.}, {-19.239, -43.859, 50.}, {-3.955, -47.73, 50.}, {-3.85, -46.463, 50.}}], Polygon[{{-19.239, -43.859, 50.}, {-19.749, -45.024, 50.}, {-4.06, -48.997, 50.}, {-3.955, -47.73, 50.}}], Polygon[{{-19.749, -45.024, 50.}, {-20.26, -46.188, 50.}, {-4.165, -50.264, 50.}, {-4.06, -48.997, 50.}}], Polygon[{{-20.26, -46.188, 50.}, {-20.771, -47.352, 50.}, {-4.2699, -51.53, 50.}, {-4.165, -50.264, 50.}}], Polygon[{{-3.85, -46.463, 50.}, {-3.955, -47.73, 50.}, {11.757, -46.428, 50.}, {11.445, -45.196, 50.}}], Polygon[{{-3.955, -47.73, 50.}, {-4.06, -48.997, 50.}, {12.069, -47.66, 50.}, {11.757, -46.428, 50.}}], Polygon[{{-4.06, -48.997, 50.}, {-4.165, -50.264, 50.}, {12.381, -48.893, 50.}, {12.069, -47.66, 50.}}], Polygon[{{-4.165, -50.264, 50.}, {-4.2699, -51.53, 50.}, {12.693, -50.125, 50.}, {12.381, -48.893, 50.}}], Polygon[{{11.445, -45.196, 50.}, {11.757, -46.428, 50.}, {26.195, -40.095, 50.}, {25.5, -39.03, 50.}}], Polygon[{{11.757, -46.428, 50.}, {12.069, -47.66, 50.}, {26.89, -41.159, 50.}, {26.195, -40.095, 50.}}], Polygon[{{12.069, -47.66, 50.}, {12.381, -48.893, 50.}, {27.586, -42.223, 50.}, {26.89, -41.159, 50.}}], Polygon[{{12.381, -48.893, 50.}, {12.693, -50.125, 50.}, {28.281, -43.287, 50.}, {27.586, -42.223, 50.}}], Polygon[{{25.5, -39.03, 50.}, {26.195, -40.095, 50.}, {37.795, -29.417, 50.}, {36.791, -28.636, 50.}}], Polygon[{{26.195, -40.095, 50.}, {26.89, -41.159, 50.}, {38.798, -30.198, 50.}, {37.795, -29.417, 50.}}], Polygon[{{26.89, -41.159, 50.}, {27.586, -42.223, 50.}, {39.801, -30.978, 50.}, {38.798, -30.198, 50.}}], Polygon[{{27.586, -42.223, 50.}, {28.281, -43.287, 50.}, {40.804, -31.759, 50.}, {39.801, -30.978, 50.}}], Polygon[{{36.791, -28.636, 50.}, {37.795, -29.417, 50.}, {45.298, -15.551, 50.}, {44.096, -15.138, 50.}}], Polygon[{{37.795, -29.417, 50.}, {38.798, -30.198, 50.}, {46.501, -15.964, 50.}, {45.298, -15.551, 50.}}], Polygon[{{38.798, -30.198, 50.}, {39.801, -30.978, 50.}, {47.703, -16.376, 50.}, {46.501, -15.964, 50.}}], Polygon[{{39.801, -30.978, 50.}, {40.804, -31.759, 50.}, {48.905, -16.789, 50.}, {47.703, -16.376, 50.}}], Polygon[{{44.096, -15.138, 50.}, {45.298, -15.551, 50.}, {47.893, -1.173*^-14, 50.}, {46.622, -1.1419*^-14, 50.}}], Polygon[{{45.298, -15.551, 50.}, {46.501, -15.964, 50.}, {49.165, -1.2041*^-14, 50.}, {47.893, -1.173*^-14, 50.}}], Polygon[{{46.501, -15.964, 50.}, {47.703, -16.376, 50.}, {50.436, -1.2353*^-14, 50.}, {49.165, -1.2041*^-14, 50.}}], Polygon[{{47.703, -16.376, 50.}, {48.905, -16.789, 50.}, {51.707, -1.2664*^-14, 50.}, {50.436, -1.2353*^-14, 50.}}]}, {Polygon[{{46.622, 0., -50.}, {47.893, 0., -50.}, {45.298, 15.551, -50.}, {44.096, 15.138, -50.}}], Polygon[{{47.893, 0., -50.}, {49.165, 0., -50.}, {46.501, 15.964, -50.}, {45.298, 15.551, -50.}}], Polygon[{{49.165, 0., -50.}, {50.436, 0., -50.}, {47.703, 16.376, -50.}, {46.501, 15.964, -50.}}], Polygon[{{50.436, 0., -50.}, {51.707, 0., -50.}, {48.905, 16.789, -50.}, {47.703, 16.376, -50.}}], Polygon[{{44.096, 15.138, -50.}, {45.298, 15.551, -50.}, {37.795, 29.417, -50.}, {36.791, 28.636, -50.}}], Polygon[{{45.298, 15.551, -50.}, {46.501, 15.964, -50.}, {38.798, 30.198, -50.}, {37.795, 29.417, -50.}}], Polygon[{{46.501, 15.964, -50.}, {47.703, 16.376, -50.}, {39.801, 30.978, -50.}, {38.798, 30.198, -50.}}], Polygon[{{47.703, 16.376, -50.}, {48.905, 16.789, -50.}, {40.804, 31.759, -50.}, {39.801, 30.978, -50.}}], Polygon[{{36.791, 28.636, -50.}, {37.795, 29.417, -50.}, {26.195, 40.095, -50.}, {25.5, 39.03, -50.}}], Polygon[{{37.795, 29.417, -50.}, {38.798, 30.198, -50.}, {26.89, 41.159, -50.}, {26.195, 40.095, -50.}}], Polygon[{{38.798, 30.198, -50.}, {39.801, 30.978, -50.}, {27.586, 42.223, -50.}, {26.89, 41.159, -50.}}], Polygon[{{39.801, 30.978, -50.}, {40.804, 31.759, -50.}, {28.281, 43.287, -50.}, {27.586, 42.223, -50.}}], Polygon[{{25.5, 39.03, -50.}, {26.195, 40.095, -50.}, {11.757, 46.428, -50.}, {11.445, 45.196, -50.}}], Polygon[{{26.195, 40.095, -50.}, {26.89, 41.159, -50.}, {12.069, 47.66, -50.}, {11.757, 46.428, -50.}}], Polygon[{{26.89, 41.159, -50.}, {27.586, 42.223, -50.}, {12.381, 48.893, -50.}, {12.069, 47.66, -50.}}], Polygon[{{27.586, 42.223, -50.}, {28.281, 43.287, -50.}, {12.693, 50.125, -50.}, {12.381, 48.893, -50.}}], Polygon[{{11.445, 45.196, -50.}, {11.757, 46.428, -50.}, {-3.955, 47.73, -50.}, {-3.85, 46.463, -50.}}], Polygon[{{11.757, 46.428, -50.}, {12.069, 47.66, -50.}, {-4.06, 48.997, -50.}, {-3.955, 47.73, -50.}}], Polygon[{{12.069, 47.66, -50.}, {12.381, 48.893, -50.}, {-4.165, 50.264, -50.}, {-4.06, 48.997, -50.}}], Polygon[{{12.381, 48.893, -50.}, {12.693, 50.125, -50.}, {-4.2699, 51.53, -50.}, {-4.165, 50.264, -50.}}], Polygon[{{-3.85, 46.463, -50.}, {-3.955, 47.73, -50.}, {-19.239, 43.859, -50.}, {-18.728, 42.695, -50.}}], Polygon[{{-3.955, 47.73, -50.}, {-4.06, 48.997, -50.}, {-19.749, 45.024, -50.}, {-19.239, 43.859, -50.}}], Polygon[{{-4.06, 48.997, -50.}, {-4.165, 50.264, -50.}, {-20.26, 46.188, -50.}, {-19.749, 45.024, -50.}}], Polygon[{{-4.165, 50.264, -50.}, {-4.2699, 51.53, -50.}, {-20.771, 47.352, -50.}, {-20.26, 46.188, -50.}}], Polygon[{{-18.728, 42.695, -50.}, {-19.239, 43.859, -50.}, {-32.437, 35.236, -50.}, {-31.576, 34.301, -50.}}], Polygon[{{-19.239, 43.859, -50.}, {-19.749, 45.024, -50.}, {-33.298, 36.172, -50.}, {-32.437, 35.236, -50.}}], Polygon[{{-19.749, 45.024, -50.}, {-20.26, 46.188, -50.}, {-34.159, 37.107, -50.}, {-33.298, 36.172, -50.}}], Polygon[{{-20.26, 46.188, -50.}, {-20.771, 47.352, -50.}, {-35.02, 38.042, -50.}, {-34.159, 37.107, -50.}}], Polygon[{{-31.576, 34.301, -50.}, {-32.437, 35.236, -50.}, {-42.121, 22.795, -50.}, {-41.003, 22.19, -50.}}], Polygon[{{-32.437, 35.236, -50.}, {-33.298, 36.172, -50.}, {-43.239, 23.4, -50.}, {-42.121, 22.795, -50.}}], Polygon[{{-33.298, 36.172, -50.}, {-34.159, 37.107, -50.}, {-44.357, 24.005, -50.}, {-43.239, 23.4, -50.}}], Polygon[{{-34.159, 37.107, -50.}, {-35.02, 38.042, -50.}, {-45.475, 24.61, -50.}, {-44.357, 24.005, -50.}}], Polygon[{{-41.003, 22.19, -50.}, {-42.121, 22.795, -50.}, {-47.24, 7.883, -50.}, {-45.986, 7.6738, -50.}}], Polygon[{{-42.121, 22.795, -50.}, {-43.239, 23.4, -50.}, {-48.494, 8.0922, -50.}, {-47.24, 7.883, -50.}}], Polygon[{{-43.239, 23.4, -50.}, {-44.357, 24.005, -50.}, {-49.748, 8.3015, -50.}, {-48.494, 8.0922, -50.}}], Polygon[{{-44.357, 24.005, -50.}, {-45.475, 24.61, -50.}, {-51.002, 8.5107, -50.}, {-49.748, 8.3015, -50.}}], Polygon[{{-45.986, 7.6738, -50.}, {-47.24, 7.883, -50.}, {-47.24, -7.883, -50.}, {-45.986, -7.6738, -50.}}], Polygon[{{-47.24, 7.883, -50.}, {-48.494, 8.0922, -50.}, {-48.494, -8.0922, -50.}, {-47.24, -7.883, -50.}}], Polygon[{{-48.494, 8.0922, -50.}, {-49.748, 8.3015, -50.}, {-49.748, -8.3015, -50.}, {-48.494, -8.0922, -50.}}], Polygon[{{-49.748, 8.3015, -50.}, {-51.002, 8.5107, -50.}, {-51.002, -8.5107, -50.}, {-49.748, -8.3015, -50.}}], Polygon[{{-45.986, -7.6738, -50.}, {-47.24, -7.883, -50.}, {-42.121, -22.795, -50.}, {-41.003, -22.19, -50.}}], Polygon[{{-47.24, -7.883, -50.}, {-48.494, -8.0922, -50.}, {-43.239, -23.4, -50.}, {-42.121, -22.795, -50.}}], Polygon[{{-48.494, -8.0922, -50.}, {-49.748, -8.3015, -50.}, {-44.357, -24.005, -50.}, {-43.239, -23.4, -50.}}], Polygon[{{-49.748, -8.3015, -50.}, {-51.002, -8.5107, -50.}, {-45.475, -24.61, -50.}, {-44.357, -24.005, -50.}}], Polygon[{{-41.003, -22.19, -50.}, {-42.121, -22.795, -50.}, {-32.437, -35.236, -50.}, {-31.576, -34.301, -50.}}], Polygon[{{-42.121, -22.795, -50.}, {-43.239, -23.4, -50.}, {-33.298, -36.172, -50.}, {-32.437, -35.236, -50.}}], Polygon[{{-43.239, -23.4, -50.}, {-44.357, -24.005, -50.}, {-34.159, -37.107, -50.}, {-33.298, -36.172, -50.}}], Polygon[{{-44.357, -24.005, -50.}, {-45.475, -24.61, -50.}, {-35.02, -38.042, -50.}, {-34.159, -37.107, -50.}}], Polygon[{{-31.576, -34.301, -50.}, {-32.437, -35.236, -50.}, {-19.239, -43.859, -50.}, {-18.728, -42.695, -50.}}], Polygon[{{-32.437, -35.236, -50.}, {-33.298, -36.172, -50.}, {-19.749, -45.024, -50.}, {-19.239, -43.859, -50.}}], Polygon[{{-33.298, -36.172, -50.}, {-34.159, -37.107, -50.}, {-20.26, -46.188, -50.}, {-19.749, -45.024, -50.}}], Polygon[{{-34.159, -37.107, -50.}, {-35.02, -38.042, -50.}, {-20.771, -47.352, -50.}, {-20.26, -46.188, -50.}}], Polygon[{{-18.728, -42.695, -50.}, {-19.239, -43.859, -50.}, {-3.955, -47.73, -50.}, {-3.85, -46.463, -50.}}], Polygon[{{-19.239, -43.859, -50.}, {-19.749, -45.024, -50.}, {-4.06, -48.997, -50.}, {-3.955, -47.73, -50.}}], Polygon[{{-19.749, -45.024, -50.}, {-20.26, -46.188, -50.}, {-4.165, -50.264, -50.}, {-4.06, -48.997, -50.}}], Polygon[{{-20.26, -46.188, -50.}, {-20.771, -47.352, -50.}, {-4.2699, -51.53, -50.}, {-4.165, -50.264, -50.}}], Polygon[{{-3.85, -46.463, -50.}, {-3.955, -47.73, -50.}, {11.757, -46.428, -50.}, {11.445, -45.196, -50.}}], Polygon[{{-3.955, -47.73, -50.}, {-4.06, -48.997, -50.}, {12.069, -47.66, -50.}, {11.757, -46.428, -50.}}], Polygon[{{-4.06, -48.997, -50.}, {-4.165, -50.264, -50.}, {12.381, -48.893, -50.}, {12.069, -47.66, -50.}}], Polygon[{{-4.165, -50.264, -50.}, {-4.2699, -51.53, -50.}, {12.693, -50.125, -50.}, {12.381, -48.893, -50.}}], Polygon[{{11.445, -45.196, -50.}, {11.757, -46.428, -50.}, {26.195, -40.095, -50.}, {25.5, -39.03, -50.}}], Polygon[{{11.757, -46.428, -50.}, {12.069, -47.66, -50.}, {26.89, -41.159, -50.}, {26.195, -40.095, -50.}}], Polygon[{{12.069, -47.66, -50.}, {12.381, -48.893, -50.}, {27.586, -42.223, -50.}, {26.89, -41.159, -50.}}], Polygon[{{12.381, -48.893, -50.}, {12.693, -50.125, -50.}, {28.281, -43.287, -50.}, {27.586, -42.223, -50.}}], Polygon[{{25.5, -39.03, -50.}, {26.195, -40.095, -50.}, {37.795, -29.417, -50.}, {36.791, -28.636, -50.}}], Polygon[{{26.195, -40.095, -50.}, {26.89, -41.159, -50.}, {38.798, -30.198, -50.}, {37.795, -29.417, -50.}}], Polygon[{{26.89, -41.159, -50.}, {27.586, -42.223, -50.}, {39.801, -30.978, -50.}, {38.798, -30.198, -50.}}], Polygon[{{27.586, -42.223, -50.}, {28.281, -43.287, -50.}, {40.804, -31.759, -50.}, {39.801, -30.978, -50.}}], Polygon[{{36.791, -28.636, -50.}, {37.795, -29.417, -50.}, {45.298, -15.551, -50.}, {44.096, -15.138, -50.}}], Polygon[{{37.795, -29.417, -50.}, {38.798, -30.198, -50.}, {46.501, -15.964, -50.}, {45.298, -15.551, -50.}}], Polygon[{{38.798, -30.198, -50.}, {39.801, -30.978, -50.}, {47.703, -16.376, -50.}, {46.501, -15.964, -50.}}], Polygon[{{39.801, -30.978, -50.}, {40.804, -31.759, -50.}, {48.905, -16.789, -50.}, {47.703, -16.376, -50.}}], Polygon[{{44.096, -15.138, -50.}, {45.298, -15.551, -50.}, {47.893, -1.173*^-14, -50.}, {46.622, -1.1419*^-14, -50.}}], Polygon[{{45.298, -15.551, -50.}, {46.501, -15.964, -50.}, {49.165, -1.2041*^-14, -50.}, {47.893, -1.173*^-14, -50.}}], Polygon[{{46.501, -15.964, -50.}, {47.703, -16.376, -50.}, {50.436, -1.2353*^-14, -50.}, {49.165, -1.2041*^-14, -50.}}], Polygon[{{47.703, -16.376, -50.}, {48.905, -16.789, -50.}, {51.707, -1.2664*^-14, -50.}, {50.436, -1.2353*^-14, -50.}}]}}, {AmbientLight -> GrayLevel[0.15], PlotRange -> Automatic, DisplayFunction :> $DisplayFunction, ColorOutput -> Automatic, Axes -> True, PlotLabel -> None, AxesLabel -> {"x", "y", "z"}, Ticks -> Automatic, Prolog -> {}, Epilog -> {}, AxesStyle -> Automatic, Background -> Automatic, DefaultColor -> Automatic, DefaultFont :> $DefaultFont, AspectRatio -> Automatic, ViewPoint -> {1.3, -2.4, 2.}, Boxed -> True, BoxRatios -> Automatic, Plot3Matrix -> Automatic, Lighting -> True, AmbientLight -> GrayLevel[0.], LightSources -> {{{1., 0., 1.}, RGBColor[1., 0., 0.]}, {{1., 1., 1.}, RGBColor[0., 1., 0.]}, {{0., 1., 1.}, RGBColor[0., 0., 1.]}}, ViewCenter -> Automatic, PlotRegion -> Automatic, ImageSize -> Automatic, TextStyle :> {FontFamily -> "Times", FontSize -> 16.}, FormatType :> $FormatType, ViewVertical -> {0., 0., 1.}, FaceGrids -> None, Shading -> True, RenderAll -> True, PolygonIntersections -> True, AxesEdge -> Automatic, BoxStyle -> Automatic, SphericalRegion -> False}]
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aOrb.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aOrb.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aOrb.txt	(revision 904)
@@ -0,0 +1,1 @@
+Graphics3D[{{Polygon[{{0., 0., 100.}, {0., 0., 100.}, {10.559, 2.3242, 99.414}, {10.812, 0., 99.414}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {9.8126, 4.5398, 99.414}, {10.559, 2.3242, 99.414}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {8.6073, 6.5431, 99.414}, {9.8126, 4.5398, 99.414}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {6.9995, 8.2404, 99.414}, {8.6073, 6.5431, 99.414}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {5.0644, 9.5524, 99.414}, {6.9995, 8.2404, 99.414}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {2.8925, 10.418, 99.414}, {5.0644, 9.5524, 99.414}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {0.58534, 10.796, 99.414}, {2.8925, 10.418, 99.414}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {-1.7492, 10.669, 99.414}, {0.58534, 10.796, 99.414}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {-4.0019, 10.044, 99.414}, {-1.7492, 10.669, 99.414}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {-6.0675, 8.9489, 99.414}, {-4.0019, 10.044, 99.414}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {-7.8494, 7.4353, 99.414}, {-6.0675, 8.9489, 99.414}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {-9.2643, 5.5741, 99.414}, {-7.8494, 7.4353, 99.414}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {-10.246, 3.4523, 99.414}, {-9.2643, 5.5741, 99.414}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {-10.749, 1.169, 99.414}, {-10.246, 3.4523, 99.414}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {-10.749, -1.169, 99.414}, {-10.749, 1.169, 99.414}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {-10.246, -3.4523, 99.414}, {-10.749, -1.169, 99.414}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {-9.2643, -5.5741, 99.414}, {-10.246, -3.4523, 99.414}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {-7.8494, -7.4353, 99.414}, {-9.2643, -5.5741, 99.414}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {-6.0675, -8.9489, 99.414}, {-7.8494, -7.4353, 99.414}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {-4.0019, -10.044, 99.414}, {-6.0675, -8.9489, 99.414}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {-1.7492, -10.669, 99.414}, {-4.0019, -10.044, 99.414}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {0.58534, -10.796, 99.414}, {-1.7492, -10.669, 99.414}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {2.8925, -10.418, 99.414}, {0.58534, -10.796, 99.414}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {5.0644, -9.5524, 99.414}, {2.8925, -10.418, 99.414}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {6.9995, -8.2404, 99.414}, {5.0644, -9.5524, 99.414}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {8.6073, -6.5431, 99.414}, {6.9995, -8.2404, 99.414}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {9.8126, -4.5398, 99.414}, {8.6073, -6.5431, 99.414}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {10.559, -2.3242, 99.414}, {9.8126, -4.5398, 99.414}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {10.812, -2.6481*^-15, 99.414}, {10.559, -2.3242, 99.414}}], Polygon[{{10.812, 0., 99.414}, {10.559, 2.3242, 99.414}, {20.994, 4.6212, 97.662}, {21.497, 0., 97.662}}], Polygon[{{10.559, 2.3242, 99.414}, {9.8126, 4.5398, 99.414}, {19.51, 9.0264, 97.662}, {20.994, 4.6212, 97.662}}], Polygon[{{9.8126, 4.5398, 99.414}, {8.6073, 6.5431, 99.414}, {17.114, 13.009, 97.662}, {19.51, 9.0264, 97.662}}], Polygon[{{8.6073, 6.5431, 99.414}, {6.9995, 8.2404, 99.414}, {13.917, 16.384, 97.662}, {17.114, 13.009, 97.662}}], Polygon[{{6.9995, 8.2404, 99.414}, {5.0644, 9.5524, 99.414}, {10.069, 18.993, 97.662}, {13.917, 16.384, 97.662}}], Polygon[{{5.0644, 9.5524, 99.414}, {2.8925, 10.418, 99.414}, {5.7511, 20.713, 97.662}, {10.069, 18.993, 97.662}}], Polygon[{{2.8925, 10.418, 99.414}, {0.58534, 10.796, 99.414}, {1.1638, 21.466, 97.662}, {5.7511, 20.713, 97.662}}], Polygon[{{0.58534, 10.796, 99.414}, {-1.7492, 10.669, 99.414}, {-3.4778, 21.214, 97.662}, {1.1638, 21.466, 97.662}}], Polygon[{{-1.7492, 10.669, 99.414}, {-4.0019, 10.044, 99.414}, {-7.9569, 19.97, 97.662}, {-3.4778, 21.214, 97.662}}], Polygon[{{-4.0019, 10.044, 99.414}, {-6.0675, 8.9489, 99.414}, {-12.064, 17.793, 97.662}, {-7.9569, 19.97, 97.662}}], Polygon[{{-6.0675, 8.9489, 99.414}, {-7.8494, 7.4353, 99.414}, {-15.607, 14.784, 97.662}, {-12.064, 17.793, 97.662}}], Polygon[{{-7.8494, 7.4353, 99.414}, {-9.2643, 5.5741, 99.414}, {-18.42, 11.083, 97.662}, {-15.607, 14.784, 97.662}}], Polygon[{{-9.2643, 5.5741, 99.414}, {-10.246, 3.4523, 99.414}, {-20.372, 6.864, 97.662}, {-18.42, 11.083, 97.662}}], Polygon[{{-10.246, 3.4523, 99.414}, {-10.749, 1.169, 99.414}, {-21.371, 2.3242, 97.662}, {-20.372, 6.864, 97.662}}], Polygon[{{-10.749, 1.169, 99.414}, {-10.749, -1.169, 99.414}, {-21.371, -2.3242, 97.662}, {-21.371, 2.3242, 97.662}}], Polygon[{{-10.749, -1.169, 99.414}, {-10.246, -3.4523, 99.414}, {-20.372, -6.864, 97.662}, {-21.371, -2.3242, 97.662}}], Polygon[{{-10.246, -3.4523, 99.414}, {-9.2643, -5.5741, 99.414}, {-18.42, -11.083, 97.662}, {-20.372, -6.864, 97.662}}], Polygon[{{-9.2643, -5.5741, 99.414}, {-7.8494, -7.4353, 99.414}, {-15.607, -14.784, 97.662}, {-18.42, -11.083, 97.662}}], Polygon[{{-7.8494, -7.4353, 99.414}, {-6.0675, -8.9489, 99.414}, {-12.064, -17.793, 97.662}, {-15.607, -14.784, 97.662}}], Polygon[{{-6.0675, -8.9489, 99.414}, {-4.0019, -10.044, 99.414}, {-7.9569, -19.97, 97.662}, {-12.064, -17.793, 97.662}}], Polygon[{{-4.0019, -10.044, 99.414}, {-1.7492, -10.669, 99.414}, {-3.4778, -21.214, 97.662}, {-7.9569, -19.97, 97.662}}], Polygon[{{-1.7492, -10.669, 99.414}, {0.58534, -10.796, 99.414}, {1.1638, -21.466, 97.662}, {-3.4778, -21.214, 97.662}}], Polygon[{{0.58534, -10.796, 99.414}, {2.8925, -10.418, 99.414}, {5.7511, -20.713, 97.662}, {1.1638, -21.466, 97.662}}], Polygon[{{2.8925, -10.418, 99.414}, {5.0644, -9.5524, 99.414}, {10.069, -18.993, 97.662}, {5.7511, -20.713, 97.662}}], Polygon[{{5.0644, -9.5524, 99.414}, {6.9995, -8.2404, 99.414}, {13.917, -16.384, 97.662}, {10.069, -18.993, 97.662}}], Polygon[{{6.9995, -8.2404, 99.414}, {8.6073, -6.5431, 99.414}, {17.114, -13.009, 97.662}, {13.917, -16.384, 97.662}}], Polygon[{{8.6073, -6.5431, 99.414}, {9.8126, -4.5398, 99.414}, {19.51, -9.0264, 97.662}, {17.114, -13.009, 97.662}}], Polygon[{{9.8126, -4.5398, 99.414}, {10.559, -2.3242, 99.414}, {20.994, -4.6212, 97.662}, {19.51, -9.0264, 97.662}}], Polygon[{{10.559, -2.3242, 99.414}, {10.812, -2.6481*^-15, 99.414}, {21.497, -5.2651*^-15, 97.662}, {20.994, -4.6212, 97.662}}], Polygon[{{21.497, 0., 97.662}, {20.994, 4.6212, 97.662}, {31.184, 6.864, 94.765}, {31.93, 0., 94.765}}], Polygon[{{20.994, 4.6212, 97.662}, {19.51, 9.0264, 97.662}, {28.979, 13.407, 94.765}, {31.184, 6.864, 94.765}}], Polygon[{{19.51, 9.0264, 97.662}, {17.114, 13.009, 97.662}, {25.419, 19.323, 94.765}, {28.979, 13.407, 94.765}}], Polygon[{{17.114, 13.009, 97.662}, {13.917, 16.384, 97.662}, {20.671, 24.336, 94.765}, {25.419, 19.323, 94.765}}], Polygon[{{13.917, 16.384, 97.662}, {10.069, 18.993, 97.662}, {14.956, 28.211, 94.765}, {20.671, 24.336, 94.765}}], Polygon[{{10.069, 18.993, 97.662}, {5.7511, 20.713, 97.662}, {8.5422, 30.766, 94.765}, {14.956, 28.211, 94.765}}], Polygon[{{5.7511, 20.713, 97.662}, {1.1638, 21.466, 97.662}, {1.7287, 31.883, 94.765}, {8.5422, 30.766, 94.765}}], Polygon[{{1.1638, 21.466, 97.662}, {-3.4778, 21.214, 97.662}, {-5.1657, 31.51, 94.765}, {1.7287, 31.883, 94.765}}], Polygon[{{-3.4778, 21.214, 97.662}, {-7.9569, 19.97, 97.662}, {-11.819, 29.662, 94.765}, {-5.1657, 31.51, 94.765}}], Polygon[{{-7.9569, 19.97, 97.662}, {-12.064, 17.793, 97.662}, {-17.919, 26.428, 94.765}, {-11.819, 29.662, 94.765}}], Polygon[{{-12.064, 17.793, 97.662}, {-15.607, 14.784, 97.662}, {-23.181, 21.958, 94.765}, {-17.919, 26.428, 94.765}}], Polygon[{{-15.607, 14.784, 97.662}, {-18.42, 11.083, 97.662}, {-27.36, 16.462, 94.765}, {-23.181, 21.958, 94.765}}], Polygon[{{-18.42, 11.083, 97.662}, {-20.372, 6.864, 97.662}, {-30.259, 10.195, 94.765}, {-27.36, 16.462, 94.765}}], Polygon[{{-20.372, 6.864, 97.662}, {-21.371, 2.3242, 97.662}, {-31.743, 3.4523, 94.765}, {-30.259, 10.195, 94.765}}], Polygon[{{-21.371, 2.3242, 97.662}, {-21.371, -2.3242, 97.662}, {-31.743, -3.4523, 94.765}, {-31.743, 3.4523, 94.765}}], Polygon[{{-21.371, -2.3242, 97.662}, {-20.372, -6.864, 97.662}, {-30.259, -10.195, 94.765}, {-31.743, -3.4523, 94.765}}], Polygon[{{-20.372, -6.864, 97.662}, {-18.42, -11.083, 97.662}, {-27.36, -16.462, 94.765}, {-30.259, -10.195, 94.765}}], Polygon[{{-18.42, -11.083, 97.662}, {-15.607, -14.784, 97.662}, {-23.181, -21.958, 94.765}, {-27.36, -16.462, 94.765}}], Polygon[{{-15.607, -14.784, 97.662}, {-12.064, -17.793, 97.662}, {-17.919, -26.428, 94.765}, {-23.181, -21.958, 94.765}}], Polygon[{{-12.064, -17.793, 97.662}, {-7.9569, -19.97, 97.662}, {-11.819, -29.662, 94.765}, {-17.919, -26.428, 94.765}}], Polygon[{{-7.9569, -19.97, 97.662}, {-3.4778, -21.214, 97.662}, {-5.1657, -31.51, 94.765}, {-11.819, -29.662, 94.765}}], Polygon[{{-3.4778, -21.214, 97.662}, {1.1638, -21.466, 97.662}, {1.7287, -31.883, 94.765}, {-5.1657, -31.51, 94.765}}], Polygon[{{1.1638, -21.466, 97.662}, {5.7511, -20.713, 97.662}, {8.5422, -30.766, 94.765}, {1.7287, -31.883, 94.765}}], Polygon[{{5.7511, -20.713, 97.662}, {10.069, -18.993, 97.662}, {14.956, -28.211, 94.765}, {8.5422, -30.766, 94.765}}], Polygon[{{10.069, -18.993, 97.662}, {13.917, -16.384, 97.662}, {20.671, -24.336, 94.765}, {14.956, -28.211, 94.765}}], Polygon[{{13.917, -16.384, 97.662}, {17.114, -13.009, 97.662}, {25.419, -19.323, 94.765}, {20.671, -24.336, 94.765}}], Polygon[{{17.114, -13.009, 97.662}, {19.51, -9.0264, 97.662}, {28.979, -13.407, 94.765}, {25.419, -19.323, 94.765}}], Polygon[{{19.51, -9.0264, 97.662}, {20.994, -4.6212, 97.662}, {31.184, -6.864, 94.765}, {28.979, -13.407, 94.765}}], Polygon[{{20.994, -4.6212, 97.662}, {21.497, -5.2651*^-15, 97.662}, {31.93, -7.8204*^-15, 94.765}, {31.184, -6.864, 94.765}}], Polygon[{{31.93, 0., 94.765}, {31.184, 6.864, 94.765}, {41.007, 9.0264, 90.758}, {41.989, 0., 90.758}}], Polygon[{{31.184, 6.864, 94.765}, {28.979, 13.407, 94.765}, {38.108, 17.631, 90.758}, {41.007, 9.0264, 90.758}}], Polygon[{{28.979, 13.407, 94.765}, {25.419, 19.323, 94.765}, {33.427, 25.411, 90.758}, {38.108, 17.631, 90.758}}], Polygon[{{25.419, 19.323, 94.765}, {20.671, 24.336, 94.765}, {27.183, 32.002, 90.758}, {33.427, 25.411, 90.758}}], Polygon[{{20.671, 24.336, 94.765}, {14.956, 28.211, 94.765}, {19.668, 37.098, 90.758}, {27.183, 32.002, 90.758}}], Polygon[{{14.956, 28.211, 94.765}, {8.5422, 30.766, 94.765}, {11.233, 40.458, 90.758}, {19.668, 37.098, 90.758}}], Polygon[{{8.5422, 30.766, 94.765}, {1.7287, 31.883, 94.765}, {2.2732, 41.927, 90.758}, {11.233, 40.458, 90.758}}], Polygon[{{1.7287, 31.883, 94.765}, {-5.1657, 31.51, 94.765}, {-6.793, 41.436, 90.758}, {2.2732, 41.927, 90.758}}], Polygon[{{-5.1657, 31.51, 94.765}, {-11.819, 29.662, 94.765}, {-15.542, 39.007, 90.758}, {-6.793, 41.436, 90.758}}], Polygon[{{-11.819, 29.662, 94.765}, {-17.919, 26.428, 94.765}, {-23.564, 34.754, 90.758}, {-15.542, 39.007, 90.758}}], Polygon[{{-17.919, 26.428, 94.765}, {-23.181, 21.958, 94.765}, {-30.484, 28.876, 90.758}, {-23.564, 34.754, 90.758}}], Polygon[{{-23.181, 21.958, 94.765}, {-27.36, 16.462, 94.765}, {-35.978, 21.648, 90.758}, {-30.484, 28.876, 90.758}}], Polygon[{{-27.36, 16.462, 94.765}, {-30.259, 10.195, 94.765}, {-39.791, 13.407, 90.758}, {-35.978, 21.648, 90.758}}], Polygon[{{-30.259, 10.195, 94.765}, {-31.743, 3.4523, 94.765}, {-41.743, 4.5398, 90.758}, {-39.791, 13.407, 90.758}}], Polygon[{{-31.743, 3.4523, 94.765}, {-31.743, -3.4523, 94.765}, {-41.743, -4.5398, 90.758}, {-41.743, 4.5398, 90.758}}], Polygon[{{-31.743, -3.4523, 94.765}, {-30.259, -10.195, 94.765}, {-39.791, -13.407, 90.758}, {-41.743, -4.5398, 90.758}}], Polygon[{{-30.259, -10.195, 94.765}, {-27.36, -16.462, 94.765}, {-35.978, -21.648, 90.758}, {-39.791, -13.407, 90.758}}], Polygon[{{-27.36, -16.462, 94.765}, {-23.181, -21.958, 94.765}, {-30.484, -28.876, 90.758}, {-35.978, -21.648, 90.758}}], Polygon[{{-23.181, -21.958, 94.765}, {-17.919, -26.428, 94.765}, {-23.564, -34.754, 90.758}, {-30.484, -28.876, 90.758}}], Polygon[{{-17.919, -26.428, 94.765}, {-11.819, -29.662, 94.765}, {-15.542, -39.007, 90.758}, {-23.564, -34.754, 90.758}}], Polygon[{{-11.819, -29.662, 94.765}, {-5.1657, -31.51, 94.765}, {-6.793, -41.436, 90.758}, {-15.542, -39.007, 90.758}}], Polygon[{{-5.1657, -31.51, 94.765}, {1.7287, -31.883, 94.765}, {2.2732, -41.927, 90.758}, {-6.793, -41.436, 90.758}}], Polygon[{{1.7287, -31.883, 94.765}, {8.5422, -30.766, 94.765}, {11.233, -40.458, 90.758}, {2.2732, -41.927, 90.758}}], Polygon[{{8.5422, -30.766, 94.765}, {14.956, -28.211, 94.765}, {19.668, -37.098, 90.758}, {11.233, -40.458, 90.758}}], Polygon[{{14.956, -28.211, 94.765}, {20.671, -24.336, 94.765}, {27.183, -32.002, 90.758}, {19.668, -37.098, 90.758}}], Polygon[{{20.671, -24.336, 94.765}, {25.419, -19.323, 94.765}, {33.427, -25.411, 90.758}, {27.183, -32.002, 90.758}}], Polygon[{{25.419, -19.323, 94.765}, {28.979, -13.407, 94.765}, {38.108, -17.631, 90.758}, {33.427, -25.411, 90.758}}], Polygon[{{28.979, -13.407, 94.765}, {31.184, -6.864, 94.765}, {41.007, -9.0264, 90.758}, {38.108, -17.631, 90.758}}], Polygon[{{31.184, -6.864, 94.765}, {31.93, -7.8204*^-15, 94.765}, {41.989, -1.0284*^-14, 90.758}, {41.007, -9.0264, 90.758}}], Polygon[{{41.989, 0., 90.758}, {41.007, 9.0264, 90.758}, {50.35, 11.083, 85.686}, {51.555, 0., 85.686}}], Polygon[{{41.007, 9.0264, 90.758}, {38.108, 17.631, 90.758}, {46.79, 21.648, 85.686}, {50.35, 11.083, 85.686}}], Polygon[{{38.108, 17.631, 90.758}, {33.427, 25.411, 90.758}, {41.043, 31.2, 85.686}, {46.79, 21.648, 85.686}}], Polygon[{{33.427, 25.411, 90.758}, {27.183, 32.002, 90.758}, {33.376, 39.294, 85.686}, {41.043, 31.2, 85.686}}], Polygon[{{27.183, 32.002, 90.758}, {19.668, 37.098, 90.758}, {24.149, 45.55, 85.686}, {33.376, 39.294, 85.686}}], Polygon[{{19.668, 37.098, 90.758}, {11.233, 40.458, 90.758}, {13.793, 49.676, 85.686}, {24.149, 45.55, 85.686}}], Polygon[{{11.233, 40.458, 90.758}, {2.2732, 41.927, 90.758}, {2.7912, 51.48, 85.686}, {13.793, 49.676, 85.686}}], Polygon[{{2.2732, 41.927, 90.758}, {-6.793, 41.436, 90.758}, {-8.3407, 50.876, 85.686}, {2.7912, 51.48, 85.686}}], Polygon[{{-6.793, 41.436, 90.758}, {-15.542, 39.007, 90.758}, {-19.083, 47.894, 85.686}, {-8.3407, 50.876, 85.686}}], Polygon[{{-15.542, 39.007, 90.758}, {-23.564, 34.754, 90.758}, {-28.932, 42.672, 85.686}, {-19.083, 47.894, 85.686}}], Polygon[{{-23.564, 34.754, 90.758}, {-30.484, 28.876, 90.758}, {-37.429, 35.455, 85.686}, {-28.932, 42.672, 85.686}}], Polygon[{{-30.484, 28.876, 90.758}, {-35.978, 21.648, 90.758}, {-44.176, 26.58, 85.686}, {-37.429, 35.455, 85.686}}], Polygon[{{-35.978, 21.648, 90.758}, {-39.791, 13.407, 90.758}, {-48.857, 16.462, 85.686}, {-44.176, 26.58, 85.686}}], Polygon[{{-39.791, 13.407, 90.758}, {-41.743, 4.5398, 90.758}, {-51.253, 5.5741, 85.686}, {-48.857, 16.462, 85.686}}], Polygon[{{-41.743, 4.5398, 90.758}, {-41.743, -4.5398, 90.758}, {-51.253, -5.5741, 85.686}, {-51.253, 5.5741, 85.686}}], Polygon[{{-41.743, -4.5398, 90.758}, {-39.791, -13.407, 90.758}, {-48.857, -16.462, 85.686}, {-51.253, -5.5741, 85.686}}], Polygon[{{-39.791, -13.407, 90.758}, {-35.978, -21.648, 90.758}, {-44.176, -26.58, 85.686}, {-48.857, -16.462, 85.686}}], Polygon[{{-35.978, -21.648, 90.758}, {-30.484, -28.876, 90.758}, {-37.429, -35.455, 85.686}, {-44.176, -26.58, 85.686}}], Polygon[{{-30.484, -28.876, 90.758}, {-23.564, -34.754, 90.758}, {-28.932, -42.672, 85.686}, {-37.429, -35.455, 85.686}}], Polygon[{{-23.564, -34.754, 90.758}, {-15.542, -39.007, 90.758}, {-19.083, -47.894, 85.686}, {-28.932, -42.672, 85.686}}], Polygon[{{-15.542, -39.007, 90.758}, {-6.793, -41.436, 90.758}, {-8.3407, -50.876, 85.686}, {-19.083, -47.894, 85.686}}], Polygon[{{-6.793, -41.436, 90.758}, {2.2732, -41.927, 90.758}, {2.7912, -51.48, 85.686}, {-8.3407, -50.876, 85.686}}], Polygon[{{2.2732, -41.927, 90.758}, {11.233, -40.458, 90.758}, {13.793, -49.676, 85.686}, {2.7912, -51.48, 85.686}}], Polygon[{{11.233, -40.458, 90.758}, {19.668, -37.098, 90.758}, {24.149, -45.55, 85.686}, {13.793, -49.676, 85.686}}], Polygon[{{19.668, -37.098, 90.758}, {27.183, -32.002, 90.758}, {33.376, -39.294, 85.686}, {24.149, -45.55, 85.686}}], Polygon[{{27.183, -32.002, 90.758}, {33.427, -25.411, 90.758}, {41.043, -31.2, 85.686}, {33.376, -39.294, 85.686}}], Polygon[{{33.427, -25.411, 90.758}, {38.108, -17.631, 90.758}, {46.79, -21.648, 85.686}, {41.043, -31.2, 85.686}}], Polygon[{{38.108, -17.631, 90.758}, {41.007, -9.0264, 90.758}, {50.35, -11.083, 85.686}, {46.79, -21.648, 85.686}}], Polygon[{{41.007, -9.0264, 90.758}, {41.989, -1.0284*^-14, 90.758}, {51.555, -1.2627*^-14, 85.686}, {50.35, -11.083, 85.686}}], Polygon[{{51.555, 0., 85.686}, {50.35, 11.083, 85.686}, {59.103, 13.009, 79.609}, {60.517, 0., 79.609}}], Polygon[{{50.35, 11.083, 85.686}, {46.79, 21.648, 85.686}, {54.924, 25.411, 79.609}, {59.103, 13.009, 79.609}}], Polygon[{{46.79, 21.648, 85.686}, {41.043, 31.2, 85.686}, {48.177, 36.624, 79.609}, {54.924, 25.411, 79.609}}], Polygon[{{41.043, 31.2, 85.686}, {33.376, 39.294, 85.686}, {39.178, 46.124, 79.609}, {48.177, 36.624, 79.609}}], Polygon[{{33.376, 39.294, 85.686}, {24.149, 45.55, 85.686}, {28.347, 53.468, 79.609}, {39.178, 46.124, 79.609}}], Polygon[{{24.149, 45.55, 85.686}, {13.793, 49.676, 85.686}, {16.19, 58.312, 79.609}, {28.347, 53.468, 79.609}}], Polygon[{{13.793, 49.676, 85.686}, {2.7912, 51.48, 85.686}, {3.2763, 60.429, 79.609}, {16.19, 58.312, 79.609}}], Polygon[{{2.7912, 51.48, 85.686}, {-8.3407, 50.876, 85.686}, {-9.7906, 59.72, 79.609}, {3.2763, 60.429, 79.609}}], Polygon[{{-8.3407, 50.876, 85.686}, {-19.083, 47.894, 85.686}, {-22.4, 56.219, 79.609}, {-9.7906, 59.72, 79.609}}], Polygon[{{-19.083, 47.894, 85.686}, {-28.932, 42.672, 85.686}, {-33.962, 50.09, 79.609}, {-22.4, 56.219, 79.609}}], Polygon[{{-28.932, 42.672, 85.686}, {-37.429, 35.455, 85.686}, {-43.935, 41.618, 79.609}, {-33.962, 50.09, 79.609}}], Polygon[{{-37.429, 35.455, 85.686}, {-44.176, 26.58, 85.686}, {-51.855, 31.2, 79.609}, {-43.935, 41.618, 79.609}}], Polygon[{{-44.176, 26.58, 85.686}, {-48.857, 16.462, 85.686}, {-57.35, 19.323, 79.609}, {-51.855, 31.2, 79.609}}], Polygon[{{-48.857, 16.462, 85.686}, {-51.253, 5.5741, 85.686}, {-60.163, 6.5431, 79.609}, {-57.35, 19.323, 79.609}}], Polygon[{{-51.253, 5.5741, 85.686}, {-51.253, -5.5741, 85.686}, {-60.163, -6.5431, 79.609}, {-60.163, 6.5431, 79.609}}], Polygon[{{-51.253, -5.5741, 85.686}, {-48.857, -16.462, 85.686}, {-57.35, -19.323, 79.609}, {-60.163, -6.5431, 79.609}}], Polygon[{{-48.857, -16.462, 85.686}, {-44.176, -26.58, 85.686}, {-51.855, -31.2, 79.609}, {-57.35, -19.323, 79.609}}], Polygon[{{-44.176, -26.58, 85.686}, {-37.429, -35.455, 85.686}, {-43.935, -41.618, 79.609}, {-51.855, -31.2, 79.609}}], Polygon[{{-37.429, -35.455, 85.686}, {-28.932, -42.672, 85.686}, {-33.962, -50.09, 79.609}, {-43.935, -41.618, 79.609}}], Polygon[{{-28.932, -42.672, 85.686}, {-19.083, -47.894, 85.686}, {-22.4, -56.219, 79.609}, {-33.962, -50.09, 79.609}}], Polygon[{{-19.083, -47.894, 85.686}, {-8.3407, -50.876, 85.686}, {-9.7906, -59.72, 79.609}, {-22.4, -56.219, 79.609}}], Polygon[{{-8.3407, -50.876, 85.686}, {2.7912, -51.48, 85.686}, {3.2763, -60.429, 79.609}, {-9.7906, -59.72, 79.609}}], Polygon[{{2.7912, -51.48, 85.686}, {13.793, -49.676, 85.686}, {16.19, -58.312, 79.609}, {3.2763, -60.429, 79.609}}], Polygon[{{13.793, -49.676, 85.686}, {24.149, -45.55, 85.686}, {28.347, -53.468, 79.609}, {16.19, -58.312, 79.609}}], Polygon[{{24.149, -45.55, 85.686}, {33.376, -39.294, 85.686}, {39.178, -46.124, 79.609}, {28.347, -53.468, 79.609}}], Polygon[{{33.376, -39.294, 85.686}, {41.043, -31.2, 85.686}, {48.177, -36.624, 79.609}, {39.178, -46.124, 79.609}}], Polygon[{{41.043, -31.2, 85.686}, {46.79, -21.648, 85.686}, {54.924, -25.411, 79.609}, {48.177, -36.624, 79.609}}], Polygon[{{46.79, -21.648, 85.686}, {50.35, -11.083, 85.686}, {59.103, -13.009, 79.609}, {54.924, -25.411, 79.609}}], Polygon[{{50.35, -11.083, 85.686}, {51.555, -1.2627*^-14, 85.686}, {60.517, -1.4822*^-14, 79.609}, {59.103, -13.009, 79.609}}], Polygon[{{60.517, 0., 79.609}, {59.103, 13.009, 79.609}, {67.162, 14.784, 72.6}, {68.77, 0., 72.6}}], Polygon[{{59.103, 13.009, 79.609}, {54.924, 25.411, 79.609}, {62.414, 28.876, 72.6}, {67.162, 14.784, 72.6}}], Polygon[{{54.924, 25.411, 79.609}, {48.177, 36.624, 79.609}, {54.747, 41.618, 72.6}, {62.414, 28.876, 72.6}}], Polygon[{{48.177, 36.624, 79.609}, {39.178, 46.124, 79.609}, {44.521, 52.414, 72.6}, {54.747, 41.618, 72.6}}], Polygon[{{39.178, 46.124, 79.609}, {28.347, 53.468, 79.609}, {32.212, 60.759, 72.6}, {44.521, 52.414, 72.6}}], Polygon[{{28.347, 53.468, 79.609}, {16.19, 58.312, 79.609}, {18.398, 66.263, 72.6}, {32.212, 60.759, 72.6}}], Polygon[{{16.19, 58.312, 79.609}, {3.2763, 60.429, 79.609}, {3.7231, 68.669, 72.6}, {18.398, 66.263, 72.6}}], Polygon[{{3.2763, 60.429, 79.609}, {-9.7906, 59.72, 79.609}, {-11.126, 67.864, 72.6}, {3.7231, 68.669, 72.6}}], Polygon[{{-9.7906, 59.72, 79.609}, {-22.4, 56.219, 79.609}, {-25.454, 63.886, 72.6}, {-11.126, 67.864, 72.6}}], Polygon[{{-22.4, 56.219, 79.609}, {-33.962, 50.09, 79.609}, {-38.593, 56.92, 72.6}, {-25.454, 63.886, 72.6}}], Polygon[{{-33.962, 50.09, 79.609}, {-43.935, 41.618, 79.609}, {-49.927, 47.293, 72.6}, {-38.593, 56.92, 72.6}}], Polygon[{{-43.935, 41.618, 79.609}, {-51.855, 31.2, 79.609}, {-58.926, 35.455, 72.6}, {-49.927, 47.293, 72.6}}], Polygon[{{-51.855, 31.2, 79.609}, {-57.35, 19.323, 79.609}, {-65.17, 21.958, 72.6}, {-58.926, 35.455, 72.6}}], Polygon[{{-57.35, 19.323, 79.609}, {-60.163, 6.5431, 79.609}, {-68.367, 7.4353, 72.6}, {-65.17, 21.958, 72.6}}], Polygon[{{-60.163, 6.5431, 79.609}, {-60.163, -6.5431, 79.609}, {-68.367, -7.4353, 72.6}, {-68.367, 7.4353, 72.6}}], Polygon[{{-60.163, -6.5431, 79.609}, {-57.35, -19.323, 79.609}, {-65.17, -21.958, 72.6}, {-68.367, -7.4353, 72.6}}], Polygon[{{-57.35, -19.323, 79.609}, {-51.855, -31.2, 79.609}, {-58.926, -35.455, 72.6}, {-65.17, -21.958, 72.6}}], Polygon[{{-51.855, -31.2, 79.609}, {-43.935, -41.618, 79.609}, {-49.927, -47.293, 72.6}, {-58.926, -35.455, 72.6}}], Polygon[{{-43.935, -41.618, 79.609}, {-33.962, -50.09, 79.609}, {-38.593, -56.92, 72.6}, {-49.927, -47.293, 72.6}}], Polygon[{{-33.962, -50.09, 79.609}, {-22.4, -56.219, 79.609}, {-25.454, -63.886, 72.6}, {-38.593, -56.92, 72.6}}], Polygon[{{-22.4, -56.219, 79.609}, {-9.7906, -59.72, 79.609}, {-11.126, -67.864, 72.6}, {-25.454, -63.886, 72.6}}], Polygon[{{-9.7906, -59.72, 79.609}, {3.2763, -60.429, 79.609}, {3.7231, -68.669, 72.6}, {-11.126, -67.864, 72.6}}], Polygon[{{3.2763, -60.429, 79.609}, {16.19, -58.312, 79.609}, {18.398, -66.263, 72.6}, {3.7231, -68.669, 72.6}}], Polygon[{{16.19, -58.312, 79.609}, {28.347, -53.468, 79.609}, {32.212, -60.759, 72.6}, {18.398, -66.263, 72.6}}], Polygon[{{28.347, -53.468, 79.609}, {39.178, -46.124, 79.609}, {44.521, -52.414, 72.6}, {32.212, -60.759, 72.6}}], Polygon[{{39.178, -46.124, 79.609}, {48.177, -36.624, 79.609}, {54.747, -41.618, 72.6}, {44.521, -52.414, 72.6}}], Polygon[{{48.177, -36.624, 79.609}, {54.924, -25.411, 79.609}, {62.414, -28.876, 72.6}, {54.747, -41.618, 72.6}}], Polygon[{{54.924, -25.411, 79.609}, {59.103, -13.009, 79.609}, {67.162, -14.784, 72.6}, {62.414, -28.876, 72.6}}], Polygon[{{59.103, -13.009, 79.609}, {60.517, -1.4822*^-14, 79.609}, {68.77, -1.6843*^-14, 72.6}, {67.162, -14.784, 72.6}}], Polygon[{{68.77, 0., 72.6}, {67.162, 14.784, 72.6}, {74.434, 16.384, 64.739}, {76.216, 0., 64.739}}], Polygon[{{67.162, 14.784, 72.6}, {62.414, 28.876, 72.6}, {69.172, 32.002, 64.739}, {74.434, 16.384, 64.739}}], Polygon[{{62.414, 28.876, 72.6}, {54.747, 41.618, 72.6}, {60.675, 46.124, 64.739}, {69.172, 32.002, 64.739}}], Polygon[{{54.747, 41.618, 72.6}, {44.521, 52.414, 72.6}, {49.341, 58.089, 64.739}, {60.675, 46.124, 64.739}}], Polygon[{{44.521, 52.414, 72.6}, {32.212, 60.759, 72.6}, {35.7, 67.338, 64.739}, {49.341, 58.089, 64.739}}], Polygon[{{32.212, 60.759, 72.6}, {18.398, 66.263, 72.6}, {20.39, 73.438, 64.739}, {35.7, 67.338, 64.739}}], Polygon[{{18.398, 66.263, 72.6}, {3.7231, 68.669, 72.6}, {4.1263, 76.104, 64.739}, {20.39, 73.438, 64.739}}], Polygon[{{3.7231, 68.669, 72.6}, {-11.126, 67.864, 72.6}, {-12.33, 75.212, 64.739}, {4.1263, 76.104, 64.739}}], Polygon[{{-11.126, 67.864, 72.6}, {-25.454, 63.886, 72.6}, {-28.211, 70.803, 64.739}, {-12.33, 75.212, 64.739}}], Polygon[{{-25.454, 63.886, 72.6}, {-38.593, 56.92, 72.6}, {-42.772, 63.083, 64.739}, {-28.211, 70.803, 64.739}}], Polygon[{{-38.593, 56.92, 72.6}, {-49.927, 47.293, 72.6}, {-55.333, 52.414, 64.739}, {-42.772, 63.083, 64.739}}], Polygon[{{-49.927, 47.293, 72.6}, {-58.926, 35.455, 72.6}, {-65.306, 39.294, 64.739}, {-55.333, 52.414, 64.739}}], Polygon[{{-58.926, 35.455, 72.6}, {-65.17, 21.958, 72.6}, {-72.227, 24.336, 64.739}, {-65.306, 39.294, 64.739}}], Polygon[{{-65.17, 21.958, 72.6}, {-68.367, 7.4353, 72.6}, {-75.769, 8.2404, 64.739}, {-72.227, 24.336, 64.739}}], Polygon[{{-68.367, 7.4353, 72.6}, {-68.367, -7.4353, 72.6}, {-75.769, -8.2404, 64.739}, {-75.769, 8.2404, 64.739}}], Polygon[{{-68.367, -7.4353, 72.6}, {-65.17, -21.958, 72.6}, {-72.227, -24.336, 64.739}, {-75.769, -8.2404, 64.739}}], Polygon[{{-65.17, -21.958, 72.6}, {-58.926, -35.455, 72.6}, {-65.306, -39.294, 64.739}, {-72.227, -24.336, 64.739}}], Polygon[{{-58.926, -35.455, 72.6}, {-49.927, -47.293, 72.6}, {-55.333, -52.414, 64.739}, {-65.306, -39.294, 64.739}}], Polygon[{{-49.927, -47.293, 72.6}, {-38.593, -56.92, 72.6}, {-42.772, -63.083, 64.739}, {-55.333, -52.414, 64.739}}], Polygon[{{-38.593, -56.92, 72.6}, {-25.454, -63.886, 72.6}, {-28.211, -70.803, 64.739}, {-42.772, -63.083, 64.739}}], Polygon[{{-25.454, -63.886, 72.6}, {-11.126, -67.864, 72.6}, {-12.33, -75.212, 64.739}, {-28.211, -70.803, 64.739}}], Polygon[{{-11.126, -67.864, 72.6}, {3.7231, -68.669, 72.6}, {4.1263, -76.104, 64.739}, {-12.33, -75.212, 64.739}}], Polygon[{{3.7231, -68.669, 72.6}, {18.398, -66.263, 72.6}, {20.39, -73.438, 64.739}, {4.1263, -76.104, 64.739}}], Polygon[{{18.398, -66.263, 72.6}, {32.212, -60.759, 72.6}, {35.7, -67.338, 64.739}, {20.39, -73.438, 64.739}}], Polygon[{{32.212, -60.759, 72.6}, {44.521, -52.414, 72.6}, {49.341, -58.089, 64.739}, {35.7, -67.338, 64.739}}], Polygon[{{44.521, -52.414, 72.6}, {54.747, -41.618, 72.6}, {60.675, -46.124, 64.739}, {49.341, -58.089, 64.739}}], Polygon[{{54.747, -41.618, 72.6}, {62.414, -28.876, 72.6}, {69.172, -32.002, 64.739}, {60.675, -46.124, 64.739}}], Polygon[{{62.414, -28.876, 72.6}, {67.162, -14.784, 72.6}, {74.434, -16.384, 64.739}, {69.172, -32.002, 64.739}}], Polygon[{{67.162, -14.784, 72.6}, {68.77, -1.6843*^-14, 72.6}, {76.216, -1.8667*^-14, 64.739}, {74.434, -16.384, 64.739}}], Polygon[{{76.216, 0., 64.739}, {74.434, 16.384, 64.739}, {80.834, 17.793, 56.119}, {82.769, 0., 56.119}}], Polygon[{{74.434, 16.384, 64.739}, {69.172, 32.002, 64.739}, {75.119, 34.754, 56.119}, {80.834, 17.793, 56.119}}], Polygon[{{69.172, 32.002, 64.739}, {60.675, 46.124, 64.739}, {65.892, 50.09, 56.119}, {75.119, 34.754, 56.119}}], Polygon[{{60.675, 46.124, 64.739}, {49.341, 58.089, 64.739}, {53.583, 63.083, 56.119}, {65.892, 50.09, 56.119}}], Polygon[{{49.341, 58.089, 64.739}, {35.7, 67.338, 64.739}, {38.77, 73.127, 56.119}, {53.583, 63.083, 56.119}}], Polygon[{{35.7, 67.338, 64.739}, {20.39, 73.438, 64.739}, {22.143, 79.752, 56.119}, {38.77, 73.127, 56.119}}], Polygon[{{20.39, 73.438, 64.739}, {4.1263, 76.104, 64.739}, {4.481, 82.648, 56.119}, {22.143, 79.752, 56.119}}], Polygon[{{4.1263, 76.104, 64.739}, {-12.33, 75.212, 64.739}, {-13.391, 81.679, 56.119}, {4.481, 82.648, 56.119}}], Polygon[{{-12.33, 75.212, 64.739}, {-28.211, 70.803, 64.739}, {-30.636, 76.89, 56.119}, {-13.391, 81.679, 56.119}}], Polygon[{{-28.211, 70.803, 64.739}, {-42.772, 63.083, 64.739}, {-46.449, 68.507, 56.119}, {-30.636, 76.89, 56.119}}], Polygon[{{-42.772, 63.083, 64.739}, {-55.333, 52.414, 64.739}, {-60.09, 56.92, 56.119}, {-46.449, 68.507, 56.119}}], Polygon[{{-55.333, 52.414, 64.739}, {-65.306, 39.294, 64.739}, {-70.921, 42.672, 56.119}, {-60.09, 56.92, 56.119}}], Polygon[{{-65.306, 39.294, 64.739}, {-72.227, 24.336, 64.739}, {-78.436, 26.428, 56.119}, {-70.921, 42.672, 56.119}}], Polygon[{{-72.227, 24.336, 64.739}, {-75.769, 8.2404, 64.739}, {-82.284, 8.9489, 56.119}, {-78.436, 26.428, 56.119}}], Polygon[{{-75.769, 8.2404, 64.739}, {-75.769, -8.2404, 64.739}, {-82.284, -8.9489, 56.119}, {-82.284, 8.9489, 56.119}}], Polygon[{{-75.769, -8.2404, 64.739}, {-72.227, -24.336, 64.739}, {-78.436, -26.428, 56.119}, {-82.284, -8.9489, 56.119}}], Polygon[{{-72.227, -24.336, 64.739}, {-65.306, -39.294, 64.739}, {-70.921, -42.672, 56.119}, {-78.436, -26.428, 56.119}}], Polygon[{{-65.306, -39.294, 64.739}, {-55.333, -52.414, 64.739}, {-60.09, -56.92, 56.119}, {-70.921, -42.672, 56.119}}], Polygon[{{-55.333, -52.414, 64.739}, {-42.772, -63.083, 64.739}, {-46.449, -68.507, 56.119}, {-60.09, -56.92, 56.119}}], Polygon[{{-42.772, -63.083, 64.739}, {-28.211, -70.803, 64.739}, {-30.636, -76.89, 56.119}, {-46.449, -68.507, 56.119}}], Polygon[{{-28.211, -70.803, 64.739}, {-12.33, -75.212, 64.739}, {-13.391, -81.679, 56.119}, {-30.636, -76.89, 56.119}}], Polygon[{{-12.33, -75.212, 64.739}, {4.1263, -76.104, 64.739}, {4.481, -82.648, 56.119}, {-13.391, -81.679, 56.119}}], Polygon[{{4.1263, -76.104, 64.739}, {20.39, -73.438, 64.739}, {22.143, -79.752, 56.119}, {4.481, -82.648, 56.119}}], Polygon[{{20.39, -73.438, 64.739}, {35.7, -67.338, 64.739}, {38.77, -73.127, 56.119}, {22.143, -79.752, 56.119}}], Polygon[{{35.7, -67.338, 64.739}, {49.341, -58.089, 64.739}, {53.583, -63.083, 56.119}, {38.77, -73.127, 56.119}}], Polygon[{{49.341, -58.089, 64.739}, {60.675, -46.124, 64.739}, {65.892, -50.09, 56.119}, {53.583, -63.083, 56.119}}], Polygon[{{60.675, -46.124, 64.739}, {69.172, -32.002, 64.739}, {75.119, -34.754, 56.119}, {65.892, -50.09, 56.119}}], Polygon[{{69.172, -32.002, 64.739}, {74.434, -16.384, 64.739}, {80.834, -17.793, 56.119}, {75.119, -34.754, 56.119}}], Polygon[{{74.434, -16.384, 64.739}, {76.216, -1.8667*^-14, 64.739}, {82.769, -2.0272*^-14, 56.119}, {80.834, -17.793, 56.119}}], Polygon[{{82.769, 0., 56.119}, {80.834, 17.793, 56.119}, {86.286, 18.993, 46.841}, {88.351, 0., 46.841}}], Polygon[{{80.834, 17.793, 56.119}, {75.119, 34.754, 56.119}, {80.185, 37.098, 46.841}, {86.286, 18.993, 46.841}}], Polygon[{{75.119, 34.754, 56.119}, {65.892, 50.09, 56.119}, {70.336, 53.468, 46.841}, {80.185, 37.098, 46.841}}], Polygon[{{65.892, 50.09, 56.119}, {53.583, 63.083, 56.119}, {57.197, 67.338, 46.841}, {70.336, 53.468, 46.841}}], Polygon[{{53.583, 63.083, 56.119}, {38.77, 73.127, 56.119}, {41.384, 78.059, 46.841}, {57.197, 67.338, 46.841}}], Polygon[{{38.77, 73.127, 56.119}, {22.143, 79.752, 56.119}, {23.636, 85.131, 46.841}, {41.384, 78.059, 46.841}}], Polygon[{{22.143, 79.752, 56.119}, {4.481, 82.648, 56.119}, {4.7832, 88.222, 46.841}, {23.636, 85.131, 46.841}}], Polygon[{{4.481, 82.648, 56.119}, {-13.391, 81.679, 56.119}, {-14.294, 87.187, 46.841}, {4.7832, 88.222, 46.841}}], Polygon[{{-13.391, 81.679, 56.119}, {-30.636, 76.89, 56.119}, {-32.702, 82.076, 46.841}, {-14.294, 87.187, 46.841}}], Polygon[{{-30.636, 76.89, 56.119}, {-46.449, 68.507, 56.119}, {-49.582, 73.127, 46.841}, {-32.702, 82.076, 46.841}}], Polygon[{{-46.449, 68.507, 56.119}, {-60.09, 56.92, 56.119}, {-64.143, 60.759, 46.841}, {-49.582, 73.127, 46.841}}], Polygon[{{-60.09, 56.92, 56.119}, {-70.921, 42.672, 56.119}, {-75.704, 45.55, 46.841}, {-64.143, 60.759, 46.841}}], Polygon[{{-70.921, 42.672, 56.119}, {-78.436, 26.428, 56.119}, {-83.726, 28.211, 46.841}, {-75.704, 45.55, 46.841}}], Polygon[{{-78.436, 26.428, 56.119}, {-82.284, 8.9489, 56.119}, {-87.833, 9.5524, 46.841}, {-83.726, 28.211, 46.841}}], Polygon[{{-82.284, 8.9489, 56.119}, {-82.284, -8.9489, 56.119}, {-87.833, -9.5524, 46.841}, {-87.833, 9.5524, 46.841}}], Polygon[{{-82.284, -8.9489, 56.119}, {-78.436, -26.428, 56.119}, {-83.726, -28.211, 46.841}, {-87.833, -9.5524, 46.841}}], Polygon[{{-78.436, -26.428, 56.119}, {-70.921, -42.672, 56.119}, {-75.704, -45.55, 46.841}, {-83.726, -28.211, 46.841}}], Polygon[{{-70.921, -42.672, 56.119}, {-60.09, -56.92, 56.119}, {-64.143, -60.759, 46.841}, {-75.704, -45.55, 46.841}}], Polygon[{{-60.09, -56.92, 56.119}, {-46.449, -68.507, 56.119}, {-49.582, -73.127, 46.841}, {-64.143, -60.759, 46.841}}], Polygon[{{-46.449, -68.507, 56.119}, {-30.636, -76.89, 56.119}, {-32.702, -82.076, 46.841}, {-49.582, -73.127, 46.841}}], Polygon[{{-30.636, -76.89, 56.119}, {-13.391, -81.679, 56.119}, {-14.294, -87.187, 46.841}, {-32.702, -82.076, 46.841}}], Polygon[{{-13.391, -81.679, 56.119}, {4.481, -82.648, 56.119}, {4.7832, -88.222, 46.841}, {-14.294, -87.187, 46.841}}], Polygon[{{4.481, -82.648, 56.119}, {22.143, -79.752, 56.119}, {23.636, -85.131, 46.841}, {4.7832, -88.222, 46.841}}], Polygon[{{22.143, -79.752, 56.119}, {38.77, -73.127, 56.119}, {41.384, -78.059, 46.841}, {23.636, -85.131, 46.841}}], Polygon[{{38.77, -73.127, 56.119}, {53.583, -63.083, 56.119}, {57.197, -67.338, 46.841}, {41.384, -78.059, 46.841}}], Polygon[{{53.583, -63.083, 56.119}, {65.892, -50.09, 56.119}, {70.336, -53.468, 46.841}, {57.197, -67.338, 46.841}}], Polygon[{{65.892, -50.09, 56.119}, {75.119, -34.754, 56.119}, {80.185, -37.098, 46.841}, {70.336, -53.468, 46.841}}], Polygon[{{75.119, -34.754, 56.119}, {80.834, -17.793, 56.119}, {86.286, -18.993, 46.841}, {80.185, -37.098, 46.841}}], Polygon[{{80.834, -17.793, 56.119}, {82.769, -2.0272*^-14, 56.119}, {88.351, -2.1639*^-14, 46.841}, {86.286, -18.993, 46.841}}], Polygon[{{88.351, 0., 46.841}, {86.286, 18.993, 46.841}, {90.726, 19.97, 37.014}, {92.898, 0., 37.014}}], Polygon[{{86.286, 18.993, 46.841}, {80.185, 37.098, 46.841}, {84.312, 39.007, 37.014}, {90.726, 19.97, 37.014}}], Polygon[{{80.185, 37.098, 46.841}, {70.336, 53.468, 46.841}, {73.955, 56.219, 37.014}, {84.312, 39.007, 37.014}}], Polygon[{{70.336, 53.468, 46.841}, {57.197, 67.338, 46.841}, {60.141, 70.803, 37.014}, {73.955, 56.219, 37.014}}], Polygon[{{57.197, 67.338, 46.841}, {41.384, 78.059, 46.841}, {43.514, 82.076, 37.014}, {60.141, 70.803, 37.014}}], Polygon[{{41.384, 78.059, 46.841}, {23.636, 85.131, 46.841}, {24.853, 89.512, 37.014}, {43.514, 82.076, 37.014}}], Polygon[{{23.636, 85.131, 46.841}, {4.7832, 88.222, 46.841}, {5.0294, 92.761, 37.014}, {24.853, 89.512, 37.014}}], Polygon[{{4.7832, 88.222, 46.841}, {-14.294, 87.187, 46.841}, {-15.029, 91.674, 37.014}, {5.0294, 92.761, 37.014}}], Polygon[{{-14.294, 87.187, 46.841}, {-32.702, 82.076, 46.841}, {-34.385, 86.3, 37.014}, {-15.029, 91.674, 37.014}}], Polygon[{{-32.702, 82.076, 46.841}, {-49.582, 73.127, 46.841}, {-52.133, 76.89, 37.014}, {-34.385, 86.3, 37.014}}], Polygon[{{-49.582, 73.127, 46.841}, {-64.143, 60.759, 46.841}, {-67.443, 63.886, 37.014}, {-52.133, 76.89, 37.014}}], Polygon[{{-64.143, 60.759, 46.841}, {-75.704, 45.55, 46.841}, {-79.6, 47.894, 37.014}, {-67.443, 63.886, 37.014}}], Polygon[{{-75.704, 45.55, 46.841}, {-83.726, 28.211, 46.841}, {-88.035, 29.662, 37.014}, {-79.6, 47.894, 37.014}}], Polygon[{{-83.726, 28.211, 46.841}, {-87.833, 9.5524, 46.841}, {-92.353, 10.044, 37.014}, {-88.035, 29.662, 37.014}}], Polygon[{{-87.833, 9.5524, 46.841}, {-87.833, -9.5524, 46.841}, {-92.353, -10.044, 37.014}, {-92.353, 10.044, 37.014}}], Polygon[{{-87.833, -9.5524, 46.841}, {-83.726, -28.211, 46.841}, {-88.035, -29.662, 37.014}, {-92.353, -10.044, 37.014}}], Polygon[{{-83.726, -28.211, 46.841}, {-75.704, -45.55, 46.841}, {-79.6, -47.894, 37.014}, {-88.035, -29.662, 37.014}}], Polygon[{{-75.704, -45.55, 46.841}, {-64.143, -60.759, 46.841}, {-67.443, -63.886, 37.014}, {-79.6, -47.894, 37.014}}], Polygon[{{-64.143, -60.759, 46.841}, {-49.582, -73.127, 46.841}, {-52.133, -76.89, 37.014}, {-67.443, -63.886, 37.014}}], Polygon[{{-49.582, -73.127, 46.841}, {-32.702, -82.076, 46.841}, {-34.385, -86.3, 37.014}, {-52.133, -76.89, 37.014}}], Polygon[{{-32.702, -82.076, 46.841}, {-14.294, -87.187, 46.841}, {-15.029, -91.674, 37.014}, {-34.385, -86.3, 37.014}}], Polygon[{{-14.294, -87.187, 46.841}, {4.7832, -88.222, 46.841}, {5.0294, -92.761, 37.014}, {-15.029, -91.674, 37.014}}], Polygon[{{4.7832, -88.222, 46.841}, {23.636, -85.131, 46.841}, {24.853, -89.512, 37.014}, {5.0294, -92.761, 37.014}}], Polygon[{{23.636, -85.131, 46.841}, {41.384, -78.059, 46.841}, {43.514, -82.076, 37.014}, {24.853, -89.512, 37.014}}], Polygon[{{41.384, -78.059, 46.841}, {57.197, -67.338, 46.841}, {60.141, -70.803, 37.014}, {43.514, -82.076, 37.014}}], Polygon[{{57.197, -67.338, 46.841}, {70.336, -53.468, 46.841}, {73.955, -56.219, 37.014}, {60.141, -70.803, 37.014}}], Polygon[{{70.336, -53.468, 46.841}, {80.185, -37.098, 46.841}, {84.312, -39.007, 37.014}, {73.955, -56.219, 37.014}}], Polygon[{{80.185, -37.098, 46.841}, {86.286, -18.993, 46.841}, {90.726, -19.97, 37.014}, {84.312, -39.007, 37.014}}], Polygon[{{86.286, -18.993, 46.841}, {88.351, -2.1639*^-14, 46.841}, {92.898, -2.2753*^-14, 37.014}, {90.726, -19.97, 37.014}}], Polygon[{{92.898, 0., 37.014}, {90.726, 19.97, 37.014}, {94.102, 20.713, 26.753}, {96.355, 0., 26.753}}], Polygon[{{90.726, 19.97, 37.014}, {84.312, 39.007, 37.014}, {87.449, 40.458, 26.753}, {94.102, 20.713, 26.753}}], Polygon[{{84.312, 39.007, 37.014}, {73.955, 56.219, 37.014}, {76.708, 58.312, 26.753}, {87.449, 40.458, 26.753}}], Polygon[{{73.955, 56.219, 37.014}, {60.141, 70.803, 37.014}, {62.379, 73.438, 26.753}, {76.708, 58.312, 26.753}}], Polygon[{{60.141, 70.803, 37.014}, {43.514, 82.076, 37.014}, {45.133, 85.131, 26.753}, {62.379, 73.438, 26.753}}], Polygon[{{43.514, 82.076, 37.014}, {24.853, 89.512, 37.014}, {25.778, 92.843, 26.753}, {45.133, 85.131, 26.753}}], Polygon[{{24.853, 89.512, 37.014}, {5.0294, 92.761, 37.014}, {5.2166, 96.214, 26.753}, {25.778, 92.843, 26.753}}], Polygon[{{5.0294, 92.761, 37.014}, {-15.029, 91.674, 37.014}, {-15.589, 95.086, 26.753}, {5.2166, 96.214, 26.753}}], Polygon[{{-15.029, 91.674, 37.014}, {-34.385, 86.3, 37.014}, {-35.665, 89.512, 26.753}, {-15.589, 95.086, 26.753}}], Polygon[{{-34.385, 86.3, 37.014}, {-52.133, 76.89, 37.014}, {-54.073, 79.752, 26.753}, {-35.665, 89.512, 26.753}}], Polygon[{{-52.133, 76.89, 37.014}, {-67.443, 63.886, 37.014}, {-69.953, 66.263, 26.753}, {-54.073, 79.752, 26.753}}], Polygon[{{-67.443, 63.886, 37.014}, {-79.6, 47.894, 37.014}, {-82.562, 49.676, 26.753}, {-69.953, 66.263, 26.753}}], Polygon[{{-79.6, 47.894, 37.014}, {-88.035, 29.662, 37.014}, {-91.311, 30.766, 26.753}, {-82.562, 49.676, 26.753}}], Polygon[{{-88.035, 29.662, 37.014}, {-92.353, 10.044, 37.014}, {-95.79, 10.418, 26.753}, {-91.311, 30.766, 26.753}}], Polygon[{{-92.353, 10.044, 37.014}, {-92.353, -10.044, 37.014}, {-95.79, -10.418, 26.753}, {-95.79, 10.418, 26.753}}], Polygon[{{-92.353, -10.044, 37.014}, {-88.035, -29.662, 37.014}, {-91.311, -30.766, 26.753}, {-95.79, -10.418, 26.753}}], Polygon[{{-88.035, -29.662, 37.014}, {-79.6, -47.894, 37.014}, {-82.562, -49.676, 26.753}, {-91.311, -30.766, 26.753}}], Polygon[{{-79.6, -47.894, 37.014}, {-67.443, -63.886, 37.014}, {-69.953, -66.263, 26.753}, {-82.562, -49.676, 26.753}}], Polygon[{{-67.443, -63.886, 37.014}, {-52.133, -76.89, 37.014}, {-54.073, -79.752, 26.753}, {-69.953, -66.263, 26.753}}], Polygon[{{-52.133, -76.89, 37.014}, {-34.385, -86.3, 37.014}, {-35.665, -89.512, 26.753}, {-54.073, -79.752, 26.753}}], Polygon[{{-34.385, -86.3, 37.014}, {-15.029, -91.674, 37.014}, {-15.589, -95.086, 26.753}, {-35.665, -89.512, 26.753}}], Polygon[{{-15.029, -91.674, 37.014}, {5.0294, -92.761, 37.014}, {5.2166, -96.214, 26.753}, {-15.589, -95.086, 26.753}}], Polygon[{{5.0294, -92.761, 37.014}, {24.853, -89.512, 37.014}, {25.778, -92.843, 26.753}, {5.2166, -96.214, 26.753}}], Polygon[{{24.853, -89.512, 37.014}, {43.514, -82.076, 37.014}, {45.133, -85.131, 26.753}, {25.778, -92.843, 26.753}}], Polygon[{{43.514, -82.076, 37.014}, {60.141, -70.803, 37.014}, {62.379, -73.438, 26.753}, {45.133, -85.131, 26.753}}], Polygon[{{60.141, -70.803, 37.014}, {73.955, -56.219, 37.014}, {76.708, -58.312, 26.753}, {62.379, -73.438, 26.753}}], Polygon[{{73.955, -56.219, 37.014}, {84.312, -39.007, 37.014}, {87.449, -40.458, 26.753}, {76.708, -58.312, 26.753}}], Polygon[{{84.312, -39.007, 37.014}, {90.726, -19.97, 37.014}, {94.102, -20.713, 26.753}, {87.449, -40.458, 26.753}}], Polygon[{{90.726, -19.97, 37.014}, {92.898, -2.2753*^-14, 37.014}, {96.355, -2.3599*^-14, 26.753}, {94.102, -20.713, 26.753}}], Polygon[{{96.355, 0., 26.753}, {94.102, 20.713, 26.753}, {96.376, 21.214, 16.178}, {98.683, 0., 16.178}}], Polygon[{{94.102, 20.713, 26.753}, {87.449, 40.458, 26.753}, {89.562, 41.436, 16.178}, {96.376, 21.214, 16.178}}], Polygon[{{87.449, 40.458, 26.753}, {76.708, 58.312, 26.753}, {78.561, 59.72, 16.178}, {89.562, 41.436, 16.178}}], Polygon[{{76.708, 58.312, 26.753}, {62.379, 73.438, 26.753}, {63.886, 75.212, 16.178}, {78.561, 59.72, 16.178}}], Polygon[{{62.379, 73.438, 26.753}, {45.133, 85.131, 26.753}, {46.224, 87.187, 16.178}, {63.886, 75.212, 16.178}}], Polygon[{{45.133, 85.131, 26.753}, {25.778, 92.843, 26.753}, {26.4, 95.086, 16.178}, {46.224, 87.187, 16.178}}], Polygon[{{25.778, 92.843, 26.753}, {5.2166, 96.214, 26.753}, {5.3426, 98.538, 16.178}, {26.4, 95.086, 16.178}}], Polygon[{{5.2166, 96.214, 26.753}, {-15.589, 95.086, 26.753}, {-15.965, 97.383, 16.178}, {5.3426, 98.538, 16.178}}], Polygon[{{-15.589, 95.086, 26.753}, {-35.665, 89.512, 26.753}, {-36.526, 91.674, 16.178}, {-15.965, 97.383, 16.178}}], Polygon[{{-35.665, 89.512, 26.753}, {-54.073, 79.752, 26.753}, {-55.379, 81.679, 16.178}, {-36.526, 91.674, 16.178}}], Polygon[{{-54.073, 79.752, 26.753}, {-69.953, 66.263, 26.753}, {-71.643, 67.864, 16.178}, {-55.379, 81.679, 16.178}}], Polygon[{{-69.953, 66.263, 26.753}, {-82.562, 49.676, 26.753}, {-84.557, 50.876, 16.178}, {-71.643, 67.864, 16.178}}], Polygon[{{-82.562, 49.676, 26.753}, {-91.311, 30.766, 26.753}, {-93.517, 31.51, 16.178}, {-84.557, 50.876, 16.178}}], Polygon[{{-91.311, 30.766, 26.753}, {-95.79, 10.418, 26.753}, {-98.104, 10.669, 16.178}, {-93.517, 31.51, 16.178}}], Polygon[{{-95.79, 10.418, 26.753}, {-95.79, -10.418, 26.753}, {-98.104, -10.669, 16.178}, {-98.104, 10.669, 16.178}}], Polygon[{{-95.79, -10.418, 26.753}, {-91.311, -30.766, 26.753}, {-93.517, -31.51, 16.178}, {-98.104, -10.669, 16.178}}], Polygon[{{-91.311, -30.766, 26.753}, {-82.562, -49.676, 26.753}, {-84.557, -50.876, 16.178}, {-93.517, -31.51, 16.178}}], Polygon[{{-82.562, -49.676, 26.753}, {-69.953, -66.263, 26.753}, {-71.643, -67.864, 16.178}, {-84.557, -50.876, 16.178}}], Polygon[{{-69.953, -66.263, 26.753}, {-54.073, -79.752, 26.753}, {-55.379, -81.679, 16.178}, {-71.643, -67.864, 16.178}}], Polygon[{{-54.073, -79.752, 26.753}, {-35.665, -89.512, 26.753}, {-36.526, -91.674, 16.178}, {-55.379, -81.679, 16.178}}], Polygon[{{-35.665, -89.512, 26.753}, {-15.589, -95.086, 26.753}, {-15.965, -97.383, 16.178}, {-36.526, -91.674, 16.178}}], Polygon[{{-15.589, -95.086, 26.753}, {5.2166, -96.214, 26.753}, {5.3426, -98.538, 16.178}, {-15.965, -97.383, 16.178}}], Polygon[{{5.2166, -96.214, 26.753}, {25.778, -92.843, 26.753}, {26.4, -95.086, 16.178}, {5.3426, -98.538, 16.178}}], Polygon[{{25.778, -92.843, 26.753}, {45.133, -85.131, 26.753}, {46.224, -87.187, 16.178}, {26.4, -95.086, 16.178}}], Polygon[{{45.133, -85.131, 26.753}, {62.379, -73.438, 26.753}, {63.886, -75.212, 16.178}, {46.224, -87.187, 16.178}}], Polygon[{{62.379, -73.438, 26.753}, {76.708, -58.312, 26.753}, {78.561, -59.72, 16.178}, {63.886, -75.212, 16.178}}], Polygon[{{76.708, -58.312, 26.753}, {87.449, -40.458, 26.753}, {89.562, -41.436, 16.178}, {78.561, -59.72, 16.178}}], Polygon[{{87.449, -40.458, 26.753}, {94.102, -20.713, 26.753}, {96.376, -21.214, 16.178}, {89.562, -41.436, 16.178}}], Polygon[{{94.102, -20.713, 26.753}, {96.355, -2.3599*^-14, 26.753}, {98.683, -2.4169*^-14, 16.178}, {96.376, -21.214, 16.178}}], Polygon[{{98.683, 0., 16.178}, {96.376, 21.214, 16.178}, {97.519, 21.466, 5.4139}, {99.853, 0., 5.4139}}], Polygon[{{96.376, 21.214, 16.178}, {89.562, 41.436, 16.178}, {90.624, 41.927, 5.4139}, {97.519, 21.466, 5.4139}}], Polygon[{{89.562, 41.436, 16.178}, {78.561, 59.72, 16.178}, {79.493, 60.429, 5.4139}, {90.624, 41.927, 5.4139}}], Polygon[{{78.561, 59.72, 16.178}, {63.886, 75.212, 16.178}, {64.644, 76.104, 5.4139}, {79.493, 60.429, 5.4139}}], Polygon[{{63.886, 75.212, 16.178}, {46.224, 87.187, 16.178}, {46.772, 88.222, 5.4139}, {64.644, 76.104, 5.4139}}], Polygon[{{46.224, 87.187, 16.178}, {26.4, 95.086, 16.178}, {26.714, 96.214, 5.4139}, {46.772, 88.222, 5.4139}}], Polygon[{{26.4, 95.086, 16.178}, {5.3426, 98.538, 16.178}, {5.406, 99.707, 5.4139}, {26.714, 96.214, 5.4139}}], Polygon[{{5.3426, 98.538, 16.178}, {-15.965, 97.383, 16.178}, {-16.154, 98.538, 5.4139}, {5.406, 99.707, 5.4139}}], Polygon[{{-15.965, 97.383, 16.178}, {-36.526, 91.674, 16.178}, {-36.96, 92.761, 5.4139}, {-16.154, 98.538, 5.4139}}], Polygon[{{-36.526, 91.674, 16.178}, {-55.379, 81.679, 16.178}, {-56.036, 82.648, 5.4139}, {-36.96, 92.761, 5.4139}}], Polygon[{{-55.379, 81.679, 16.178}, {-71.643, 67.864, 16.178}, {-72.493, 68.669, 5.4139}, {-56.036, 82.648, 5.4139}}], Polygon[{{-71.643, 67.864, 16.178}, {-84.557, 50.876, 16.178}, {-85.56, 51.48, 5.4139}, {-72.493, 68.669, 5.4139}}], Polygon[{{-84.557, 50.876, 16.178}, {-93.517, 31.51, 16.178}, {-94.626, 31.883, 5.4139}, {-85.56, 51.48, 5.4139}}], Polygon[{{-93.517, 31.51, 16.178}, {-98.104, 10.669, 16.178}, {-99.268, 10.796, 5.4139}, {-94.626, 31.883, 5.4139}}], Polygon[{{-98.104, 10.669, 16.178}, {-98.104, -10.669, 16.178}, {-99.268, -10.796, 5.4139}, {-99.268, 10.796, 5.4139}}], Polygon[{{-98.104, -10.669, 16.178}, {-93.517, -31.51, 16.178}, {-94.626, -31.883, 5.4139}, {-99.268, -10.796, 5.4139}}], Polygon[{{-93.517, -31.51, 16.178}, {-84.557, -50.876, 16.178}, {-85.56, -51.48, 5.4139}, {-94.626, -31.883, 5.4139}}], Polygon[{{-84.557, -50.876, 16.178}, {-71.643, -67.864, 16.178}, {-72.493, -68.669, 5.4139}, {-85.56, -51.48, 5.4139}}], Polygon[{{-71.643, -67.864, 16.178}, {-55.379, -81.679, 16.178}, {-56.036, -82.648, 5.4139}, {-72.493, -68.669, 5.4139}}], Polygon[{{-55.379, -81.679, 16.178}, {-36.526, -91.674, 16.178}, {-36.96, -92.761, 5.4139}, {-56.036, -82.648, 5.4139}}], Polygon[{{-36.526, -91.674, 16.178}, {-15.965, -97.383, 16.178}, {-16.154, -98.538, 5.4139}, {-36.96, -92.761, 5.4139}}], Polygon[{{-15.965, -97.383, 16.178}, {5.3426, -98.538, 16.178}, {5.406, -99.707, 5.4139}, {-16.154, -98.538, 5.4139}}], Polygon[{{5.3426, -98.538, 16.178}, {26.4, -95.086, 16.178}, {26.714, -96.214, 5.4139}, {5.406, -99.707, 5.4139}}], Polygon[{{26.4, -95.086, 16.178}, {46.224, -87.187, 16.178}, {46.772, -88.222, 5.4139}, {26.714, -96.214, 5.4139}}], Polygon[{{46.224, -87.187, 16.178}, {63.886, -75.212, 16.178}, {64.644, -76.104, 5.4139}, {46.772, -88.222, 5.4139}}], Polygon[{{63.886, -75.212, 16.178}, {78.561, -59.72, 16.178}, {79.493, -60.429, 5.4139}, {64.644, -76.104, 5.4139}}], Polygon[{{78.561, -59.72, 16.178}, {89.562, -41.436, 16.178}, {90.624, -41.927, 5.4139}, {79.493, -60.429, 5.4139}}], Polygon[{{89.562, -41.436, 16.178}, {96.376, -21.214, 16.178}, {97.519, -21.466, 5.4139}, {90.624, -41.927, 5.4139}}], Polygon[{{96.376, -21.214, 16.178}, {98.683, -2.4169*^-14, 16.178}, {99.853, -2.4456*^-14, 5.4139}, {97.519, -21.466, 5.4139}}], Polygon[{{99.853, 0., 5.4139}, {97.519, 21.466, 5.4139}, {97.519, 21.466, -5.4139}, {99.853, 0., -5.4139}}], Polygon[{{97.519, 21.466, 5.4139}, {90.624, 41.927, 5.4139}, {90.624, 41.927, -5.4139}, {97.519, 21.466, -5.4139}}], Polygon[{{90.624, 41.927, 5.4139}, {79.493, 60.429, 5.4139}, {79.493, 60.429, -5.4139}, {90.624, 41.927, -5.4139}}], Polygon[{{79.493, 60.429, 5.4139}, {64.644, 76.104, 5.4139}, {64.644, 76.104, -5.4139}, {79.493, 60.429, -5.4139}}], Polygon[{{64.644, 76.104, 5.4139}, {46.772, 88.222, 5.4139}, {46.772, 88.222, -5.4139}, {64.644, 76.104, -5.4139}}], Polygon[{{46.772, 88.222, 5.4139}, {26.714, 96.214, 5.4139}, {26.714, 96.214, -5.4139}, {46.772, 88.222, -5.4139}}], Polygon[{{26.714, 96.214, 5.4139}, {5.406, 99.707, 5.4139}, {5.406, 99.707, -5.4139}, {26.714, 96.214, -5.4139}}], Polygon[{{5.406, 99.707, 5.4139}, {-16.154, 98.538, 5.4139}, {-16.154, 98.538, -5.4139}, {5.406, 99.707, -5.4139}}], Polygon[{{-16.154, 98.538, 5.4139}, {-36.96, 92.761, 5.4139}, {-36.96, 92.761, -5.4139}, {-16.154, 98.538, -5.4139}}], Polygon[{{-36.96, 92.761, 5.4139}, {-56.036, 82.648, 5.4139}, {-56.036, 82.648, -5.4139}, {-36.96, 92.761, -5.4139}}], Polygon[{{-56.036, 82.648, 5.4139}, {-72.493, 68.669, 5.4139}, {-72.493, 68.669, -5.4139}, {-56.036, 82.648, -5.4139}}], Polygon[{{-72.493, 68.669, 5.4139}, {-85.56, 51.48, 5.4139}, {-85.56, 51.48, -5.4139}, {-72.493, 68.669, -5.4139}}], Polygon[{{-85.56, 51.48, 5.4139}, {-94.626, 31.883, 5.4139}, {-94.626, 31.883, -5.4139}, {-85.56, 51.48, -5.4139}}], Polygon[{{-94.626, 31.883, 5.4139}, {-99.268, 10.796, 5.4139}, {-99.268, 10.796, -5.4139}, {-94.626, 31.883, -5.4139}}], Polygon[{{-99.268, 10.796, 5.4139}, {-99.268, -10.796, 5.4139}, {-99.268, -10.796, -5.4139}, {-99.268, 10.796, -5.4139}}], Polygon[{{-99.268, -10.796, 5.4139}, {-94.626, -31.883, 5.4139}, {-94.626, -31.883, -5.4139}, {-99.268, -10.796, -5.4139}}], Polygon[{{-94.626, -31.883, 5.4139}, {-85.56, -51.48, 5.4139}, {-85.56, -51.48, -5.4139}, {-94.626, -31.883, -5.4139}}], Polygon[{{-85.56, -51.48, 5.4139}, {-72.493, -68.669, 5.4139}, {-72.493, -68.669, -5.4139}, {-85.56, -51.48, -5.4139}}], Polygon[{{-72.493, -68.669, 5.4139}, {-56.036, -82.648, 5.4139}, {-56.036, -82.648, -5.4139}, {-72.493, -68.669, -5.4139}}], Polygon[{{-56.036, -82.648, 5.4139}, {-36.96, -92.761, 5.4139}, {-36.96, -92.761, -5.4139}, {-56.036, -82.648, -5.4139}}], Polygon[{{-36.96, -92.761, 5.4139}, {-16.154, -98.538, 5.4139}, {-16.154, -98.538, -5.4139}, {-36.96, -92.761, -5.4139}}], Polygon[{{-16.154, -98.538, 5.4139}, {5.406, -99.707, 5.4139}, {5.406, -99.707, -5.4139}, {-16.154, -98.538, -5.4139}}], Polygon[{{5.406, -99.707, 5.4139}, {26.714, -96.214, 5.4139}, {26.714, -96.214, -5.4139}, {5.406, -99.707, -5.4139}}], Polygon[{{26.714, -96.214, 5.4139}, {46.772, -88.222, 5.4139}, {46.772, -88.222, -5.4139}, {26.714, -96.214, -5.4139}}], Polygon[{{46.772, -88.222, 5.4139}, {64.644, -76.104, 5.4139}, {64.644, -76.104, -5.4139}, {46.772, -88.222, -5.4139}}], Polygon[{{64.644, -76.104, 5.4139}, {79.493, -60.429, 5.4139}, {79.493, -60.429, -5.4139}, {64.644, -76.104, -5.4139}}], Polygon[{{79.493, -60.429, 5.4139}, {90.624, -41.927, 5.4139}, {90.624, -41.927, -5.4139}, {79.493, -60.429, -5.4139}}], Polygon[{{90.624, -41.927, 5.4139}, {97.519, -21.466, 5.4139}, {97.519, -21.466, -5.4139}, {90.624, -41.927, -5.4139}}], Polygon[{{97.519, -21.466, 5.4139}, {99.853, -2.4456*^-14, 5.4139}, {99.853, -2.4456*^-14, -5.4139}, {97.519, -21.466, -5.4139}}], Polygon[{{99.853, 0., -5.4139}, {97.519, 21.466, -5.4139}, {96.376, 21.214, -16.178}, {98.683, 0., -16.178}}], Polygon[{{97.519, 21.466, -5.4139}, {90.624, 41.927, -5.4139}, {89.562, 41.436, -16.178}, {96.376, 21.214, -16.178}}], Polygon[{{90.624, 41.927, -5.4139}, {79.493, 60.429, -5.4139}, {78.561, 59.72, -16.178}, {89.562, 41.436, -16.178}}], Polygon[{{79.493, 60.429, -5.4139}, {64.644, 76.104, -5.4139}, {63.886, 75.212, -16.178}, {78.561, 59.72, -16.178}}], Polygon[{{64.644, 76.104, -5.4139}, {46.772, 88.222, -5.4139}, {46.224, 87.187, -16.178}, {63.886, 75.212, -16.178}}], Polygon[{{46.772, 88.222, -5.4139}, {26.714, 96.214, -5.4139}, {26.4, 95.086, -16.178}, {46.224, 87.187, -16.178}}], Polygon[{{26.714, 96.214, -5.4139}, {5.406, 99.707, -5.4139}, {5.3426, 98.538, -16.178}, {26.4, 95.086, -16.178}}], Polygon[{{5.406, 99.707, -5.4139}, {-16.154, 98.538, -5.4139}, {-15.965, 97.383, -16.178}, {5.3426, 98.538, -16.178}}], Polygon[{{-16.154, 98.538, -5.4139}, {-36.96, 92.761, -5.4139}, {-36.526, 91.674, -16.178}, {-15.965, 97.383, -16.178}}], Polygon[{{-36.96, 92.761, -5.4139}, {-56.036, 82.648, -5.4139}, {-55.379, 81.679, -16.178}, {-36.526, 91.674, -16.178}}], Polygon[{{-56.036, 82.648, -5.4139}, {-72.493, 68.669, -5.4139}, {-71.643, 67.864, -16.178}, {-55.379, 81.679, -16.178}}], Polygon[{{-72.493, 68.669, -5.4139}, {-85.56, 51.48, -5.4139}, {-84.557, 50.876, -16.178}, {-71.643, 67.864, -16.178}}], Polygon[{{-85.56, 51.48, -5.4139}, {-94.626, 31.883, -5.4139}, {-93.517, 31.51, -16.178}, {-84.557, 50.876, -16.178}}], Polygon[{{-94.626, 31.883, -5.4139}, {-99.268, 10.796, -5.4139}, {-98.104, 10.669, -16.178}, {-93.517, 31.51, -16.178}}], Polygon[{{-99.268, 10.796, -5.4139}, {-99.268, -10.796, -5.4139}, {-98.104, -10.669, -16.178}, {-98.104, 10.669, -16.178}}], Polygon[{{-99.268, -10.796, -5.4139}, {-94.626, -31.883, -5.4139}, {-93.517, -31.51, -16.178}, {-98.104, -10.669, -16.178}}], Polygon[{{-94.626, -31.883, -5.4139}, {-85.56, -51.48, -5.4139}, {-84.557, -50.876, -16.178}, {-93.517, -31.51, -16.178}}], Polygon[{{-85.56, -51.48, -5.4139}, {-72.493, -68.669, -5.4139}, {-71.643, -67.864, -16.178}, {-84.557, -50.876, -16.178}}], Polygon[{{-72.493, -68.669, -5.4139}, {-56.036, -82.648, -5.4139}, {-55.379, -81.679, -16.178}, {-71.643, -67.864, -16.178}}], Polygon[{{-56.036, -82.648, -5.4139}, {-36.96, -92.761, -5.4139}, {-36.526, -91.674, -16.178}, {-55.379, -81.679, -16.178}}], Polygon[{{-36.96, -92.761, -5.4139}, {-16.154, -98.538, -5.4139}, {-15.965, -97.383, -16.178}, {-36.526, -91.674, -16.178}}], Polygon[{{-16.154, -98.538, -5.4139}, {5.406, -99.707, -5.4139}, {5.3426, -98.538, -16.178}, {-15.965, -97.383, -16.178}}], Polygon[{{5.406, -99.707, -5.4139}, {26.714, -96.214, -5.4139}, {26.4, -95.086, -16.178}, {5.3426, -98.538, -16.178}}], Polygon[{{26.714, -96.214, -5.4139}, {46.772, -88.222, -5.4139}, {46.224, -87.187, -16.178}, {26.4, -95.086, -16.178}}], Polygon[{{46.772, -88.222, -5.4139}, {64.644, -76.104, -5.4139}, {63.886, -75.212, -16.178}, {46.224, -87.187, -16.178}}], Polygon[{{64.644, -76.104, -5.4139}, {79.493, -60.429, -5.4139}, {78.561, -59.72, -16.178}, {63.886, -75.212, -16.178}}], Polygon[{{79.493, -60.429, -5.4139}, {90.624, -41.927, -5.4139}, {89.562, -41.436, -16.178}, {78.561, -59.72, -16.178}}], Polygon[{{90.624, -41.927, -5.4139}, {97.519, -21.466, -5.4139}, {96.376, -21.214, -16.178}, {89.562, -41.436, -16.178}}], Polygon[{{97.519, -21.466, -5.4139}, {99.853, -2.4456*^-14, -5.4139}, {98.683, -2.4169*^-14, -16.178}, {96.376, -21.214, -16.178}}], Polygon[{{98.683, 0., -16.178}, {96.376, 21.214, -16.178}, {94.102, 20.713, -26.753}, {96.355, 0., -26.753}}], Polygon[{{96.376, 21.214, -16.178}, {89.562, 41.436, -16.178}, {87.449, 40.458, -26.753}, {94.102, 20.713, -26.753}}], Polygon[{{89.562, 41.436, -16.178}, {78.561, 59.72, -16.178}, {76.708, 58.312, -26.753}, {87.449, 40.458, -26.753}}], Polygon[{{78.561, 59.72, -16.178}, {63.886, 75.212, -16.178}, {62.379, 73.438, -26.753}, {76.708, 58.312, -26.753}}], Polygon[{{63.886, 75.212, -16.178}, {46.224, 87.187, -16.178}, {45.133, 85.131, -26.753}, {62.379, 73.438, -26.753}}], Polygon[{{46.224, 87.187, -16.178}, {26.4, 95.086, -16.178}, {25.778, 92.843, -26.753}, {45.133, 85.131, -26.753}}], Polygon[{{26.4, 95.086, -16.178}, {5.3426, 98.538, -16.178}, {5.2166, 96.214, -26.753}, {25.778, 92.843, -26.753}}], Polygon[{{5.3426, 98.538, -16.178}, {-15.965, 97.383, -16.178}, {-15.589, 95.086, -26.753}, {5.2166, 96.214, -26.753}}], Polygon[{{-15.965, 97.383, -16.178}, {-36.526, 91.674, -16.178}, {-35.665, 89.512, -26.753}, {-15.589, 95.086, -26.753}}], Polygon[{{-36.526, 91.674, -16.178}, {-55.379, 81.679, -16.178}, {-54.073, 79.752, -26.753}, {-35.665, 89.512, -26.753}}], Polygon[{{-55.379, 81.679, -16.178}, {-71.643, 67.864, -16.178}, {-69.953, 66.263, -26.753}, {-54.073, 79.752, -26.753}}], Polygon[{{-71.643, 67.864, -16.178}, {-84.557, 50.876, -16.178}, {-82.562, 49.676, -26.753}, {-69.953, 66.263, -26.753}}], Polygon[{{-84.557, 50.876, -16.178}, {-93.517, 31.51, -16.178}, {-91.311, 30.766, -26.753}, {-82.562, 49.676, -26.753}}], Polygon[{{-93.517, 31.51, -16.178}, {-98.104, 10.669, -16.178}, {-95.79, 10.418, -26.753}, {-91.311, 30.766, -26.753}}], Polygon[{{-98.104, 10.669, -16.178}, {-98.104, -10.669, -16.178}, {-95.79, -10.418, -26.753}, {-95.79, 10.418, -26.753}}], Polygon[{{-98.104, -10.669, -16.178}, {-93.517, -31.51, -16.178}, {-91.311, -30.766, -26.753}, {-95.79, -10.418, -26.753}}], Polygon[{{-93.517, -31.51, -16.178}, {-84.557, -50.876, -16.178}, {-82.562, -49.676, -26.753}, {-91.311, -30.766, -26.753}}], Polygon[{{-84.557, -50.876, -16.178}, {-71.643, -67.864, -16.178}, {-69.953, -66.263, -26.753}, {-82.562, -49.676, -26.753}}], Polygon[{{-71.643, -67.864, -16.178}, {-55.379, -81.679, -16.178}, {-54.073, -79.752, -26.753}, {-69.953, -66.263, -26.753}}], Polygon[{{-55.379, -81.679, -16.178}, {-36.526, -91.674, -16.178}, {-35.665, -89.512, -26.753}, {-54.073, -79.752, -26.753}}], Polygon[{{-36.526, -91.674, -16.178}, {-15.965, -97.383, -16.178}, {-15.589, -95.086, -26.753}, {-35.665, -89.512, -26.753}}], Polygon[{{-15.965, -97.383, -16.178}, {5.3426, -98.538, -16.178}, {5.2166, -96.214, -26.753}, {-15.589, -95.086, -26.753}}], Polygon[{{5.3426, -98.538, -16.178}, {26.4, -95.086, -16.178}, {25.778, -92.843, -26.753}, {5.2166, -96.214, -26.753}}], Polygon[{{26.4, -95.086, -16.178}, {46.224, -87.187, -16.178}, {45.133, -85.131, -26.753}, {25.778, -92.843, -26.753}}], Polygon[{{46.224, -87.187, -16.178}, {63.886, -75.212, -16.178}, {62.379, -73.438, -26.753}, {45.133, -85.131, -26.753}}], Polygon[{{63.886, -75.212, -16.178}, {78.561, -59.72, -16.178}, {76.708, -58.312, -26.753}, {62.379, -73.438, -26.753}}], Polygon[{{78.561, -59.72, -16.178}, {89.562, -41.436, -16.178}, {87.449, -40.458, -26.753}, {76.708, -58.312, -26.753}}], Polygon[{{89.562, -41.436, -16.178}, {96.376, -21.214, -16.178}, {94.102, -20.713, -26.753}, {87.449, -40.458, -26.753}}], Polygon[{{96.376, -21.214, -16.178}, {98.683, -2.4169*^-14, -16.178}, {96.355, -2.3599*^-14, -26.753}, {94.102, -20.713, -26.753}}], Polygon[{{96.355, 0., -26.753}, {94.102, 20.713, -26.753}, {90.726, 19.97, -37.014}, {92.898, 0., -37.014}}], Polygon[{{94.102, 20.713, -26.753}, {87.449, 40.458, -26.753}, {84.312, 39.007, -37.014}, {90.726, 19.97, -37.014}}], Polygon[{{87.449, 40.458, -26.753}, {76.708, 58.312, -26.753}, {73.955, 56.219, -37.014}, {84.312, 39.007, -37.014}}], Polygon[{{76.708, 58.312, -26.753}, {62.379, 73.438, -26.753}, {60.141, 70.803, -37.014}, {73.955, 56.219, -37.014}}], Polygon[{{62.379, 73.438, -26.753}, {45.133, 85.131, -26.753}, {43.514, 82.076, -37.014}, {60.141, 70.803, -37.014}}], Polygon[{{45.133, 85.131, -26.753}, {25.778, 92.843, -26.753}, {24.853, 89.512, -37.014}, {43.514, 82.076, -37.014}}], Polygon[{{25.778, 92.843, -26.753}, {5.2166, 96.214, -26.753}, {5.0294, 92.761, -37.014}, {24.853, 89.512, -37.014}}], Polygon[{{5.2166, 96.214, -26.753}, {-15.589, 95.086, -26.753}, {-15.029, 91.674, -37.014}, {5.0294, 92.761, -37.014}}], Polygon[{{-15.589, 95.086, -26.753}, {-35.665, 89.512, -26.753}, {-34.385, 86.3, -37.014}, {-15.029, 91.674, -37.014}}], Polygon[{{-35.665, 89.512, -26.753}, {-54.073, 79.752, -26.753}, {-52.133, 76.89, -37.014}, {-34.385, 86.3, -37.014}}], Polygon[{{-54.073, 79.752, -26.753}, {-69.953, 66.263, -26.753}, {-67.443, 63.886, -37.014}, {-52.133, 76.89, -37.014}}], Polygon[{{-69.953, 66.263, -26.753}, {-82.562, 49.676, -26.753}, {-79.6, 47.894, -37.014}, {-67.443, 63.886, -37.014}}], Polygon[{{-82.562, 49.676, -26.753}, {-91.311, 30.766, -26.753}, {-88.035, 29.662, -37.014}, {-79.6, 47.894, -37.014}}], Polygon[{{-91.311, 30.766, -26.753}, {-95.79, 10.418, -26.753}, {-92.353, 10.044, -37.014}, {-88.035, 29.662, -37.014}}], Polygon[{{-95.79, 10.418, -26.753}, {-95.79, -10.418, -26.753}, {-92.353, -10.044, -37.014}, {-92.353, 10.044, -37.014}}], Polygon[{{-95.79, -10.418, -26.753}, {-91.311, -30.766, -26.753}, {-88.035, -29.662, -37.014}, {-92.353, -10.044, -37.014}}], Polygon[{{-91.311, -30.766, -26.753}, {-82.562, -49.676, -26.753}, {-79.6, -47.894, -37.014}, {-88.035, -29.662, -37.014}}], Polygon[{{-82.562, -49.676, -26.753}, {-69.953, -66.263, -26.753}, {-67.443, -63.886, -37.014}, {-79.6, -47.894, -37.014}}], Polygon[{{-69.953, -66.263, -26.753}, {-54.073, -79.752, -26.753}, {-52.133, -76.89, -37.014}, {-67.443, -63.886, -37.014}}], Polygon[{{-54.073, -79.752, -26.753}, {-35.665, -89.512, -26.753}, {-34.385, -86.3, -37.014}, {-52.133, -76.89, -37.014}}], Polygon[{{-35.665, -89.512, -26.753}, {-15.589, -95.086, -26.753}, {-15.029, -91.674, -37.014}, {-34.385, -86.3, -37.014}}], Polygon[{{-15.589, -95.086, -26.753}, {5.2166, -96.214, -26.753}, {5.0294, -92.761, -37.014}, {-15.029, -91.674, -37.014}}], Polygon[{{5.2166, -96.214, -26.753}, {25.778, -92.843, -26.753}, {24.853, -89.512, -37.014}, {5.0294, -92.761, -37.014}}], Polygon[{{25.778, -92.843, -26.753}, {45.133, -85.131, -26.753}, {43.514, -82.076, -37.014}, {24.853, -89.512, -37.014}}], Polygon[{{45.133, -85.131, -26.753}, {62.379, -73.438, -26.753}, {60.141, -70.803, -37.014}, {43.514, -82.076, -37.014}}], Polygon[{{62.379, -73.438, -26.753}, {76.708, -58.312, -26.753}, {73.955, -56.219, -37.014}, {60.141, -70.803, -37.014}}], Polygon[{{76.708, -58.312, -26.753}, {87.449, -40.458, -26.753}, {84.312, -39.007, -37.014}, {73.955, -56.219, -37.014}}], Polygon[{{87.449, -40.458, -26.753}, {94.102, -20.713, -26.753}, {90.726, -19.97, -37.014}, {84.312, -39.007, -37.014}}], Polygon[{{94.102, -20.713, -26.753}, {96.355, -2.3599*^-14, -26.753}, {92.898, -2.2753*^-14, -37.014}, {90.726, -19.97, -37.014}}], Polygon[{{92.898, 0., -37.014}, {90.726, 19.97, -37.014}, {86.286, 18.993, -46.841}, {88.351, 0., -46.841}}], Polygon[{{90.726, 19.97, -37.014}, {84.312, 39.007, -37.014}, {80.185, 37.098, -46.841}, {86.286, 18.993, -46.841}}], Polygon[{{84.312, 39.007, -37.014}, {73.955, 56.219, -37.014}, {70.336, 53.468, -46.841}, {80.185, 37.098, -46.841}}], Polygon[{{73.955, 56.219, -37.014}, {60.141, 70.803, -37.014}, {57.197, 67.338, -46.841}, {70.336, 53.468, -46.841}}], Polygon[{{60.141, 70.803, -37.014}, {43.514, 82.076, -37.014}, {41.384, 78.059, -46.841}, {57.197, 67.338, -46.841}}], Polygon[{{43.514, 82.076, -37.014}, {24.853, 89.512, -37.014}, {23.636, 85.131, -46.841}, {41.384, 78.059, -46.841}}], Polygon[{{24.853, 89.512, -37.014}, {5.0294, 92.761, -37.014}, {4.7832, 88.222, -46.841}, {23.636, 85.131, -46.841}}], Polygon[{{5.0294, 92.761, -37.014}, {-15.029, 91.674, -37.014}, {-14.294, 87.187, -46.841}, {4.7832, 88.222, -46.841}}], Polygon[{{-15.029, 91.674, -37.014}, {-34.385, 86.3, -37.014}, {-32.702, 82.076, -46.841}, {-14.294, 87.187, -46.841}}], Polygon[{{-34.385, 86.3, -37.014}, {-52.133, 76.89, -37.014}, {-49.582, 73.127, -46.841}, {-32.702, 82.076, -46.841}}], Polygon[{{-52.133, 76.89, -37.014}, {-67.443, 63.886, -37.014}, {-64.143, 60.759, -46.841}, {-49.582, 73.127, -46.841}}], Polygon[{{-67.443, 63.886, -37.014}, {-79.6, 47.894, -37.014}, {-75.704, 45.55, -46.841}, {-64.143, 60.759, -46.841}}], Polygon[{{-79.6, 47.894, -37.014}, {-88.035, 29.662, -37.014}, {-83.726, 28.211, -46.841}, {-75.704, 45.55, -46.841}}], Polygon[{{-88.035, 29.662, -37.014}, {-92.353, 10.044, -37.014}, {-87.833, 9.5524, -46.841}, {-83.726, 28.211, -46.841}}], Polygon[{{-92.353, 10.044, -37.014}, {-92.353, -10.044, -37.014}, {-87.833, -9.5524, -46.841}, {-87.833, 9.5524, -46.841}}], Polygon[{{-92.353, -10.044, -37.014}, {-88.035, -29.662, -37.014}, {-83.726, -28.211, -46.841}, {-87.833, -9.5524, -46.841}}], Polygon[{{-88.035, -29.662, -37.014}, {-79.6, -47.894, -37.014}, {-75.704, -45.55, -46.841}, {-83.726, -28.211, -46.841}}], Polygon[{{-79.6, -47.894, -37.014}, {-67.443, -63.886, -37.014}, {-64.143, -60.759, -46.841}, {-75.704, -45.55, -46.841}}], Polygon[{{-67.443, -63.886, -37.014}, {-52.133, -76.89, -37.014}, {-49.582, -73.127, -46.841}, {-64.143, -60.759, -46.841}}], Polygon[{{-52.133, -76.89, -37.014}, {-34.385, -86.3, -37.014}, {-32.702, -82.076, -46.841}, {-49.582, -73.127, -46.841}}], Polygon[{{-34.385, -86.3, -37.014}, {-15.029, -91.674, -37.014}, {-14.294, -87.187, -46.841}, {-32.702, -82.076, -46.841}}], Polygon[{{-15.029, -91.674, -37.014}, {5.0294, -92.761, -37.014}, {4.7832, -88.222, -46.841}, {-14.294, -87.187, -46.841}}], Polygon[{{5.0294, -92.761, -37.014}, {24.853, -89.512, -37.014}, {23.636, -85.131, -46.841}, {4.7832, -88.222, -46.841}}], Polygon[{{24.853, -89.512, -37.014}, {43.514, -82.076, -37.014}, {41.384, -78.059, -46.841}, {23.636, -85.131, -46.841}}], Polygon[{{43.514, -82.076, -37.014}, {60.141, -70.803, -37.014}, {57.197, -67.338, -46.841}, {41.384, -78.059, -46.841}}], Polygon[{{60.141, -70.803, -37.014}, {73.955, -56.219, -37.014}, {70.336, -53.468, -46.841}, {57.197, -67.338, -46.841}}], Polygon[{{73.955, -56.219, -37.014}, {84.312, -39.007, -37.014}, {80.185, -37.098, -46.841}, {70.336, -53.468, -46.841}}], Polygon[{{84.312, -39.007, -37.014}, {90.726, -19.97, -37.014}, {86.286, -18.993, -46.841}, {80.185, -37.098, -46.841}}], Polygon[{{90.726, -19.97, -37.014}, {92.898, -2.2753*^-14, -37.014}, {88.351, -2.1639*^-14, -46.841}, {86.286, -18.993, -46.841}}], Polygon[{{88.351, 0., -46.841}, {86.286, 18.993, -46.841}, {80.834, 17.793, -56.119}, {82.769, 0., -56.119}}], Polygon[{{86.286, 18.993, -46.841}, {80.185, 37.098, -46.841}, {75.119, 34.754, -56.119}, {80.834, 17.793, -56.119}}], Polygon[{{80.185, 37.098, -46.841}, {70.336, 53.468, -46.841}, {65.892, 50.09, -56.119}, {75.119, 34.754, -56.119}}], Polygon[{{70.336, 53.468, -46.841}, {57.197, 67.338, -46.841}, {53.583, 63.083, -56.119}, {65.892, 50.09, -56.119}}], Polygon[{{57.197, 67.338, -46.841}, {41.384, 78.059, -46.841}, {38.77, 73.127, -56.119}, {53.583, 63.083, -56.119}}], Polygon[{{41.384, 78.059, -46.841}, {23.636, 85.131, -46.841}, {22.143, 79.752, -56.119}, {38.77, 73.127, -56.119}}], Polygon[{{23.636, 85.131, -46.841}, {4.7832, 88.222, -46.841}, {4.481, 82.648, -56.119}, {22.143, 79.752, -56.119}}], Polygon[{{4.7832, 88.222, -46.841}, {-14.294, 87.187, -46.841}, {-13.391, 81.679, -56.119}, {4.481, 82.648, -56.119}}], Polygon[{{-14.294, 87.187, -46.841}, {-32.702, 82.076, -46.841}, {-30.636, 76.89, -56.119}, {-13.391, 81.679, -56.119}}], Polygon[{{-32.702, 82.076, -46.841}, {-49.582, 73.127, -46.841}, {-46.449, 68.507, -56.119}, {-30.636, 76.89, -56.119}}], Polygon[{{-49.582, 73.127, -46.841}, {-64.143, 60.759, -46.841}, {-60.09, 56.92, -56.119}, {-46.449, 68.507, -56.119}}], Polygon[{{-64.143, 60.759, -46.841}, {-75.704, 45.55, -46.841}, {-70.921, 42.672, -56.119}, {-60.09, 56.92, -56.119}}], Polygon[{{-75.704, 45.55, -46.841}, {-83.726, 28.211, -46.841}, {-78.436, 26.428, -56.119}, {-70.921, 42.672, -56.119}}], Polygon[{{-83.726, 28.211, -46.841}, {-87.833, 9.5524, -46.841}, {-82.284, 8.9489, -56.119}, {-78.436, 26.428, -56.119}}], Polygon[{{-87.833, 9.5524, -46.841}, {-87.833, -9.5524, -46.841}, {-82.284, -8.9489, -56.119}, {-82.284, 8.9489, -56.119}}], Polygon[{{-87.833, -9.5524, -46.841}, {-83.726, -28.211, -46.841}, {-78.436, -26.428, -56.119}, {-82.284, -8.9489, -56.119}}], Polygon[{{-83.726, -28.211, -46.841}, {-75.704, -45.55, -46.841}, {-70.921, -42.672, -56.119}, {-78.436, -26.428, -56.119}}], Polygon[{{-75.704, -45.55, -46.841}, {-64.143, -60.759, -46.841}, {-60.09, -56.92, -56.119}, {-70.921, -42.672, -56.119}}], Polygon[{{-64.143, -60.759, -46.841}, {-49.582, -73.127, -46.841}, {-46.449, -68.507, -56.119}, {-60.09, -56.92, -56.119}}], Polygon[{{-49.582, -73.127, -46.841}, {-32.702, -82.076, -46.841}, {-30.636, -76.89, -56.119}, {-46.449, -68.507, -56.119}}], Polygon[{{-32.702, -82.076, -46.841}, {-14.294, -87.187, -46.841}, {-13.391, -81.679, -56.119}, {-30.636, -76.89, -56.119}}], Polygon[{{-14.294, -87.187, -46.841}, {4.7832, -88.222, -46.841}, {4.481, -82.648, -56.119}, {-13.391, -81.679, -56.119}}], Polygon[{{4.7832, -88.222, -46.841}, {23.636, -85.131, -46.841}, {22.143, -79.752, -56.119}, {4.481, -82.648, -56.119}}], Polygon[{{23.636, -85.131, -46.841}, {41.384, -78.059, -46.841}, {38.77, -73.127, -56.119}, {22.143, -79.752, -56.119}}], Polygon[{{41.384, -78.059, -46.841}, {57.197, -67.338, -46.841}, {53.583, -63.083, -56.119}, {38.77, -73.127, -56.119}}], Polygon[{{57.197, -67.338, -46.841}, {70.336, -53.468, -46.841}, {65.892, -50.09, -56.119}, {53.583, -63.083, -56.119}}], Polygon[{{70.336, -53.468, -46.841}, {80.185, -37.098, -46.841}, {75.119, -34.754, -56.119}, {65.892, -50.09, -56.119}}], Polygon[{{80.185, -37.098, -46.841}, {86.286, -18.993, -46.841}, {80.834, -17.793, -56.119}, {75.119, -34.754, -56.119}}], Polygon[{{86.286, -18.993, -46.841}, {88.351, -2.1639*^-14, -46.841}, {82.769, -2.0272*^-14, -56.119}, {80.834, -17.793, -56.119}}], Polygon[{{82.769, 0., -56.119}, {80.834, 17.793, -56.119}, {74.434, 16.384, -64.739}, {76.216, 0., -64.739}}], Polygon[{{80.834, 17.793, -56.119}, {75.119, 34.754, -56.119}, {69.172, 32.002, -64.739}, {74.434, 16.384, -64.739}}], Polygon[{{75.119, 34.754, -56.119}, {65.892, 50.09, -56.119}, {60.675, 46.124, -64.739}, {69.172, 32.002, -64.739}}], Polygon[{{65.892, 50.09, -56.119}, {53.583, 63.083, -56.119}, {49.341, 58.089, -64.739}, {60.675, 46.124, -64.739}}], Polygon[{{53.583, 63.083, -56.119}, {38.77, 73.127, -56.119}, {35.7, 67.338, -64.739}, {49.341, 58.089, -64.739}}], Polygon[{{38.77, 73.127, -56.119}, {22.143, 79.752, -56.119}, {20.39, 73.438, -64.739}, {35.7, 67.338, -64.739}}], Polygon[{{22.143, 79.752, -56.119}, {4.481, 82.648, -56.119}, {4.1263, 76.104, -64.739}, {20.39, 73.438, -64.739}}], Polygon[{{4.481, 82.648, -56.119}, {-13.391, 81.679, -56.119}, {-12.33, 75.212, -64.739}, {4.1263, 76.104, -64.739}}], Polygon[{{-13.391, 81.679, -56.119}, {-30.636, 76.89, -56.119}, {-28.211, 70.803, -64.739}, {-12.33, 75.212, -64.739}}], Polygon[{{-30.636, 76.89, -56.119}, {-46.449, 68.507, -56.119}, {-42.772, 63.083, -64.739}, {-28.211, 70.803, -64.739}}], Polygon[{{-46.449, 68.507, -56.119}, {-60.09, 56.92, -56.119}, {-55.333, 52.414, -64.739}, {-42.772, 63.083, -64.739}}], Polygon[{{-60.09, 56.92, -56.119}, {-70.921, 42.672, -56.119}, {-65.306, 39.294, -64.739}, {-55.333, 52.414, -64.739}}], Polygon[{{-70.921, 42.672, -56.119}, {-78.436, 26.428, -56.119}, {-72.227, 24.336, -64.739}, {-65.306, 39.294, -64.739}}], Polygon[{{-78.436, 26.428, -56.119}, {-82.284, 8.9489, -56.119}, {-75.769, 8.2404, -64.739}, {-72.227, 24.336, -64.739}}], Polygon[{{-82.284, 8.9489, -56.119}, {-82.284, -8.9489, -56.119}, {-75.769, -8.2404, -64.739}, {-75.769, 8.2404, -64.739}}], Polygon[{{-82.284, -8.9489, -56.119}, {-78.436, -26.428, -56.119}, {-72.227, -24.336, -64.739}, {-75.769, -8.2404, -64.739}}], Polygon[{{-78.436, -26.428, -56.119}, {-70.921, -42.672, -56.119}, {-65.306, -39.294, -64.739}, {-72.227, -24.336, -64.739}}], Polygon[{{-70.921, -42.672, -56.119}, {-60.09, -56.92, -56.119}, {-55.333, -52.414, -64.739}, {-65.306, -39.294, -64.739}}], Polygon[{{-60.09, -56.92, -56.119}, {-46.449, -68.507, -56.119}, {-42.772, -63.083, -64.739}, {-55.333, -52.414, -64.739}}], Polygon[{{-46.449, -68.507, -56.119}, {-30.636, -76.89, -56.119}, {-28.211, -70.803, -64.739}, {-42.772, -63.083, -64.739}}], Polygon[{{-30.636, -76.89, -56.119}, {-13.391, -81.679, -56.119}, {-12.33, -75.212, -64.739}, {-28.211, -70.803, -64.739}}], Polygon[{{-13.391, -81.679, -56.119}, {4.481, -82.648, -56.119}, {4.1263, -76.104, -64.739}, {-12.33, -75.212, -64.739}}], Polygon[{{4.481, -82.648, -56.119}, {22.143, -79.752, -56.119}, {20.39, -73.438, -64.739}, {4.1263, -76.104, -64.739}}], Polygon[{{22.143, -79.752, -56.119}, {38.77, -73.127, -56.119}, {35.7, -67.338, -64.739}, {20.39, -73.438, -64.739}}], Polygon[{{38.77, -73.127, -56.119}, {53.583, -63.083, -56.119}, {49.341, -58.089, -64.739}, {35.7, -67.338, -64.739}}], Polygon[{{53.583, -63.083, -56.119}, {65.892, -50.09, -56.119}, {60.675, -46.124, -64.739}, {49.341, -58.089, -64.739}}], Polygon[{{65.892, -50.09, -56.119}, {75.119, -34.754, -56.119}, {69.172, -32.002, -64.739}, {60.675, -46.124, -64.739}}], Polygon[{{75.119, -34.754, -56.119}, {80.834, -17.793, -56.119}, {74.434, -16.384, -64.739}, {69.172, -32.002, -64.739}}], Polygon[{{80.834, -17.793, -56.119}, {82.769, -2.0272*^-14, -56.119}, {76.216, -1.8667*^-14, -64.739}, {74.434, -16.384, -64.739}}], Polygon[{{76.216, 0., -64.739}, {74.434, 16.384, -64.739}, {67.162, 14.784, -72.6}, {68.77, 0., -72.6}}], Polygon[{{74.434, 16.384, -64.739}, {69.172, 32.002, -64.739}, {62.414, 28.876, -72.6}, {67.162, 14.784, -72.6}}], Polygon[{{69.172, 32.002, -64.739}, {60.675, 46.124, -64.739}, {54.747, 41.618, -72.6}, {62.414, 28.876, -72.6}}], Polygon[{{60.675, 46.124, -64.739}, {49.341, 58.089, -64.739}, {44.521, 52.414, -72.6}, {54.747, 41.618, -72.6}}], Polygon[{{49.341, 58.089, -64.739}, {35.7, 67.338, -64.739}, {32.212, 60.759, -72.6}, {44.521, 52.414, -72.6}}], Polygon[{{35.7, 67.338, -64.739}, {20.39, 73.438, -64.739}, {18.398, 66.263, -72.6}, {32.212, 60.759, -72.6}}], Polygon[{{20.39, 73.438, -64.739}, {4.1263, 76.104, -64.739}, {3.7231, 68.669, -72.6}, {18.398, 66.263, -72.6}}], Polygon[{{4.1263, 76.104, -64.739}, {-12.33, 75.212, -64.739}, {-11.126, 67.864, -72.6}, {3.7231, 68.669, -72.6}}], Polygon[{{-12.33, 75.212, -64.739}, {-28.211, 70.803, -64.739}, {-25.454, 63.886, -72.6}, {-11.126, 67.864, -72.6}}], Polygon[{{-28.211, 70.803, -64.739}, {-42.772, 63.083, -64.739}, {-38.593, 56.92, -72.6}, {-25.454, 63.886, -72.6}}], Polygon[{{-42.772, 63.083, -64.739}, {-55.333, 52.414, -64.739}, {-49.927, 47.293, -72.6}, {-38.593, 56.92, -72.6}}], Polygon[{{-55.333, 52.414, -64.739}, {-65.306, 39.294, -64.739}, {-58.926, 35.455, -72.6}, {-49.927, 47.293, -72.6}}], Polygon[{{-65.306, 39.294, -64.739}, {-72.227, 24.336, -64.739}, {-65.17, 21.958, -72.6}, {-58.926, 35.455, -72.6}}], Polygon[{{-72.227, 24.336, -64.739}, {-75.769, 8.2404, -64.739}, {-68.367, 7.4353, -72.6}, {-65.17, 21.958, -72.6}}], Polygon[{{-75.769, 8.2404, -64.739}, {-75.769, -8.2404, -64.739}, {-68.367, -7.4353, -72.6}, {-68.367, 7.4353, -72.6}}], Polygon[{{-75.769, -8.2404, -64.739}, {-72.227, -24.336, -64.739}, {-65.17, -21.958, -72.6}, {-68.367, -7.4353, -72.6}}], Polygon[{{-72.227, -24.336, -64.739}, {-65.306, -39.294, -64.739}, {-58.926, -35.455, -72.6}, {-65.17, -21.958, -72.6}}], Polygon[{{-65.306, -39.294, -64.739}, {-55.333, -52.414, -64.739}, {-49.927, -47.293, -72.6}, {-58.926, -35.455, -72.6}}], Polygon[{{-55.333, -52.414, -64.739}, {-42.772, -63.083, -64.739}, {-38.593, -56.92, -72.6}, {-49.927, -47.293, -72.6}}], Polygon[{{-42.772, -63.083, -64.739}, {-28.211, -70.803, -64.739}, {-25.454, -63.886, -72.6}, {-38.593, -56.92, -72.6}}], Polygon[{{-28.211, -70.803, -64.739}, {-12.33, -75.212, -64.739}, {-11.126, -67.864, -72.6}, {-25.454, -63.886, -72.6}}], Polygon[{{-12.33, -75.212, -64.739}, {4.1263, -76.104, -64.739}, {3.7231, -68.669, -72.6}, {-11.126, -67.864, -72.6}}], Polygon[{{4.1263, -76.104, -64.739}, {20.39, -73.438, -64.739}, {18.398, -66.263, -72.6}, {3.7231, -68.669, -72.6}}], Polygon[{{20.39, -73.438, -64.739}, {35.7, -67.338, -64.739}, {32.212, -60.759, -72.6}, {18.398, -66.263, -72.6}}], Polygon[{{35.7, -67.338, -64.739}, {49.341, -58.089, -64.739}, {44.521, -52.414, -72.6}, {32.212, -60.759, -72.6}}], Polygon[{{49.341, -58.089, -64.739}, {60.675, -46.124, -64.739}, {54.747, -41.618, -72.6}, {44.521, -52.414, -72.6}}], Polygon[{{60.675, -46.124, -64.739}, {69.172, -32.002, -64.739}, {62.414, -28.876, -72.6}, {54.747, -41.618, -72.6}}], Polygon[{{69.172, -32.002, -64.739}, {74.434, -16.384, -64.739}, {67.162, -14.784, -72.6}, {62.414, -28.876, -72.6}}], Polygon[{{74.434, -16.384, -64.739}, {76.216, -1.8667*^-14, -64.739}, {68.77, -1.6843*^-14, -72.6}, {67.162, -14.784, -72.6}}], Polygon[{{68.77, 0., -72.6}, {67.162, 14.784, -72.6}, {59.103, 13.009, -79.609}, {60.517, 0., -79.609}}], Polygon[{{67.162, 14.784, -72.6}, {62.414, 28.876, -72.6}, {54.924, 25.411, -79.609}, {59.103, 13.009, -79.609}}], Polygon[{{62.414, 28.876, -72.6}, {54.747, 41.618, -72.6}, {48.177, 36.624, -79.609}, {54.924, 25.411, -79.609}}], Polygon[{{54.747, 41.618, -72.6}, {44.521, 52.414, -72.6}, {39.178, 46.124, -79.609}, {48.177, 36.624, -79.609}}], Polygon[{{44.521, 52.414, -72.6}, {32.212, 60.759, -72.6}, {28.347, 53.468, -79.609}, {39.178, 46.124, -79.609}}], Polygon[{{32.212, 60.759, -72.6}, {18.398, 66.263, -72.6}, {16.19, 58.312, -79.609}, {28.347, 53.468, -79.609}}], Polygon[{{18.398, 66.263, -72.6}, {3.7231, 68.669, -72.6}, {3.2763, 60.429, -79.609}, {16.19, 58.312, -79.609}}], Polygon[{{3.7231, 68.669, -72.6}, {-11.126, 67.864, -72.6}, {-9.7906, 59.72, -79.609}, {3.2763, 60.429, -79.609}}], Polygon[{{-11.126, 67.864, -72.6}, {-25.454, 63.886, -72.6}, {-22.4, 56.219, -79.609}, {-9.7906, 59.72, -79.609}}], Polygon[{{-25.454, 63.886, -72.6}, {-38.593, 56.92, -72.6}, {-33.962, 50.09, -79.609}, {-22.4, 56.219, -79.609}}], Polygon[{{-38.593, 56.92, -72.6}, {-49.927, 47.293, -72.6}, {-43.935, 41.618, -79.609}, {-33.962, 50.09, -79.609}}], Polygon[{{-49.927, 47.293, -72.6}, {-58.926, 35.455, -72.6}, {-51.855, 31.2, -79.609}, {-43.935, 41.618, -79.609}}], Polygon[{{-58.926, 35.455, -72.6}, {-65.17, 21.958, -72.6}, {-57.35, 19.323, -79.609}, {-51.855, 31.2, -79.609}}], Polygon[{{-65.17, 21.958, -72.6}, {-68.367, 7.4353, -72.6}, {-60.163, 6.5431, -79.609}, {-57.35, 19.323, -79.609}}], Polygon[{{-68.367, 7.4353, -72.6}, {-68.367, -7.4353, -72.6}, {-60.163, -6.5431, -79.609}, {-60.163, 6.5431, -79.609}}], Polygon[{{-68.367, -7.4353, -72.6}, {-65.17, -21.958, -72.6}, {-57.35, -19.323, -79.609}, {-60.163, -6.5431, -79.609}}], Polygon[{{-65.17, -21.958, -72.6}, {-58.926, -35.455, -72.6}, {-51.855, -31.2, -79.609}, {-57.35, -19.323, -79.609}}], Polygon[{{-58.926, -35.455, -72.6}, {-49.927, -47.293, -72.6}, {-43.935, -41.618, -79.609}, {-51.855, -31.2, -79.609}}], Polygon[{{-49.927, -47.293, -72.6}, {-38.593, -56.92, -72.6}, {-33.962, -50.09, -79.609}, {-43.935, -41.618, -79.609}}], Polygon[{{-38.593, -56.92, -72.6}, {-25.454, -63.886, -72.6}, {-22.4, -56.219, -79.609}, {-33.962, -50.09, -79.609}}], Polygon[{{-25.454, -63.886, -72.6}, {-11.126, -67.864, -72.6}, {-9.7906, -59.72, -79.609}, {-22.4, -56.219, -79.609}}], Polygon[{{-11.126, -67.864, -72.6}, {3.7231, -68.669, -72.6}, {3.2763, -60.429, -79.609}, {-9.7906, -59.72, -79.609}}], Polygon[{{3.7231, -68.669, -72.6}, {18.398, -66.263, -72.6}, {16.19, -58.312, -79.609}, {3.2763, -60.429, -79.609}}], Polygon[{{18.398, -66.263, -72.6}, {32.212, -60.759, -72.6}, {28.347, -53.468, -79.609}, {16.19, -58.312, -79.609}}], Polygon[{{32.212, -60.759, -72.6}, {44.521, -52.414, -72.6}, {39.178, -46.124, -79.609}, {28.347, -53.468, -79.609}}], Polygon[{{44.521, -52.414, -72.6}, {54.747, -41.618, -72.6}, {48.177, -36.624, -79.609}, {39.178, -46.124, -79.609}}], Polygon[{{54.747, -41.618, -72.6}, {62.414, -28.876, -72.6}, {54.924, -25.411, -79.609}, {48.177, -36.624, -79.609}}], Polygon[{{62.414, -28.876, -72.6}, {67.162, -14.784, -72.6}, {59.103, -13.009, -79.609}, {54.924, -25.411, -79.609}}], Polygon[{{67.162, -14.784, -72.6}, {68.77, -1.6843*^-14, -72.6}, {60.517, -1.4822*^-14, -79.609}, {59.103, -13.009, -79.609}}], Polygon[{{60.517, 0., -79.609}, {59.103, 13.009, -79.609}, {50.35, 11.083, -85.686}, {51.555, 0., -85.686}}], Polygon[{{59.103, 13.009, -79.609}, {54.924, 25.411, -79.609}, {46.79, 21.648, -85.686}, {50.35, 11.083, -85.686}}], Polygon[{{54.924, 25.411, -79.609}, {48.177, 36.624, -79.609}, {41.043, 31.2, -85.686}, {46.79, 21.648, -85.686}}], Polygon[{{48.177, 36.624, -79.609}, {39.178, 46.124, -79.609}, {33.376, 39.294, -85.686}, {41.043, 31.2, -85.686}}], Polygon[{{39.178, 46.124, -79.609}, {28.347, 53.468, -79.609}, {24.149, 45.55, -85.686}, {33.376, 39.294, -85.686}}], Polygon[{{28.347, 53.468, -79.609}, {16.19, 58.312, -79.609}, {13.793, 49.676, -85.686}, {24.149, 45.55, -85.686}}], Polygon[{{16.19, 58.312, -79.609}, {3.2763, 60.429, -79.609}, {2.7912, 51.48, -85.686}, {13.793, 49.676, -85.686}}], Polygon[{{3.2763, 60.429, -79.609}, {-9.7906, 59.72, -79.609}, {-8.3407, 50.876, -85.686}, {2.7912, 51.48, -85.686}}], Polygon[{{-9.7906, 59.72, -79.609}, {-22.4, 56.219, -79.609}, {-19.083, 47.894, -85.686}, {-8.3407, 50.876, -85.686}}], Polygon[{{-22.4, 56.219, -79.609}, {-33.962, 50.09, -79.609}, {-28.932, 42.672, -85.686}, {-19.083, 47.894, -85.686}}], Polygon[{{-33.962, 50.09, -79.609}, {-43.935, 41.618, -79.609}, {-37.429, 35.455, -85.686}, {-28.932, 42.672, -85.686}}], Polygon[{{-43.935, 41.618, -79.609}, {-51.855, 31.2, -79.609}, {-44.176, 26.58, -85.686}, {-37.429, 35.455, -85.686}}], Polygon[{{-51.855, 31.2, -79.609}, {-57.35, 19.323, -79.609}, {-48.857, 16.462, -85.686}, {-44.176, 26.58, -85.686}}], Polygon[{{-57.35, 19.323, -79.609}, {-60.163, 6.5431, -79.609}, {-51.253, 5.5741, -85.686}, {-48.857, 16.462, -85.686}}], Polygon[{{-60.163, 6.5431, -79.609}, {-60.163, -6.5431, -79.609}, {-51.253, -5.5741, -85.686}, {-51.253, 5.5741, -85.686}}], Polygon[{{-60.163, -6.5431, -79.609}, {-57.35, -19.323, -79.609}, {-48.857, -16.462, -85.686}, {-51.253, -5.5741, -85.686}}], Polygon[{{-57.35, -19.323, -79.609}, {-51.855, -31.2, -79.609}, {-44.176, -26.58, -85.686}, {-48.857, -16.462, -85.686}}], Polygon[{{-51.855, -31.2, -79.609}, {-43.935, -41.618, -79.609}, {-37.429, -35.455, -85.686}, {-44.176, -26.58, -85.686}}], Polygon[{{-43.935, -41.618, -79.609}, {-33.962, -50.09, -79.609}, {-28.932, -42.672, -85.686}, {-37.429, -35.455, -85.686}}], Polygon[{{-33.962, -50.09, -79.609}, {-22.4, -56.219, -79.609}, {-19.083, -47.894, -85.686}, {-28.932, -42.672, -85.686}}], Polygon[{{-22.4, -56.219, -79.609}, {-9.7906, -59.72, -79.609}, {-8.3407, -50.876, -85.686}, {-19.083, -47.894, -85.686}}], Polygon[{{-9.7906, -59.72, -79.609}, {3.2763, -60.429, -79.609}, {2.7912, -51.48, -85.686}, {-8.3407, -50.876, -85.686}}], Polygon[{{3.2763, -60.429, -79.609}, {16.19, -58.312, -79.609}, {13.793, -49.676, -85.686}, {2.7912, -51.48, -85.686}}], Polygon[{{16.19, -58.312, -79.609}, {28.347, -53.468, -79.609}, {24.149, -45.55, -85.686}, {13.793, -49.676, -85.686}}], Polygon[{{28.347, -53.468, -79.609}, {39.178, -46.124, -79.609}, {33.376, -39.294, -85.686}, {24.149, -45.55, -85.686}}], Polygon[{{39.178, -46.124, -79.609}, {48.177, -36.624, -79.609}, {41.043, -31.2, -85.686}, {33.376, -39.294, -85.686}}], Polygon[{{48.177, -36.624, -79.609}, {54.924, -25.411, -79.609}, {46.79, -21.648, -85.686}, {41.043, -31.2, -85.686}}], Polygon[{{54.924, -25.411, -79.609}, {59.103, -13.009, -79.609}, {50.35, -11.083, -85.686}, {46.79, -21.648, -85.686}}], Polygon[{{59.103, -13.009, -79.609}, {60.517, -1.4822*^-14, -79.609}, {51.555, -1.2627*^-14, -85.686}, {50.35, -11.083, -85.686}}], Polygon[{{51.555, 0., -85.686}, {50.35, 11.083, -85.686}, {41.007, 9.0264, -90.758}, {41.989, 0., -90.758}}], Polygon[{{50.35, 11.083, -85.686}, {46.79, 21.648, -85.686}, {38.108, 17.631, -90.758}, {41.007, 9.0264, -90.758}}], Polygon[{{46.79, 21.648, -85.686}, {41.043, 31.2, -85.686}, {33.427, 25.411, -90.758}, {38.108, 17.631, -90.758}}], Polygon[{{41.043, 31.2, -85.686}, {33.376, 39.294, -85.686}, {27.183, 32.002, -90.758}, {33.427, 25.411, -90.758}}], Polygon[{{33.376, 39.294, -85.686}, {24.149, 45.55, -85.686}, {19.668, 37.098, -90.758}, {27.183, 32.002, -90.758}}], Polygon[{{24.149, 45.55, -85.686}, {13.793, 49.676, -85.686}, {11.233, 40.458, -90.758}, {19.668, 37.098, -90.758}}], Polygon[{{13.793, 49.676, -85.686}, {2.7912, 51.48, -85.686}, {2.2732, 41.927, -90.758}, {11.233, 40.458, -90.758}}], Polygon[{{2.7912, 51.48, -85.686}, {-8.3407, 50.876, -85.686}, {-6.793, 41.436, -90.758}, {2.2732, 41.927, -90.758}}], Polygon[{{-8.3407, 50.876, -85.686}, {-19.083, 47.894, -85.686}, {-15.542, 39.007, -90.758}, {-6.793, 41.436, -90.758}}], Polygon[{{-19.083, 47.894, -85.686}, {-28.932, 42.672, -85.686}, {-23.564, 34.754, -90.758}, {-15.542, 39.007, -90.758}}], Polygon[{{-28.932, 42.672, -85.686}, {-37.429, 35.455, -85.686}, {-30.484, 28.876, -90.758}, {-23.564, 34.754, -90.758}}], Polygon[{{-37.429, 35.455, -85.686}, {-44.176, 26.58, -85.686}, {-35.978, 21.648, -90.758}, {-30.484, 28.876, -90.758}}], Polygon[{{-44.176, 26.58, -85.686}, {-48.857, 16.462, -85.686}, {-39.791, 13.407, -90.758}, {-35.978, 21.648, -90.758}}], Polygon[{{-48.857, 16.462, -85.686}, {-51.253, 5.5741, -85.686}, {-41.743, 4.5398, -90.758}, {-39.791, 13.407, -90.758}}], Polygon[{{-51.253, 5.5741, -85.686}, {-51.253, -5.5741, -85.686}, {-41.743, -4.5398, -90.758}, {-41.743, 4.5398, -90.758}}], Polygon[{{-51.253, -5.5741, -85.686}, {-48.857, -16.462, -85.686}, {-39.791, -13.407, -90.758}, {-41.743, -4.5398, -90.758}}], Polygon[{{-48.857, -16.462, -85.686}, {-44.176, -26.58, -85.686}, {-35.978, -21.648, -90.758}, {-39.791, -13.407, -90.758}}], Polygon[{{-44.176, -26.58, -85.686}, {-37.429, -35.455, -85.686}, {-30.484, -28.876, -90.758}, {-35.978, -21.648, -90.758}}], Polygon[{{-37.429, -35.455, -85.686}, {-28.932, -42.672, -85.686}, {-23.564, -34.754, -90.758}, {-30.484, -28.876, -90.758}}], Polygon[{{-28.932, -42.672, -85.686}, {-19.083, -47.894, -85.686}, {-15.542, -39.007, -90.758}, {-23.564, -34.754, -90.758}}], Polygon[{{-19.083, -47.894, -85.686}, {-8.3407, -50.876, -85.686}, {-6.793, -41.436, -90.758}, {-15.542, -39.007, -90.758}}], Polygon[{{-8.3407, -50.876, -85.686}, {2.7912, -51.48, -85.686}, {2.2732, -41.927, -90.758}, {-6.793, -41.436, -90.758}}], Polygon[{{2.7912, -51.48, -85.686}, {13.793, -49.676, -85.686}, {11.233, -40.458, -90.758}, {2.2732, -41.927, -90.758}}], Polygon[{{13.793, -49.676, -85.686}, {24.149, -45.55, -85.686}, {19.668, -37.098, -90.758}, {11.233, -40.458, -90.758}}], Polygon[{{24.149, -45.55, -85.686}, {33.376, -39.294, -85.686}, {27.183, -32.002, -90.758}, {19.668, -37.098, -90.758}}], Polygon[{{33.376, -39.294, -85.686}, {41.043, -31.2, -85.686}, {33.427, -25.411, -90.758}, {27.183, -32.002, -90.758}}], Polygon[{{41.043, -31.2, -85.686}, {46.79, -21.648, -85.686}, {38.108, -17.631, -90.758}, {33.427, -25.411, -90.758}}], Polygon[{{46.79, -21.648, -85.686}, {50.35, -11.083, -85.686}, {41.007, -9.0264, -90.758}, {38.108, -17.631, -90.758}}], Polygon[{{50.35, -11.083, -85.686}, {51.555, -1.2627*^-14, -85.686}, {41.989, -1.0284*^-14, -90.758}, {41.007, -9.0264, -90.758}}], Polygon[{{41.989, 0., -90.758}, {41.007, 9.0264, -90.758}, {31.184, 6.864, -94.765}, {31.93, 0., -94.765}}], Polygon[{{41.007, 9.0264, -90.758}, {38.108, 17.631, -90.758}, {28.979, 13.407, -94.765}, {31.184, 6.864, -94.765}}], Polygon[{{38.108, 17.631, -90.758}, {33.427, 25.411, -90.758}, {25.419, 19.323, -94.765}, {28.979, 13.407, -94.765}}], Polygon[{{33.427, 25.411, -90.758}, {27.183, 32.002, -90.758}, {20.671, 24.336, -94.765}, {25.419, 19.323, -94.765}}], Polygon[{{27.183, 32.002, -90.758}, {19.668, 37.098, -90.758}, {14.956, 28.211, -94.765}, {20.671, 24.336, -94.765}}], Polygon[{{19.668, 37.098, -90.758}, {11.233, 40.458, -90.758}, {8.5422, 30.766, -94.765}, {14.956, 28.211, -94.765}}], Polygon[{{11.233, 40.458, -90.758}, {2.2732, 41.927, -90.758}, {1.7287, 31.883, -94.765}, {8.5422, 30.766, -94.765}}], Polygon[{{2.2732, 41.927, -90.758}, {-6.793, 41.436, -90.758}, {-5.1657, 31.51, -94.765}, {1.7287, 31.883, -94.765}}], Polygon[{{-6.793, 41.436, -90.758}, {-15.542, 39.007, -90.758}, {-11.819, 29.662, -94.765}, {-5.1657, 31.51, -94.765}}], Polygon[{{-15.542, 39.007, -90.758}, {-23.564, 34.754, -90.758}, {-17.919, 26.428, -94.765}, {-11.819, 29.662, -94.765}}], Polygon[{{-23.564, 34.754, -90.758}, {-30.484, 28.876, -90.758}, {-23.181, 21.958, -94.765}, {-17.919, 26.428, -94.765}}], Polygon[{{-30.484, 28.876, -90.758}, {-35.978, 21.648, -90.758}, {-27.36, 16.462, -94.765}, {-23.181, 21.958, -94.765}}], Polygon[{{-35.978, 21.648, -90.758}, {-39.791, 13.407, -90.758}, {-30.259, 10.195, -94.765}, {-27.36, 16.462, -94.765}}], Polygon[{{-39.791, 13.407, -90.758}, {-41.743, 4.5398, -90.758}, {-31.743, 3.4523, -94.765}, {-30.259, 10.195, -94.765}}], Polygon[{{-41.743, 4.5398, -90.758}, {-41.743, -4.5398, -90.758}, {-31.743, -3.4523, -94.765}, {-31.743, 3.4523, -94.765}}], Polygon[{{-41.743, -4.5398, -90.758}, {-39.791, -13.407, -90.758}, {-30.259, -10.195, -94.765}, {-31.743, -3.4523, -94.765}}], Polygon[{{-39.791, -13.407, -90.758}, {-35.978, -21.648, -90.758}, {-27.36, -16.462, -94.765}, {-30.259, -10.195, -94.765}}], Polygon[{{-35.978, -21.648, -90.758}, {-30.484, -28.876, -90.758}, {-23.181, -21.958, -94.765}, {-27.36, -16.462, -94.765}}], Polygon[{{-30.484, -28.876, -90.758}, {-23.564, -34.754, -90.758}, {-17.919, -26.428, -94.765}, {-23.181, -21.958, -94.765}}], Polygon[{{-23.564, -34.754, -90.758}, {-15.542, -39.007, -90.758}, {-11.819, -29.662, -94.765}, {-17.919, -26.428, -94.765}}], Polygon[{{-15.542, -39.007, -90.758}, {-6.793, -41.436, -90.758}, {-5.1657, -31.51, -94.765}, {-11.819, -29.662, -94.765}}], Polygon[{{-6.793, -41.436, -90.758}, {2.2732, -41.927, -90.758}, {1.7287, -31.883, -94.765}, {-5.1657, -31.51, -94.765}}], Polygon[{{2.2732, -41.927, -90.758}, {11.233, -40.458, -90.758}, {8.5422, -30.766, -94.765}, {1.7287, -31.883, -94.765}}], Polygon[{{11.233, -40.458, -90.758}, {19.668, -37.098, -90.758}, {14.956, -28.211, -94.765}, {8.5422, -30.766, -94.765}}], Polygon[{{19.668, -37.098, -90.758}, {27.183, -32.002, -90.758}, {20.671, -24.336, -94.765}, {14.956, -28.211, -94.765}}], Polygon[{{27.183, -32.002, -90.758}, {33.427, -25.411, -90.758}, {25.419, -19.323, -94.765}, {20.671, -24.336, -94.765}}], Polygon[{{33.427, -25.411, -90.758}, {38.108, -17.631, -90.758}, {28.979, -13.407, -94.765}, {25.419, -19.323, -94.765}}], Polygon[{{38.108, -17.631, -90.758}, {41.007, -9.0264, -90.758}, {31.184, -6.864, -94.765}, {28.979, -13.407, -94.765}}], Polygon[{{41.007, -9.0264, -90.758}, {41.989, -1.0284*^-14, -90.758}, {31.93, -7.8204*^-15, -94.765}, {31.184, -6.864, -94.765}}], Polygon[{{31.93, 0., -94.765}, {31.184, 6.864, -94.765}, {20.994, 4.6212, -97.662}, {21.497, 0., -97.662}}], Polygon[{{31.184, 6.864, -94.765}, {28.979, 13.407, -94.765}, {19.51, 9.0264, -97.662}, {20.994, 4.6212, -97.662}}], Polygon[{{28.979, 13.407, -94.765}, {25.419, 19.323, -94.765}, {17.114, 13.009, -97.662}, {19.51, 9.0264, -97.662}}], Polygon[{{25.419, 19.323, -94.765}, {20.671, 24.336, -94.765}, {13.917, 16.384, -97.662}, {17.114, 13.009, -97.662}}], Polygon[{{20.671, 24.336, -94.765}, {14.956, 28.211, -94.765}, {10.069, 18.993, -97.662}, {13.917, 16.384, -97.662}}], Polygon[{{14.956, 28.211, -94.765}, {8.5422, 30.766, -94.765}, {5.7511, 20.713, -97.662}, {10.069, 18.993, -97.662}}], Polygon[{{8.5422, 30.766, -94.765}, {1.7287, 31.883, -94.765}, {1.1638, 21.466, -97.662}, {5.7511, 20.713, -97.662}}], Polygon[{{1.7287, 31.883, -94.765}, {-5.1657, 31.51, -94.765}, {-3.4778, 21.214, -97.662}, {1.1638, 21.466, -97.662}}], Polygon[{{-5.1657, 31.51, -94.765}, {-11.819, 29.662, -94.765}, {-7.9569, 19.97, -97.662}, {-3.4778, 21.214, -97.662}}], Polygon[{{-11.819, 29.662, -94.765}, {-17.919, 26.428, -94.765}, {-12.064, 17.793, -97.662}, {-7.9569, 19.97, -97.662}}], Polygon[{{-17.919, 26.428, -94.765}, {-23.181, 21.958, -94.765}, {-15.607, 14.784, -97.662}, {-12.064, 17.793, -97.662}}], Polygon[{{-23.181, 21.958, -94.765}, {-27.36, 16.462, -94.765}, {-18.42, 11.083, -97.662}, {-15.607, 14.784, -97.662}}], Polygon[{{-27.36, 16.462, -94.765}, {-30.259, 10.195, -94.765}, {-20.372, 6.864, -97.662}, {-18.42, 11.083, -97.662}}], Polygon[{{-30.259, 10.195, -94.765}, {-31.743, 3.4523, -94.765}, {-21.371, 2.3242, -97.662}, {-20.372, 6.864, -97.662}}], Polygon[{{-31.743, 3.4523, -94.765}, {-31.743, -3.4523, -94.765}, {-21.371, -2.3242, -97.662}, {-21.371, 2.3242, -97.662}}], Polygon[{{-31.743, -3.4523, -94.765}, {-30.259, -10.195, -94.765}, {-20.372, -6.864, -97.662}, {-21.371, -2.3242, -97.662}}], Polygon[{{-30.259, -10.195, -94.765}, {-27.36, -16.462, -94.765}, {-18.42, -11.083, -97.662}, {-20.372, -6.864, -97.662}}], Polygon[{{-27.36, -16.462, -94.765}, {-23.181, -21.958, -94.765}, {-15.607, -14.784, -97.662}, {-18.42, -11.083, -97.662}}], Polygon[{{-23.181, -21.958, -94.765}, {-17.919, -26.428, -94.765}, {-12.064, -17.793, -97.662}, {-15.607, -14.784, -97.662}}], Polygon[{{-17.919, -26.428, -94.765}, {-11.819, -29.662, -94.765}, {-7.9569, -19.97, -97.662}, {-12.064, -17.793, -97.662}}], Polygon[{{-11.819, -29.662, -94.765}, {-5.1657, -31.51, -94.765}, {-3.4778, -21.214, -97.662}, {-7.9569, -19.97, -97.662}}], Polygon[{{-5.1657, -31.51, -94.765}, {1.7287, -31.883, -94.765}, {1.1638, -21.466, -97.662}, {-3.4778, -21.214, -97.662}}], Polygon[{{1.7287, -31.883, -94.765}, {8.5422, -30.766, -94.765}, {5.7511, -20.713, -97.662}, {1.1638, -21.466, -97.662}}], Polygon[{{8.5422, -30.766, -94.765}, {14.956, -28.211, -94.765}, {10.069, -18.993, -97.662}, {5.7511, -20.713, -97.662}}], Polygon[{{14.956, -28.211, -94.765}, {20.671, -24.336, -94.765}, {13.917, -16.384, -97.662}, {10.069, -18.993, -97.662}}], Polygon[{{20.671, -24.336, -94.765}, {25.419, -19.323, -94.765}, {17.114, -13.009, -97.662}, {13.917, -16.384, -97.662}}], Polygon[{{25.419, -19.323, -94.765}, {28.979, -13.407, -94.765}, {19.51, -9.0264, -97.662}, {17.114, -13.009, -97.662}}], Polygon[{{28.979, -13.407, -94.765}, {31.184, -6.864, -94.765}, {20.994, -4.6212, -97.662}, {19.51, -9.0264, -97.662}}], Polygon[{{31.184, -6.864, -94.765}, {31.93, -7.8204*^-15, -94.765}, {21.497, -5.2651*^-15, -97.662}, {20.994, -4.6212, -97.662}}], Polygon[{{21.497, 0., -97.662}, {20.994, 4.6212, -97.662}, {10.559, 2.3242, -99.414}, {10.812, 0., -99.414}}], Polygon[{{20.994, 4.6212, -97.662}, {19.51, 9.0264, -97.662}, {9.8126, 4.5398, -99.414}, {10.559, 2.3242, -99.414}}], Polygon[{{19.51, 9.0264, -97.662}, {17.114, 13.009, -97.662}, {8.6073, 6.5431, -99.414}, {9.8126, 4.5398, -99.414}}], Polygon[{{17.114, 13.009, -97.662}, {13.917, 16.384, -97.662}, {6.9995, 8.2404, -99.414}, {8.6073, 6.5431, -99.414}}], Polygon[{{13.917, 16.384, -97.662}, {10.069, 18.993, -97.662}, {5.0644, 9.5524, -99.414}, {6.9995, 8.2404, -99.414}}], Polygon[{{10.069, 18.993, -97.662}, {5.7511, 20.713, -97.662}, {2.8925, 10.418, -99.414}, {5.0644, 9.5524, -99.414}}], Polygon[{{5.7511, 20.713, -97.662}, {1.1638, 21.466, -97.662}, {0.58534, 10.796, -99.414}, {2.8925, 10.418, -99.414}}], Polygon[{{1.1638, 21.466, -97.662}, {-3.4778, 21.214, -97.662}, {-1.7492, 10.669, -99.414}, {0.58534, 10.796, -99.414}}], Polygon[{{-3.4778, 21.214, -97.662}, {-7.9569, 19.97, -97.662}, {-4.0019, 10.044, -99.414}, {-1.7492, 10.669, -99.414}}], Polygon[{{-7.9569, 19.97, -97.662}, {-12.064, 17.793, -97.662}, {-6.0675, 8.9489, -99.414}, {-4.0019, 10.044, -99.414}}], Polygon[{{-12.064, 17.793, -97.662}, {-15.607, 14.784, -97.662}, {-7.8494, 7.4353, -99.414}, {-6.0675, 8.9489, -99.414}}], Polygon[{{-15.607, 14.784, -97.662}, {-18.42, 11.083, -97.662}, {-9.2643, 5.5741, -99.414}, {-7.8494, 7.4353, -99.414}}], Polygon[{{-18.42, 11.083, -97.662}, {-20.372, 6.864, -97.662}, {-10.246, 3.4523, -99.414}, {-9.2643, 5.5741, -99.414}}], Polygon[{{-20.372, 6.864, -97.662}, {-21.371, 2.3242, -97.662}, {-10.749, 1.169, -99.414}, {-10.246, 3.4523, -99.414}}], Polygon[{{-21.371, 2.3242, -97.662}, {-21.371, -2.3242, -97.662}, {-10.749, -1.169, -99.414}, {-10.749, 1.169, -99.414}}], Polygon[{{-21.371, -2.3242, -97.662}, {-20.372, -6.864, -97.662}, {-10.246, -3.4523, -99.414}, {-10.749, -1.169, -99.414}}], Polygon[{{-20.372, -6.864, -97.662}, {-18.42, -11.083, -97.662}, {-9.2643, -5.5741, -99.414}, {-10.246, -3.4523, -99.414}}], Polygon[{{-18.42, -11.083, -97.662}, {-15.607, -14.784, -97.662}, {-7.8494, -7.4353, -99.414}, {-9.2643, -5.5741, -99.414}}], Polygon[{{-15.607, -14.784, -97.662}, {-12.064, -17.793, -97.662}, {-6.0675, -8.9489, -99.414}, {-7.8494, -7.4353, -99.414}}], Polygon[{{-12.064, -17.793, -97.662}, {-7.9569, -19.97, -97.662}, {-4.0019, -10.044, -99.414}, {-6.0675, -8.9489, -99.414}}], Polygon[{{-7.9569, -19.97, -97.662}, {-3.4778, -21.214, -97.662}, {-1.7492, -10.669, -99.414}, {-4.0019, -10.044, -99.414}}], Polygon[{{-3.4778, -21.214, -97.662}, {1.1638, -21.466, -97.662}, {0.58534, -10.796, -99.414}, {-1.7492, -10.669, -99.414}}], Polygon[{{1.1638, -21.466, -97.662}, {5.7511, -20.713, -97.662}, {2.8925, -10.418, -99.414}, {0.58534, -10.796, -99.414}}], Polygon[{{5.7511, -20.713, -97.662}, {10.069, -18.993, -97.662}, {5.0644, -9.5524, -99.414}, {2.8925, -10.418, -99.414}}], Polygon[{{10.069, -18.993, -97.662}, {13.917, -16.384, -97.662}, {6.9995, -8.2404, -99.414}, {5.0644, -9.5524, -99.414}}], Polygon[{{13.917, -16.384, -97.662}, {17.114, -13.009, -97.662}, {8.6073, -6.5431, -99.414}, {6.9995, -8.2404, -99.414}}], Polygon[{{17.114, -13.009, -97.662}, {19.51, -9.0264, -97.662}, {9.8126, -4.5398, -99.414}, {8.6073, -6.5431, -99.414}}], Polygon[{{19.51, -9.0264, -97.662}, {20.994, -4.6212, -97.662}, {10.559, -2.3242, -99.414}, {9.8126, -4.5398, -99.414}}], Polygon[{{20.994, -4.6212, -97.662}, {21.497, -5.2651*^-15, -97.662}, {10.812, -2.6481*^-15, -99.414}, {10.559, -2.3242, -99.414}}], Polygon[{{10.812, 0., -99.414}, {10.559, 2.3242, -99.414}, {1.196*^-14, 2.6325*^-15, -100.}, {1.2246*^-14, 0., -100.}}], Polygon[{{10.559, 2.3242, -99.414}, {9.8126, 4.5398, -99.414}, {1.1114*^-14, 5.142*^-15, -100.}, {1.196*^-14, 2.6325*^-15, -100.}}], Polygon[{{9.8126, 4.5398, -99.414}, {8.6073, 6.5431, -99.414}, {9.749*^-15, 7.411*^-15, -100.}, {1.1114*^-14, 5.142*^-15, -100.}}], Polygon[{{8.6073, 6.5431, -99.414}, {6.9995, 8.2404, -99.414}, {7.9279*^-15, 9.3335*^-15, -100.}, {9.749*^-15, 7.411*^-15, -100.}}], Polygon[{{6.9995, 8.2404, -99.414}, {5.0644, 9.5524, -99.414}, {5.7362*^-15, 1.082*^-14, -100.}, {7.9279*^-15, 9.3335*^-15, -100.}}], Polygon[{{5.0644, 9.5524, -99.414}, {2.8925, 10.418, -99.414}, {3.2762*^-15, 1.18*^-14, -100.}, {5.7362*^-15, 1.082*^-14, -100.}}], Polygon[{{2.8925, 10.418, -99.414}, {0.58534, 10.796, -99.414}, {6.6299*^-16, 1.2228*^-14, -100.}, {3.2762*^-15, 1.18*^-14, -100.}}], Polygon[{{0.58534, 10.796, -99.414}, {-1.7492, 10.669, -99.414}, {-1.9812*^-15, 1.2085*^-14, -100.}, {6.6299*^-16, 1.2228*^-14, -100.}}], Polygon[{{-1.7492, 10.669, -99.414}, {-4.0019, 10.044, -99.414}, {-4.5327*^-15, 1.1376*^-14, -100.}, {-1.9812*^-15, 1.2085*^-14, -100.}}], Polygon[{{-4.0019, 10.044, -99.414}, {-6.0675, 8.9489, -99.414}, {-6.8723*^-15, 1.0136*^-14, -100.}, {-4.5327*^-15, 1.1376*^-14, -100.}}], Polygon[{{-6.0675, 8.9489, -99.414}, {-7.8494, 7.4353, -99.414}, {-8.8906*^-15, 8.4216*^-15, -100.}, {-6.8723*^-15, 1.0136*^-14, -100.}}], Polygon[{{-7.8494, 7.4353, -99.414}, {-9.2643, 5.5741, -99.414}, {-1.0493*^-14, 6.3135*^-15, -100.}, {-8.8906*^-15, 8.4216*^-15, -100.}}], Polygon[{{-9.2643, 5.5741, -99.414}, {-10.246, 3.4523, -99.414}, {-1.1605*^-14, 3.9102*^-15, -100.}, {-1.0493*^-14, 6.3135*^-15, -100.}}], Polygon[{{-10.246, 3.4523, -99.414}, {-10.749, 1.169, -99.414}, {-1.2174*^-14, 1.324*^-15, -100.}, {-1.1605*^-14, 3.9102*^-15, -100.}}], Polygon[{{-10.749, 1.169, -99.414}, {-10.749, -1.169, -99.414}, {-1.2174*^-14, -1.324*^-15, -100.}, {-1.2174*^-14, 1.324*^-15, -100.}}], Polygon[{{-10.749, -1.169, -99.414}, {-10.246, -3.4523, -99.414}, {-1.1605*^-14, -3.9102*^-15, -100.}, {-1.2174*^-14, -1.324*^-15, -100.}}], Polygon[{{-10.246, -3.4523, -99.414}, {-9.2643, -5.5741, -99.414}, {-1.0493*^-14, -6.3135*^-15, -100.}, {-1.1605*^-14, -3.9102*^-15, -100.}}], Polygon[{{-9.2643, -5.5741, -99.414}, {-7.8494, -7.4353, -99.414}, {-8.8906*^-15, -8.4216*^-15, -100.}, {-1.0493*^-14, -6.3135*^-15, -100.}}], Polygon[{{-7.8494, -7.4353, -99.414}, {-6.0675, -8.9489, -99.414}, {-6.8723*^-15, -1.0136*^-14, -100.}, {-8.8906*^-15, -8.4216*^-15, -100.}}], Polygon[{{-6.0675, -8.9489, -99.414}, {-4.0019, -10.044, -99.414}, {-4.5327*^-15, -1.1376*^-14, -100.}, {-6.8723*^-15, -1.0136*^-14, -100.}}], Polygon[{{-4.0019, -10.044, -99.414}, {-1.7492, -10.669, -99.414}, {-1.9812*^-15, -1.2085*^-14, -100.}, {-4.5327*^-15, -1.1376*^-14, -100.}}], Polygon[{{-1.7492, -10.669, -99.414}, {0.58534, -10.796, -99.414}, {6.6299*^-16, -1.2228*^-14, -100.}, {-1.9812*^-15, -1.2085*^-14, -100.}}], Polygon[{{0.58534, -10.796, -99.414}, {2.8925, -10.418, -99.414}, {3.2762*^-15, -1.18*^-14, -100.}, {6.6299*^-16, -1.2228*^-14, -100.}}], Polygon[{{2.8925, -10.418, -99.414}, {5.0644, -9.5524, -99.414}, {5.7362*^-15, -1.082*^-14, -100.}, {3.2762*^-15, -1.18*^-14, -100.}}], Polygon[{{5.0644, -9.5524, -99.414}, {6.9995, -8.2404, -99.414}, {7.9279*^-15, -9.3335*^-15, -100.}, {5.7362*^-15, -1.082*^-14, -100.}}], Polygon[{{6.9995, -8.2404, -99.414}, {8.6073, -6.5431, -99.414}, {9.749*^-15, -7.411*^-15, -100.}, {7.9279*^-15, -9.3335*^-15, -100.}}], Polygon[{{8.6073, -6.5431, -99.414}, {9.8126, -4.5398, -99.414}, {1.1114*^-14, -5.142*^-15, -100.}, {9.749*^-15, -7.411*^-15, -100.}}], Polygon[{{9.8126, -4.5398, -99.414}, {10.559, -2.3242, -99.414}, {1.196*^-14, -2.6325*^-15, -100.}, {1.1114*^-14, -5.142*^-15, -100.}}], Polygon[{{10.559, -2.3242, -99.414}, {10.812, -2.6481*^-15, -99.414}, {1.2246*^-14, -2.9993*^-30, -100.}, {1.196*^-14, -2.6325*^-15, -100.}}]}}, {AmbientLight -> GrayLevel[0.15], PlotRange -> Automatic, DisplayFunction :> $DisplayFunction, ColorOutput -> Automatic, Axes -> True, PlotLabel -> None, AxesLabel -> {"x", "y", "z"}, Ticks -> Automatic, Prolog -> {}, Epilog -> {}, AxesStyle -> Automatic, Background -> Automatic, DefaultColor -> Automatic, DefaultFont :> $DefaultFont, AspectRatio -> Automatic, ViewPoint -> {1.3, -2.4, 2.}, Boxed -> True, BoxRatios -> Automatic, Plot3Matrix -> Automatic, Lighting -> True, AmbientLight -> GrayLevel[0.], LightSources -> {{{1., 0., 1.}, RGBColor[1., 0., 0.]}, {{1., 1., 1.}, RGBColor[0., 1., 0.]}, {{0., 1., 1.}, RGBColor[0., 0., 1.]}}, ViewCenter -> Automatic, PlotRegion -> Automatic, ImageSize -> Automatic, TextStyle :> {FontFamily -> "Times", FontSize -> 14.}, FormatType :> $FormatType, ViewVertical -> {0., 0., 1.}, FaceGrids -> None, Shading -> True, RenderAll -> True, PolygonIntersections -> True, AxesEdge -> Automatic, BoxStyle -> Automatic, SphericalRegion -> False}]
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aPara.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aPara.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aPara.txt	(revision 904)
@@ -0,0 +1,1 @@
+Graphics3D[{Polygon[{{-58.808, -41.903, -60.}, {1.1918, -41.903, -60.}, {15.298, 38.097, -60.}, {-44.702, 38.097, -60.}}], Polygon[{{-15.298, -38.097, 60.}, {44.702, -38.097, 60.}, {58.808, 41.903, 60.}, {-1.1918, 41.903, 60.}}], Polygon[{{-58.808, -41.903, -60.}, {1.1918, -41.903, -60.}, {44.702, -38.097, 60.}, {-15.298, -38.097, 60.}}], Polygon[{{-44.702, 38.097, -60.}, {15.298, 38.097, -60.}, {58.808, 41.903, 60.}, {-1.1918, 41.903, 60.}}], Polygon[{{1.1918, -41.903, -60.}, {15.298, 38.097, -60.}, {58.808, 41.903, 60.}, {44.702, -38.097, 60.}}], Polygon[{{-58.808, -41.903, -60.}, {-44.702, 38.097, -60.}, {-1.1918, 41.903, 60.}, {-15.298, -38.097, 60.}}]}, {Axes -> True, AxesLabel -> {"x", "y", "z"}, TextStyle -> {FontFamily -> "Times", FontSize -> 16.}, AmbientLight -> GrayLevel[0.15]}]
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aParaboloid.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aParaboloid.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aParaboloid.txt	(revision 904)
@@ -0,0 +1,1 @@
+Graphics3D[{{Polygon[{{20., 0., -20.}, {18.916, 6.494, -20.}, {19.93, 6.8419, -17.866}, {21.071, 0., -17.866}}], Polygon[{{18.916, 6.494, -20.}, {15.783, 12.284, -20.}, {16.628, 12.942, -17.866}, {19.93, 6.8419, -17.866}}], Polygon[{{15.783, 12.284, -20.}, {10.939, 16.743, -20.}, {11.525, 17.64, -17.866}, {16.628, 12.942, -17.866}}], Polygon[{{10.939, 16.743, -20.}, {4.9097, 19.388, -20.}, {5.1727, 20.427, -17.866}, {11.525, 17.64, -17.866}}], Polygon[{{4.9097, 19.388, -20.}, {-1.6516, 19.932, -20.}, {-1.7401, 20.999, -17.866}, {5.1727, 20.427, -17.866}}], Polygon[{{-1.6516, 19.932, -20.}, {-8.0339, 18.315, -20.}, {-8.4643, 19.297, -17.866}, {-1.7401, 20.999, -17.866}}], Polygon[{{-8.0339, 18.315, -20.}, {-13.546, 14.714, -20.}, {-14.271, 15.503, -17.866}, {-8.4643, 19.297, -17.866}}], Polygon[{{-13.546, 14.714, -20.}, {-17.589, 9.5189, -20.}, {-18.532, 10.029, -17.866}, {-14.271, 15.503, -17.866}}], Polygon[{{-17.589, 9.5189, -20.}, {-19.727, 3.2919, -20.}, {-20.784, 3.4682, -17.866}, {-18.532, 10.029, -17.866}}], Polygon[{{-19.727, 3.2919, -20.}, {-19.727, -3.2919, -20.}, {-20.784, -3.4682, -17.866}, {-20.784, 3.4682, -17.866}}], Polygon[{{-19.727, -3.2919, -20.}, {-17.589, -9.5189, -20.}, {-18.532, -10.029, -17.866}, {-20.784, -3.4682, -17.866}}], Polygon[{{-17.589, -9.5189, -20.}, {-13.546, -14.714, -20.}, {-14.271, -15.503, -17.866}, {-18.532, -10.029, -17.866}}], Polygon[{{-13.546, -14.714, -20.}, {-8.0339, -18.315, -20.}, {-8.4643, -19.297, -17.866}, {-14.271, -15.503, -17.866}}], Polygon[{{-8.0339, -18.315, -20.}, {-1.6516, -19.932, -20.}, {-1.7401, -20.999, -17.866}, {-8.4643, -19.297, -17.866}}], Polygon[{{-1.6516, -19.932, -20.}, {4.9097, -19.388, -20.}, {5.1727, -20.427, -17.866}, {-1.7401, -20.999, -17.866}}], Polygon[{{4.9097, -19.388, -20.}, {10.939, -16.743, -20.}, {11.525, -17.64, -17.866}, {5.1727, -20.427, -17.866}}], Polygon[{{10.939, -16.743, -20.}, {15.783, -12.284, -20.}, {16.628, -12.942, -17.866}, {11.525, -17.64, -17.866}}], Polygon[{{15.783, -12.284, -20.}, {18.916, -6.494, -20.}, {19.93, -6.8419, -17.866}, {16.628, -12.942, -17.866}}], Polygon[{{18.916, -6.494, -20.}, {20., -4.8984*^-15, -20.}, {21.071, -5.1608*^-15, -17.866}, {19.93, -6.8419, -17.866}}], Polygon[{{21.071, 0., -17.866}, {19.93, 6.8419, -17.866}, {20.943, 7.1898, -15.622}, {22.143, 0., -15.622}}], Polygon[{{19.93, 6.8419, -17.866}, {16.628, 12.942, -17.866}, {17.474, 13.6, -15.622}, {20.943, 7.1898, -15.622}}], Polygon[{{16.628, 12.942, -17.866}, {11.525, 17.64, -17.866}, {12.111, 18.537, -15.622}, {17.474, 13.6, -15.622}}], Polygon[{{11.525, 17.64, -17.866}, {5.1727, 20.427, -17.866}, {5.4358, 21.465, -15.622}, {12.111, 18.537, -15.622}}], Polygon[{{5.1727, 20.427, -17.866}, {-1.7401, 20.999, -17.866}, {-1.8285, 22.067, -15.622}, {5.4358, 21.465, -15.622}}], Polygon[{{-1.7401, 20.999, -17.866}, {-8.4643, 19.297, -17.866}, {-8.8947, 20.278, -15.622}, {-1.8285, 22.067, -15.622}}], Polygon[{{-8.4643, 19.297, -17.866}, {-14.271, 15.503, -17.866}, {-14.997, 16.291, -15.622}, {-8.8947, 20.278, -15.622}}], Polygon[{{-14.271, 15.503, -17.866}, {-18.532, 10.029, -17.866}, {-19.474, 10.539, -15.622}, {-14.997, 16.291, -15.622}}], Polygon[{{-18.532, 10.029, -17.866}, {-20.784, 3.4682, -17.866}, {-21.841, 3.6446, -15.622}, {-19.474, 10.539, -15.622}}], Polygon[{{-20.784, 3.4682, -17.866}, {-20.784, -3.4682, -17.866}, {-21.841, -3.6446, -15.622}, {-21.841, 3.6446, -15.622}}], Polygon[{{-20.784, -3.4682, -17.866}, {-18.532, -10.029, -17.866}, {-19.474, -10.539, -15.622}, {-21.841, -3.6446, -15.622}}], Polygon[{{-18.532, -10.029, -17.866}, {-14.271, -15.503, -17.866}, {-14.997, -16.291, -15.622}, {-19.474, -10.539, -15.622}}], Polygon[{{-14.271, -15.503, -17.866}, {-8.4643, -19.297, -17.866}, {-8.8947, -20.278, -15.622}, {-14.997, -16.291, -15.622}}], Polygon[{{-8.4643, -19.297, -17.866}, {-1.7401, -20.999, -17.866}, {-1.8285, -22.067, -15.622}, {-8.8947, -20.278, -15.622}}], Polygon[{{-1.7401, -20.999, -17.866}, {5.1727, -20.427, -17.866}, {5.4358, -21.465, -15.622}, {-1.8285, -22.067, -15.622}}], Polygon[{{5.1727, -20.427, -17.866}, {11.525, -17.64, -17.866}, {12.111, -18.537, -15.622}, {5.4358, -21.465, -15.622}}], Polygon[{{11.525, -17.64, -17.866}, {16.628, -12.942, -17.866}, {17.474, -13.6, -15.622}, {12.111, -18.537, -15.622}}], Polygon[{{16.628, -12.942, -17.866}, {19.93, -6.8419, -17.866}, {20.943, -7.1898, -15.622}, {17.474, -13.6, -15.622}}], Polygon[{{19.93, -6.8419, -17.866}, {21.071, -5.1608*^-15, -17.866}, {22.143, -5.4233*^-15, -15.622}, {20.943, -7.1898, -15.622}}], Polygon[{{22.143, 0., -15.622}, {20.943, 7.1898, -15.622}, {21.956, 7.5377, -13.265}, {23.214, 0., -13.265}}], Polygon[{{20.943, 7.1898, -15.622}, {17.474, 13.6, -15.622}, {18.319, 14.259, -13.265}, {21.956, 7.5377, -13.265}}], Polygon[{{17.474, 13.6, -15.622}, {12.111, 18.537, -15.622}, {12.697, 19.434, -13.265}, {18.319, 14.259, -13.265}}], Polygon[{{12.111, 18.537, -15.622}, {5.4358, 21.465, -15.622}, {5.6988, 22.504, -13.265}, {12.697, 19.434, -13.265}}], Polygon[{{5.4358, 21.465, -15.622}, {-1.8285, 22.067, -15.622}, {-1.917, 23.135, -13.265}, {5.6988, 22.504, -13.265}}], Polygon[{{-1.8285, 22.067, -15.622}, {-8.8947, 20.278, -15.622}, {-9.3251, 21.259, -13.265}, {-1.917, 23.135, -13.265}}], Polygon[{{-8.8947, 20.278, -15.622}, {-14.997, 16.291, -15.622}, {-15.723, 17.079, -13.265}, {-9.3251, 21.259, -13.265}}], Polygon[{{-14.997, 16.291, -15.622}, {-19.474, 10.539, -15.622}, {-20.416, 11.049, -13.265}, {-15.723, 17.079, -13.265}}], Polygon[{{-19.474, 10.539, -15.622}, {-21.841, 3.6446, -15.622}, {-22.898, 3.8209, -13.265}, {-20.416, 11.049, -13.265}}], Polygon[{{-21.841, 3.6446, -15.622}, {-21.841, -3.6446, -15.622}, {-22.898, -3.8209, -13.265}, {-22.898, 3.8209, -13.265}}], Polygon[{{-21.841, -3.6446, -15.622}, {-19.474, -10.539, -15.622}, {-20.416, -11.049, -13.265}, {-22.898, -3.8209, -13.265}}], Polygon[{{-19.474, -10.539, -15.622}, {-14.997, -16.291, -15.622}, {-15.723, -17.079, -13.265}, {-20.416, -11.049, -13.265}}], Polygon[{{-14.997, -16.291, -15.622}, {-8.8947, -20.278, -15.622}, {-9.3251, -21.259, -13.265}, {-15.723, -17.079, -13.265}}], Polygon[{{-8.8947, -20.278, -15.622}, {-1.8285, -22.067, -15.622}, {-1.917, -23.135, -13.265}, {-9.3251, -21.259, -13.265}}], Polygon[{{-1.8285, -22.067, -15.622}, {5.4358, -21.465, -15.622}, {5.6988, -22.504, -13.265}, {-1.917, -23.135, -13.265}}], Polygon[{{5.4358, -21.465, -15.622}, {12.111, -18.537, -15.622}, {12.697, -19.434, -13.265}, {5.6988, -22.504, -13.265}}], Polygon[{{12.111, -18.537, -15.622}, {17.474, -13.6, -15.622}, {18.319, -14.259, -13.265}, {12.697, -19.434, -13.265}}], Polygon[{{17.474, -13.6, -15.622}, {20.943, -7.1898, -15.622}, {21.956, -7.5377, -13.265}, {18.319, -14.259, -13.265}}], Polygon[{{20.943, -7.1898, -15.622}, {22.143, -5.4233*^-15, -15.622}, {23.214, -5.6857*^-15, -13.265}, {21.956, -7.5377, -13.265}}], Polygon[{{23.214, 0., -13.265}, {21.956, 7.5377, -13.265}, {22.97, 7.8856, -10.798}, {24.286, 0., -10.798}}], Polygon[{{21.956, 7.5377, -13.265}, {18.319, 14.259, -13.265}, {19.165, 14.917, -10.798}, {22.97, 7.8856, -10.798}}], Polygon[{{18.319, 14.259, -13.265}, {12.697, 19.434, -13.265}, {13.283, 20.331, -10.798}, {19.165, 14.917, -10.798}}], Polygon[{{12.697, 19.434, -13.265}, {5.6988, 22.504, -13.265}, {5.9618, 23.543, -10.798}, {13.283, 20.331, -10.798}}], Polygon[{{5.6988, 22.504, -13.265}, {-1.917, 23.135, -13.265}, {-2.0055, 24.203, -10.798}, {5.9618, 23.543, -10.798}}], Polygon[{{-1.917, 23.135, -13.265}, {-9.3251, 21.259, -13.265}, {-9.7555, 22.24, -10.798}, {-2.0055, 24.203, -10.798}}], Polygon[{{-9.3251, 21.259, -13.265}, {-15.723, 17.079, -13.265}, {-16.448, 17.868, -10.798}, {-9.7555, 22.24, -10.798}}], Polygon[{{-15.723, 17.079, -13.265}, {-20.416, 11.049, -13.265}, {-21.359, 11.559, -10.798}, {-16.448, 17.868, -10.798}}], Polygon[{{-20.416, 11.049, -13.265}, {-22.898, 3.8209, -13.265}, {-23.954, 3.9973, -10.798}, {-21.359, 11.559, -10.798}}], Polygon[{{-22.898, 3.8209, -13.265}, {-22.898, -3.8209, -13.265}, {-23.954, -3.9973, -10.798}, {-23.954, 3.9973, -10.798}}], Polygon[{{-22.898, -3.8209, -13.265}, {-20.416, -11.049, -13.265}, {-21.359, -11.559, -10.798}, {-23.954, -3.9973, -10.798}}], Polygon[{{-20.416, -11.049, -13.265}, {-15.723, -17.079, -13.265}, {-16.448, -17.868, -10.798}, {-21.359, -11.559, -10.798}}], Polygon[{{-15.723, -17.079, -13.265}, {-9.3251, -21.259, -13.265}, {-9.7555, -22.24, -10.798}, {-16.448, -17.868, -10.798}}], Polygon[{{-9.3251, -21.259, -13.265}, {-1.917, -23.135, -13.265}, {-2.0055, -24.203, -10.798}, {-9.7555, -22.24, -10.798}}], Polygon[{{-1.917, -23.135, -13.265}, {5.6988, -22.504, -13.265}, {5.9618, -23.543, -10.798}, {-2.0055, -24.203, -10.798}}], Polygon[{{5.6988, -22.504, -13.265}, {12.697, -19.434, -13.265}, {13.283, -20.331, -10.798}, {5.9618, -23.543, -10.798}}], Polygon[{{12.697, -19.434, -13.265}, {18.319, -14.259, -13.265}, {19.165, -14.917, -10.798}, {13.283, -20.331, -10.798}}], Polygon[{{18.319, -14.259, -13.265}, {21.956, -7.5377, -13.265}, {22.97, -7.8856, -10.798}, {19.165, -14.917, -10.798}}], Polygon[{{21.956, -7.5377, -13.265}, {23.214, -5.6857*^-15, -13.265}, {24.286, -5.9481*^-15, -10.798}, {22.97, -7.8856, -10.798}}], Polygon[{{24.286, 0., -10.798}, {22.97, 7.8856, -10.798}, {23.983, 8.2335, -8.2189}, {25.357, 0., -8.2189}}], Polygon[{{22.97, 7.8856, -10.798}, {19.165, 14.917, -10.798}, {20.01, 15.575, -8.2189}, {23.983, 8.2335, -8.2189}}], Polygon[{{19.165, 14.917, -10.798}, {13.283, 20.331, -10.798}, {13.869, 21.228, -8.2189}, {20.01, 15.575, -8.2189}}], Polygon[{{13.283, 20.331, -10.798}, {5.9618, 23.543, -10.798}, {6.2248, 24.581, -8.2189}, {13.869, 21.228, -8.2189}}], Polygon[{{5.9618, 23.543, -10.798}, {-2.0055, 24.203, -10.798}, {-2.094, 25.271, -8.2189}, {6.2248, 24.581, -8.2189}}], Polygon[{{-2.0055, 24.203, -10.798}, {-9.7555, 22.24, -10.798}, {-10.186, 23.221, -8.2189}, {-2.094, 25.271, -8.2189}}], Polygon[{{-9.7555, 22.24, -10.798}, {-16.448, 17.868, -10.798}, {-17.174, 18.656, -8.2189}, {-10.186, 23.221, -8.2189}}], Polygon[{{-16.448, 17.868, -10.798}, {-21.359, 11.559, -10.798}, {-22.301, 12.069, -8.2189}, {-17.174, 18.656, -8.2189}}], Polygon[{{-21.359, 11.559, -10.798}, {-23.954, 3.9973, -10.798}, {-25.011, 4.1736, -8.2189}, {-22.301, 12.069, -8.2189}}], Polygon[{{-23.954, 3.9973, -10.798}, {-23.954, -3.9973, -10.798}, {-25.011, -4.1736, -8.2189}, {-25.011, 4.1736, -8.2189}}], Polygon[{{-23.954, -3.9973, -10.798}, {-21.359, -11.559, -10.798}, {-22.301, -12.069, -8.2189}, {-25.011, -4.1736, -8.2189}}], Polygon[{{-21.359, -11.559, -10.798}, {-16.448, -17.868, -10.798}, {-17.174, -18.656, -8.2189}, {-22.301, -12.069, -8.2189}}], Polygon[{{-16.448, -17.868, -10.798}, {-9.7555, -22.24, -10.798}, {-10.186, -23.221, -8.2189}, {-17.174, -18.656, -8.2189}}], Polygon[{{-9.7555, -22.24, -10.798}, {-2.0055, -24.203, -10.798}, {-2.094, -25.271, -8.2189}, {-10.186, -23.221, -8.2189}}], Polygon[{{-2.0055, -24.203, -10.798}, {5.9618, -23.543, -10.798}, {6.2248, -24.581, -8.2189}, {-2.094, -25.271, -8.2189}}], Polygon[{{5.9618, -23.543, -10.798}, {13.283, -20.331, -10.798}, {13.869, -21.228, -8.2189}, {6.2248, -24.581, -8.2189}}], Polygon[{{13.283, -20.331, -10.798}, {19.165, -14.917, -10.798}, {20.01, -15.575, -8.2189}, {13.869, -21.228, -8.2189}}], Polygon[{{19.165, -14.917, -10.798}, {22.97, -7.8856, -10.798}, {23.983, -8.2335, -8.2189}, {20.01, -15.575, -8.2189}}], Polygon[{{22.97, -7.8856, -10.798}, {24.286, -5.9481*^-15, -10.798}, {25.357, -6.2105*^-15, -8.2189}, {23.983, -8.2335, -8.2189}}], Polygon[{{25.357, 0., -8.2189}, {23.983, 8.2335, -8.2189}, {24.997, 8.5813, -5.5288}, {26.429, 0., -5.5288}}], Polygon[{{23.983, 8.2335, -8.2189}, {20.01, 15.575, -8.2189}, {20.856, 16.233, -5.5288}, {24.997, 8.5813, -5.5288}}], Polygon[{{20.01, 15.575, -8.2189}, {13.869, 21.228, -8.2189}, {14.455, 22.125, -5.5288}, {20.856, 16.233, -5.5288}}], Polygon[{{13.869, 21.228, -8.2189}, {6.2248, 24.581, -8.2189}, {6.4878, 25.62, -5.5288}, {14.455, 22.125, -5.5288}}], Polygon[{{6.2248, 24.581, -8.2189}, {-2.094, 25.271, -8.2189}, {-2.1825, 26.338, -5.5288}, {6.4878, 25.62, -5.5288}}], Polygon[{{-2.094, 25.271, -8.2189}, {-10.186, 23.221, -8.2189}, {-10.616, 24.203, -5.5288}, {-2.1825, 26.338, -5.5288}}], Polygon[{{-10.186, 23.221, -8.2189}, {-17.174, 18.656, -8.2189}, {-17.9, 19.444, -5.5288}, {-10.616, 24.203, -5.5288}}], Polygon[{{-17.174, 18.656, -8.2189}, {-22.301, 12.069, -8.2189}, {-23.243, 12.579, -5.5288}, {-17.9, 19.444, -5.5288}}], Polygon[{{-22.301, 12.069, -8.2189}, {-25.011, 4.1736, -8.2189}, {-26.068, 4.35, -5.5288}, {-23.243, 12.579, -5.5288}}], Polygon[{{-25.011, 4.1736, -8.2189}, {-25.011, -4.1736, -8.2189}, {-26.068, -4.35, -5.5288}, {-26.068, 4.35, -5.5288}}], Polygon[{{-25.011, -4.1736, -8.2189}, {-22.301, -12.069, -8.2189}, {-23.243, -12.579, -5.5288}, {-26.068, -4.35, -5.5288}}], Polygon[{{-22.301, -12.069, -8.2189}, {-17.174, -18.656, -8.2189}, {-17.9, -19.444, -5.5288}, {-23.243, -12.579, -5.5288}}], Polygon[{{-17.174, -18.656, -8.2189}, {-10.186, -23.221, -8.2189}, {-10.616, -24.203, -5.5288}, {-17.9, -19.444, -5.5288}}], Polygon[{{-10.186, -23.221, -8.2189}, {-2.094, -25.271, -8.2189}, {-2.1825, -26.338, -5.5288}, {-10.616, -24.203, -5.5288}}], Polygon[{{-2.094, -25.271, -8.2189}, {6.2248, -24.581, -8.2189}, {6.4878, -25.62, -5.5288}, {-2.1825, -26.338, -5.5288}}], Polygon[{{6.2248, -24.581, -8.2189}, {13.869, -21.228, -8.2189}, {14.455, -22.125, -5.5288}, {6.4878, -25.62, -5.5288}}], Polygon[{{13.869, -21.228, -8.2189}, {20.01, -15.575, -8.2189}, {20.856, -16.233, -5.5288}, {14.455, -22.125, -5.5288}}], Polygon[{{20.01, -15.575, -8.2189}, {23.983, -8.2335, -8.2189}, {24.997, -8.5813, -5.5288}, {20.856, -16.233, -5.5288}}], Polygon[{{23.983, -8.2335, -8.2189}, {25.357, -6.2105*^-15, -8.2189}, {26.429, -6.4729*^-15, -5.5288}, {24.997, -8.5813, -5.5288}}], Polygon[{{26.429, 0., -5.5288}, {24.997, 8.5813, -5.5288}, {26.01, 8.9292, -2.7273}, {27.5, 0., -2.7273}}], Polygon[{{24.997, 8.5813, -5.5288}, {20.856, 16.233, -5.5288}, {21.701, 16.891, -2.7273}, {26.01, 8.9292, -2.7273}}], Polygon[{{20.856, 16.233, -5.5288}, {14.455, 22.125, -5.5288}, {15.041, 23.022, -2.7273}, {21.701, 16.891, -2.7273}}], Polygon[{{14.455, 22.125, -5.5288}, {6.4878, 25.62, -5.5288}, {6.7509, 26.659, -2.7273}, {15.041, 23.022, -2.7273}}], Polygon[{{6.4878, 25.62, -5.5288}, {-2.1825, 26.338, -5.5288}, {-2.2709, 27.406, -2.7273}, {6.7509, 26.659, -2.7273}}], Polygon[{{-2.1825, 26.338, -5.5288}, {-10.616, 24.203, -5.5288}, {-11.047, 25.184, -2.7273}, {-2.2709, 27.406, -2.7273}}], Polygon[{{-10.616, 24.203, -5.5288}, {-17.9, 19.444, -5.5288}, {-18.625, 20.232, -2.7273}, {-11.047, 25.184, -2.7273}}], Polygon[{{-17.9, 19.444, -5.5288}, {-23.243, 12.579, -5.5288}, {-24.186, 13.089, -2.7273}, {-18.625, 20.232, -2.7273}}], Polygon[{{-23.243, 12.579, -5.5288}, {-26.068, 4.35, -5.5288}, {-27.125, 4.5264, -2.7273}, {-24.186, 13.089, -2.7273}}], Polygon[{{-26.068, 4.35, -5.5288}, {-26.068, -4.35, -5.5288}, {-27.125, -4.5264, -2.7273}, {-27.125, 4.5264, -2.7273}}], Polygon[{{-26.068, -4.35, -5.5288}, {-23.243, -12.579, -5.5288}, {-24.186, -13.089, -2.7273}, {-27.125, -4.5264, -2.7273}}], Polygon[{{-23.243, -12.579, -5.5288}, {-17.9, -19.444, -5.5288}, {-18.625, -20.232, -2.7273}, {-24.186, -13.089, -2.7273}}], Polygon[{{-17.9, -19.444, -5.5288}, {-10.616, -24.203, -5.5288}, {-11.047, -25.184, -2.7273}, {-18.625, -20.232, -2.7273}}], Polygon[{{-10.616, -24.203, -5.5288}, {-2.1825, -26.338, -5.5288}, {-2.2709, -27.406, -2.7273}, {-11.047, -25.184, -2.7273}}], Polygon[{{-2.1825, -26.338, -5.5288}, {6.4878, -25.62, -5.5288}, {6.7509, -26.659, -2.7273}, {-2.2709, -27.406, -2.7273}}], Polygon[{{6.4878, -25.62, -5.5288}, {14.455, -22.125, -5.5288}, {15.041, -23.022, -2.7273}, {6.7509, -26.659, -2.7273}}], Polygon[{{14.455, -22.125, -5.5288}, {20.856, -16.233, -5.5288}, {21.701, -16.891, -2.7273}, {15.041, -23.022, -2.7273}}], Polygon[{{20.856, -16.233, -5.5288}, {24.997, -8.5813, -5.5288}, {26.01, -8.9292, -2.7273}, {21.701, -16.891, -2.7273}}], Polygon[{{24.997, -8.5813, -5.5288}, {26.429, -6.4729*^-15, -5.5288}, {27.5, -6.7353*^-15, -2.7273}, {26.01, -8.9292, -2.7273}}], Polygon[{{27.5, 0., -2.7273}, {26.01, 8.9292, -2.7273}, {27.023, 9.2771, 0.18553}, {28.571, 0., 0.18553}}], Polygon[{{26.01, 8.9292, -2.7273}, {21.701, 16.891, -2.7273}, {22.547, 17.549, 0.18553}, {27.023, 9.2771, 0.18553}}], Polygon[{{21.701, 16.891, -2.7273}, {15.041, 23.022, -2.7273}, {15.627, 23.919, 0.18553}, {22.547, 17.549, 0.18553}}], Polygon[{{15.041, 23.022, -2.7273}, {6.7509, 26.659, -2.7273}, {7.0139, 27.697, 0.18553}, {15.627, 23.919, 0.18553}}], Polygon[{{6.7509, 26.659, -2.7273}, {-2.2709, 27.406, -2.7273}, {-2.3594, 28.474, 0.18553}, {7.0139, 27.697, 0.18553}}], Polygon[{{-2.2709, 27.406, -2.7273}, {-11.047, 25.184, -2.7273}, {-11.477, 26.165, 0.18553}, {-2.3594, 28.474, 0.18553}}], Polygon[{{-11.047, 25.184, -2.7273}, {-18.625, 20.232, -2.7273}, {-19.351, 21.021, 0.18553}, {-11.477, 26.165, 0.18553}}], Polygon[{{-18.625, 20.232, -2.7273}, {-24.186, 13.089, -2.7273}, {-25.128, 13.598, 0.18553}, {-19.351, 21.021, 0.18553}}], Polygon[{{-24.186, 13.089, -2.7273}, {-27.125, 4.5264, -2.7273}, {-28.182, 4.7027, 0.18553}, {-25.128, 13.598, 0.18553}}], Polygon[{{-27.125, 4.5264, -2.7273}, {-27.125, -4.5264, -2.7273}, {-28.182, -4.7027, 0.18553}, {-28.182, 4.7027, 0.18553}}], Polygon[{{-27.125, -4.5264, -2.7273}, {-24.186, -13.089, -2.7273}, {-25.128, -13.598, 0.18553}, {-28.182, -4.7027, 0.18553}}], Polygon[{{-24.186, -13.089, -2.7273}, {-18.625, -20.232, -2.7273}, {-19.351, -21.021, 0.18553}, {-25.128, -13.598, 0.18553}}], Polygon[{{-18.625, -20.232, -2.7273}, {-11.047, -25.184, -2.7273}, {-11.477, -26.165, 0.18553}, {-19.351, -21.021, 0.18553}}], Polygon[{{-11.047, -25.184, -2.7273}, {-2.2709, -27.406, -2.7273}, {-2.3594, -28.474, 0.18553}, {-11.477, -26.165, 0.18553}}], Polygon[{{-2.2709, -27.406, -2.7273}, {6.7509, -26.659, -2.7273}, {7.0139, -27.697, 0.18553}, {-2.3594, -28.474, 0.18553}}], Polygon[{{6.7509, -26.659, -2.7273}, {15.041, -23.022, -2.7273}, {15.627, -23.919, 0.18553}, {7.0139, -27.697, 0.18553}}], Polygon[{{15.041, -23.022, -2.7273}, {21.701, -16.891, -2.7273}, {22.547, -17.549, 0.18553}, {15.627, -23.919, 0.18553}}], Polygon[{{21.701, -16.891, -2.7273}, {26.01, -8.9292, -2.7273}, {27.023, -9.2771, 0.18553}, {22.547, -17.549, 0.18553}}], Polygon[{{26.01, -8.9292, -2.7273}, {27.5, -6.7353*^-15, -2.7273}, {28.571, -6.9978*^-15, 0.18553}, {27.023, -9.2771, 0.18553}}], Polygon[{{28.571, 0., 0.18553}, {27.023, 9.2771, 0.18553}, {28.037, 9.625, 3.2096}, {29.643, 0., 3.2096}}], Polygon[{{27.023, 9.2771, 0.18553}, {22.547, 17.549, 0.18553}, {23.392, 18.207, 3.2096}, {28.037, 9.625, 3.2096}}], Polygon[{{22.547, 17.549, 0.18553}, {15.627, 23.919, 0.18553}, {16.213, 24.816, 3.2096}, {23.392, 18.207, 3.2096}}], Polygon[{{15.627, 23.919, 0.18553}, {7.0139, 27.697, 0.18553}, {7.2769, 28.736, 3.2096}, {16.213, 24.816, 3.2096}}], Polygon[{{7.0139, 27.697, 0.18553}, {-2.3594, 28.474, 0.18553}, {-2.4479, 29.542, 3.2096}, {7.2769, 28.736, 3.2096}}], Polygon[{{-2.3594, 28.474, 0.18553}, {-11.477, 26.165, 0.18553}, {-11.907, 27.146, 3.2096}, {-2.4479, 29.542, 3.2096}}], Polygon[{{-11.477, 26.165, 0.18553}, {-19.351, 21.021, 0.18553}, {-20.077, 21.809, 3.2096}, {-11.907, 27.146, 3.2096}}], Polygon[{{-19.351, 21.021, 0.18553}, {-25.128, 13.598, 0.18553}, {-26.07, 14.108, 3.2096}, {-20.077, 21.809, 3.2096}}], Polygon[{{-25.128, 13.598, 0.18553}, {-28.182, 4.7027, 0.18553}, {-29.239, 4.8791, 3.2096}, {-26.07, 14.108, 3.2096}}], Polygon[{{-28.182, 4.7027, 0.18553}, {-28.182, -4.7027, 0.18553}, {-29.239, -4.8791, 3.2096}, {-29.239, 4.8791, 3.2096}}], Polygon[{{-28.182, -4.7027, 0.18553}, {-25.128, -13.598, 0.18553}, {-26.07, -14.108, 3.2096}, {-29.239, -4.8791, 3.2096}}], Polygon[{{-25.128, -13.598, 0.18553}, {-19.351, -21.021, 0.18553}, {-20.077, -21.809, 3.2096}, {-26.07, -14.108, 3.2096}}], Polygon[{{-19.351, -21.021, 0.18553}, {-11.477, -26.165, 0.18553}, {-11.907, -27.146, 3.2096}, {-20.077, -21.809, 3.2096}}], Polygon[{{-11.477, -26.165, 0.18553}, {-2.3594, -28.474, 0.18553}, {-2.4479, -29.542, 3.2096}, {-11.907, -27.146, 3.2096}}], Polygon[{{-2.3594, -28.474, 0.18553}, {7.0139, -27.697, 0.18553}, {7.2769, -28.736, 3.2096}, {-2.4479, -29.542, 3.2096}}], Polygon[{{7.0139, -27.697, 0.18553}, {15.627, -23.919, 0.18553}, {16.213, -24.816, 3.2096}, {7.2769, -28.736, 3.2096}}], Polygon[{{15.627, -23.919, 0.18553}, {22.547, -17.549, 0.18553}, {23.392, -18.207, 3.2096}, {16.213, -24.816, 3.2096}}], Polygon[{{22.547, -17.549, 0.18553}, {27.023, -9.2771, 0.18553}, {28.037, -9.625, 3.2096}, {23.392, -18.207, 3.2096}}], Polygon[{{27.023, -9.2771, 0.18553}, {28.571, -6.9978*^-15, 0.18553}, {29.643, -7.2602*^-15, 3.2096}, {28.037, -9.625, 3.2096}}], Polygon[{{29.643, 0., 3.2096}, {28.037, 9.625, 3.2096}, {29.05, 9.9729, 6.3451}, {30.714, 0., 6.3451}}], Polygon[{{28.037, 9.625, 3.2096}, {23.392, 18.207, 3.2096}, {24.238, 18.865, 6.3451}, {29.05, 9.9729, 6.3451}}], Polygon[{{23.392, 18.207, 3.2096}, {16.213, 24.816, 3.2096}, {16.799, 25.713, 6.3451}, {24.238, 18.865, 6.3451}}], Polygon[{{16.213, 24.816, 3.2096}, {7.2769, 28.736, 3.2096}, {7.5399, 29.774, 6.3451}, {16.799, 25.713, 6.3451}}], Polygon[{{7.2769, 28.736, 3.2096}, {-2.4479, 29.542, 3.2096}, {-2.5364, 30.609, 6.3451}, {7.5399, 29.774, 6.3451}}], Polygon[{{-2.4479, 29.542, 3.2096}, {-11.907, 27.146, 3.2096}, {-12.338, 28.127, 6.3451}, {-2.5364, 30.609, 6.3451}}], Polygon[{{-11.907, 27.146, 3.2096}, {-20.077, 21.809, 3.2096}, {-20.802, 22.597, 6.3451}, {-12.338, 28.127, 6.3451}}], Polygon[{{-20.077, 21.809, 3.2096}, {-26.07, 14.108, 3.2096}, {-27.012, 14.618, 6.3451}, {-20.802, 22.597, 6.3451}}], Polygon[{{-26.07, 14.108, 3.2096}, {-29.239, 4.8791, 3.2096}, {-30.295, 5.0554, 6.3451}, {-27.012, 14.618, 6.3451}}], Polygon[{{-29.239, 4.8791, 3.2096}, {-29.239, -4.8791, 3.2096}, {-30.295, -5.0554, 6.3451}, {-30.295, 5.0554, 6.3451}}], Polygon[{{-29.239, -4.8791, 3.2096}, {-26.07, -14.108, 3.2096}, {-27.012, -14.618, 6.3451}, {-30.295, -5.0554, 6.3451}}], Polygon[{{-26.07, -14.108, 3.2096}, {-20.077, -21.809, 3.2096}, {-20.802, -22.597, 6.3451}, {-27.012, -14.618, 6.3451}}], Polygon[{{-20.077, -21.809, 3.2096}, {-11.907, -27.146, 3.2096}, {-12.338, -28.127, 6.3451}, {-20.802, -22.597, 6.3451}}], Polygon[{{-11.907, -27.146, 3.2096}, {-2.4479, -29.542, 3.2096}, {-2.5364, -30.609, 6.3451}, {-12.338, -28.127, 6.3451}}], Polygon[{{-2.4479, -29.542, 3.2096}, {7.2769, -28.736, 3.2096}, {7.5399, -29.774, 6.3451}, {-2.5364, -30.609, 6.3451}}], Polygon[{{7.2769, -28.736, 3.2096}, {16.213, -24.816, 3.2096}, {16.799, -25.713, 6.3451}, {7.5399, -29.774, 6.3451}}], Polygon[{{16.213, -24.816, 3.2096}, {23.392, -18.207, 3.2096}, {24.238, -18.865, 6.3451}, {16.799, -25.713, 6.3451}}], Polygon[{{23.392, -18.207, 3.2096}, {28.037, -9.625, 3.2096}, {29.05, -9.9729, 6.3451}, {24.238, -18.865, 6.3451}}], Polygon[{{28.037, -9.625, 3.2096}, {29.643, -7.2602*^-15, 3.2096}, {30.714, -7.5226*^-15, 6.3451}, {29.05, -9.9729, 6.3451}}], Polygon[{{30.714, 0., 6.3451}, {29.05, 9.9729, 6.3451}, {30.063, 10.321, 9.5918}, {31.786, 0., 9.5918}}], Polygon[{{29.05, 9.9729, 6.3451}, {24.238, 18.865, 6.3451}, {25.083, 19.523, 9.5918}, {30.063, 10.321, 9.5918}}], Polygon[{{24.238, 18.865, 6.3451}, {16.799, 25.713, 6.3451}, {17.385, 26.61, 9.5918}, {25.083, 19.523, 9.5918}}], Polygon[{{16.799, 25.713, 6.3451}, {7.5399, 29.774, 6.3451}, {7.8029, 30.813, 9.5918}, {17.385, 26.61, 9.5918}}], Polygon[{{7.5399, 29.774, 6.3451}, {-2.5364, 30.609, 6.3451}, {-2.6248, 31.677, 9.5918}, {7.8029, 30.813, 9.5918}}], Polygon[{{-2.5364, 30.609, 6.3451}, {-12.338, 28.127, 6.3451}, {-12.768, 29.109, 9.5918}, {-2.6248, 31.677, 9.5918}}], Polygon[{{-12.338, 28.127, 6.3451}, {-20.802, 22.597, 6.3451}, {-21.528, 23.386, 9.5918}, {-12.768, 29.109, 9.5918}}], Polygon[{{-20.802, 22.597, 6.3451}, {-27.012, 14.618, 6.3451}, {-27.955, 15.128, 9.5918}, {-21.528, 23.386, 9.5918}}], Polygon[{{-27.012, 14.618, 6.3451}, {-30.295, 5.0554, 6.3451}, {-31.352, 5.2318, 9.5918}, {-27.955, 15.128, 9.5918}}], Polygon[{{-30.295, 5.0554, 6.3451}, {-30.295, -5.0554, 6.3451}, {-31.352, -5.2318, 9.5918}, {-31.352, 5.2318, 9.5918}}], Polygon[{{-30.295, -5.0554, 6.3451}, {-27.012, -14.618, 6.3451}, {-27.955, -15.128, 9.5918}, {-31.352, -5.2318, 9.5918}}], Polygon[{{-27.012, -14.618, 6.3451}, {-20.802, -22.597, 6.3451}, {-21.528, -23.386, 9.5918}, {-27.955, -15.128, 9.5918}}], Polygon[{{-20.802, -22.597, 6.3451}, {-12.338, -28.127, 6.3451}, {-12.768, -29.109, 9.5918}, {-21.528, -23.386, 9.5918}}], Polygon[{{-12.338, -28.127, 6.3451}, {-2.5364, -30.609, 6.3451}, {-2.6248, -31.677, 9.5918}, {-12.768, -29.109, 9.5918}}], Polygon[{{-2.5364, -30.609, 6.3451}, {7.5399, -29.774, 6.3451}, {7.8029, -30.813, 9.5918}, {-2.6248, -31.677, 9.5918}}], Polygon[{{7.5399, -29.774, 6.3451}, {16.799, -25.713, 6.3451}, {17.385, -26.61, 9.5918}, {7.8029, -30.813, 9.5918}}], Polygon[{{16.799, -25.713, 6.3451}, {24.238, -18.865, 6.3451}, {25.083, -19.523, 9.5918}, {17.385, -26.61, 9.5918}}], Polygon[{{24.238, -18.865, 6.3451}, {29.05, -9.9729, 6.3451}, {30.063, -10.321, 9.5918}, {25.083, -19.523, 9.5918}}], Polygon[{{29.05, -9.9729, 6.3451}, {30.714, -7.5226*^-15, 6.3451}, {31.786, -7.785*^-15, 9.5918}, {30.063, -10.321, 9.5918}}], Polygon[{{31.786, 0., 9.5918}, {30.063, 10.321, 9.5918}, {31.077, 10.669, 12.95}, {32.857, 0., 12.95}}], Polygon[{{30.063, 10.321, 9.5918}, {25.083, 19.523, 9.5918}, {25.929, 20.181, 12.95}, {31.077, 10.669, 12.95}}], Polygon[{{25.083, 19.523, 9.5918}, {17.385, 26.61, 9.5918}, {17.971, 27.507, 12.95}, {25.929, 20.181, 12.95}}], Polygon[{{17.385, 26.61, 9.5918}, {7.8029, 30.813, 9.5918}, {8.066, 31.852, 12.95}, {17.971, 27.507, 12.95}}], Polygon[{{7.8029, 30.813, 9.5918}, {-2.6248, 31.677, 9.5918}, {-2.7133, 32.745, 12.95}, {8.066, 31.852, 12.95}}], Polygon[{{-2.6248, 31.677, 9.5918}, {-12.768, 29.109, 9.5918}, {-13.199, 30.09, 12.95}, {-2.7133, 32.745, 12.95}}], Polygon[{{-12.768, 29.109, 9.5918}, {-21.528, 23.386, 9.5918}, {-22.254, 24.174, 12.95}, {-13.199, 30.09, 12.95}}], Polygon[{{-21.528, 23.386, 9.5918}, {-27.955, 15.128, 9.5918}, {-28.897, 15.638, 12.95}, {-22.254, 24.174, 12.95}}], Polygon[{{-27.955, 15.128, 9.5918}, {-31.352, 5.2318, 9.5918}, {-32.409, 5.4081, 12.95}, {-28.897, 15.638, 12.95}}], Polygon[{{-31.352, 5.2318, 9.5918}, {-31.352, -5.2318, 9.5918}, {-32.409, -5.4081, 12.95}, {-32.409, 5.4081, 12.95}}], Polygon[{{-31.352, -5.2318, 9.5918}, {-27.955, -15.128, 9.5918}, {-28.897, -15.638, 12.95}, {-32.409, -5.4081, 12.95}}], Polygon[{{-27.955, -15.128, 9.5918}, {-21.528, -23.386, 9.5918}, {-22.254, -24.174, 12.95}, {-28.897, -15.638, 12.95}}], Polygon[{{-21.528, -23.386, 9.5918}, {-12.768, -29.109, 9.5918}, {-13.199, -30.09, 12.95}, {-22.254, -24.174, 12.95}}], Polygon[{{-12.768, -29.109, 9.5918}, {-2.6248, -31.677, 9.5918}, {-2.7133, -32.745, 12.95}, {-13.199, -30.09, 12.95}}], Polygon[{{-2.6248, -31.677, 9.5918}, {7.8029, -30.813, 9.5918}, {8.066, -31.852, 12.95}, {-2.7133, -32.745, 12.95}}], Polygon[{{7.8029, -30.813, 9.5918}, {17.385, -26.61, 9.5918}, {17.971, -27.507, 12.95}, {8.066, -31.852, 12.95}}], Polygon[{{17.385, -26.61, 9.5918}, {25.083, -19.523, 9.5918}, {25.929, -20.181, 12.95}, {17.971, -27.507, 12.95}}], Polygon[{{25.083, -19.523, 9.5918}, {30.063, -10.321, 9.5918}, {31.077, -10.669, 12.95}, {25.929, -20.181, 12.95}}], Polygon[{{30.063, -10.321, 9.5918}, {31.786, -7.785*^-15, 9.5918}, {32.857, -8.0474*^-15, 12.95}, {31.077, -10.669, 12.95}}], Polygon[{{32.857, 0., 12.95}, {31.077, 10.669, 12.95}, {32.09, 11.017, 16.419}, {33.929, 0., 16.419}}], Polygon[{{31.077, 10.669, 12.95}, {25.929, 20.181, 12.95}, {26.774, 20.839, 16.419}, {32.09, 11.017, 16.419}}], Polygon[{{25.929, 20.181, 12.95}, {17.971, 27.507, 12.95}, {18.557, 28.404, 16.419}, {26.774, 20.839, 16.419}}], Polygon[{{17.971, 27.507, 12.95}, {8.066, 31.852, 12.95}, {8.329, 32.89, 16.419}, {18.557, 28.404, 16.419}}], Polygon[{{8.066, 31.852, 12.95}, {-2.7133, 32.745, 12.95}, {-2.8018, 33.813, 16.419}, {8.329, 32.89, 16.419}}], Polygon[{{-2.7133, 32.745, 12.95}, {-13.199, 30.09, 12.95}, {-13.629, 31.071, 16.419}, {-2.8018, 33.813, 16.419}}], Polygon[{{-13.199, 30.09, 12.95}, {-22.254, 24.174, 12.95}, {-22.979, 24.962, 16.419}, {-13.629, 31.071, 16.419}}], Polygon[{{-22.254, 24.174, 12.95}, {-28.897, 15.638, 12.95}, {-29.839, 16.148, 16.419}, {-22.979, 24.962, 16.419}}], Polygon[{{-28.897, 15.638, 12.95}, {-32.409, 5.4081, 12.95}, {-33.466, 5.5845, 16.419}, {-29.839, 16.148, 16.419}}], Polygon[{{-32.409, 5.4081, 12.95}, {-32.409, -5.4081, 12.95}, {-33.466, -5.5845, 16.419}, {-33.466, 5.5845, 16.419}}], Polygon[{{-32.409, -5.4081, 12.95}, {-28.897, -15.638, 12.95}, {-29.839, -16.148, 16.419}, {-33.466, -5.5845, 16.419}}], Polygon[{{-28.897, -15.638, 12.95}, {-22.254, -24.174, 12.95}, {-22.979, -24.962, 16.419}, {-29.839, -16.148, 16.419}}], Polygon[{{-22.254, -24.174, 12.95}, {-13.199, -30.09, 12.95}, {-13.629, -31.071, 16.419}, {-22.979, -24.962, 16.419}}], Polygon[{{-13.199, -30.09, 12.95}, {-2.7133, -32.745, 12.95}, {-2.8018, -33.813, 16.419}, {-13.629, -31.071, 16.419}}], Polygon[{{-2.7133, -32.745, 12.95}, {8.066, -31.852, 12.95}, {8.329, -32.89, 16.419}, {-2.8018, -33.813, 16.419}}], Polygon[{{8.066, -31.852, 12.95}, {17.971, -27.507, 12.95}, {18.557, -28.404, 16.419}, {8.329, -32.89, 16.419}}], Polygon[{{17.971, -27.507, 12.95}, {25.929, -20.181, 12.95}, {26.774, -20.839, 16.419}, {18.557, -28.404, 16.419}}], Polygon[{{25.929, -20.181, 12.95}, {31.077, -10.669, 12.95}, {32.09, -11.017, 16.419}, {26.774, -20.839, 16.419}}], Polygon[{{31.077, -10.669, 12.95}, {32.857, -8.0474*^-15, 12.95}, {33.929, -8.3098*^-15, 16.419}, {32.09, -11.017, 16.419}}], Polygon[{{33.929, 0., 16.419}, {32.09, 11.017, 16.419}, {33.104, 11.364, 20.}, {35., 0., 20.}}], Polygon[{{32.09, 11.017, 16.419}, {26.774, 20.839, 16.419}, {27.62, 21.497, 20.}, {33.104, 11.364, 20.}}], Polygon[{{26.774, 20.839, 16.419}, {18.557, 28.404, 16.419}, {19.143, 29.301, 20.}, {27.62, 21.497, 20.}}], Polygon[{{18.557, 28.404, 16.419}, {8.329, 32.89, 16.419}, {8.592, 33.929, 20.}, {19.143, 29.301, 20.}}], Polygon[{{8.329, 32.89, 16.419}, {-2.8018, 33.813, 16.419}, {-2.8903, 34.88, 20.}, {8.592, 33.929, 20.}}], Polygon[{{-2.8018, 33.813, 16.419}, {-13.629, 31.071, 16.419}, {-14.059, 32.052, 20.}, {-2.8903, 34.88, 20.}}], Polygon[{{-13.629, 31.071, 16.419}, {-22.979, 24.962, 16.419}, {-23.705, 25.75, 20.}, {-14.059, 32.052, 20.}}], Polygon[{{-22.979, 24.962, 16.419}, {-29.839, 16.148, 16.419}, {-30.782, 16.658, 20.}, {-23.705, 25.75, 20.}}], Polygon[{{-29.839, 16.148, 16.419}, {-33.466, 5.5845, 16.419}, {-34.523, 5.7608, 20.}, {-30.782, 16.658, 20.}}], Polygon[{{-33.466, 5.5845, 16.419}, {-33.466, -5.5845, 16.419}, {-34.523, -5.7608, 20.}, {-34.523, 5.7608, 20.}}], Polygon[{{-33.466, -5.5845, 16.419}, {-29.839, -16.148, 16.419}, {-30.782, -16.658, 20.}, {-34.523, -5.7608, 20.}}], Polygon[{{-29.839, -16.148, 16.419}, {-22.979, -24.962, 16.419}, {-23.705, -25.75, 20.}, {-30.782, -16.658, 20.}}], Polygon[{{-22.979, -24.962, 16.419}, {-13.629, -31.071, 16.419}, {-14.059, -32.052, 20.}, {-23.705, -25.75, 20.}}], Polygon[{{-13.629, -31.071, 16.419}, {-2.8018, -33.813, 16.419}, {-2.8903, -34.88, 20.}, {-14.059, -32.052, 20.}}], Polygon[{{-2.8018, -33.813, 16.419}, {8.329, -32.89, 16.419}, {8.592, -33.929, 20.}, {-2.8903, -34.88, 20.}}], Polygon[{{8.329, -32.89, 16.419}, {18.557, -28.404, 16.419}, {19.143, -29.301, 20.}, {8.592, -33.929, 20.}}], Polygon[{{18.557, -28.404, 16.419}, {26.774, -20.839, 16.419}, {27.62, -21.497, 20.}, {19.143, -29.301, 20.}}], Polygon[{{26.774, -20.839, 16.419}, {32.09, -11.017, 16.419}, {33.104, -11.364, 20.}, {27.62, -21.497, 20.}}], Polygon[{{32.09, -11.017, 16.419}, {33.929, -8.3098*^-15, 16.419}, {35., -8.5722*^-15, 20.}, {33.104, -11.364, 20.}}]}, {Polygon[{{0., 0., -20.}, {0., 0., -20.}, {4.7291, 1.6235, -20.}, {5., 0., -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {3.9457, 3.0711, -20.}, {4.7291, 1.6235, -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {2.7347, 4.1858, -20.}, {3.9457, 3.0711, -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {1.2274, 4.847, -20.}, {2.7347, 4.1858, -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {-0.4129, 4.9829, -20.}, {1.2274, 4.847, -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {-2.0085, 4.5789, -20.}, {-0.4129, 4.9829, -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {-3.3864, 3.6786, -20.}, {-2.0085, 4.5789, -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {-4.3974, 2.3797, -20.}, {-3.3864, 3.6786, -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {-4.9318, 0.82297, -20.}, {-4.3974, 2.3797, -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {-4.9318, -0.82297, -20.}, {-4.9318, 0.82297, -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {-4.3974, -2.3797, -20.}, {-4.9318, -0.82297, -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {-3.3864, -3.6786, -20.}, {-4.3974, -2.3797, -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {-2.0085, -4.5789, -20.}, {-3.3864, -3.6786, -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {-0.4129, -4.9829, -20.}, {-2.0085, -4.5789, -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {1.2274, -4.847, -20.}, {-0.4129, -4.9829, -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {2.7347, -4.1858, -20.}, {1.2274, -4.847, -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {3.9457, -3.0711, -20.}, {2.7347, -4.1858, -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {4.7291, -1.6235, -20.}, {3.9457, -3.0711, -20.}}], Polygon[{{0., 0., -20.}, {0., 0., -20.}, {5., -1.2246*^-15, -20.}, {4.7291, -1.6235, -20.}}], Polygon[{{5., 0., -20.}, {4.7291, 1.6235, -20.}, {9.4582, 3.247, -20.}, {10., 0., -20.}}], Polygon[{{4.7291, 1.6235, -20.}, {3.9457, 3.0711, -20.}, {7.8914, 6.1421, -20.}, {9.4582, 3.247, -20.}}], Polygon[{{3.9457, 3.0711, -20.}, {2.7347, 4.1858, -20.}, {5.4695, 8.3717, -20.}, {7.8914, 6.1421, -20.}}], Polygon[{{2.7347, 4.1858, -20.}, {1.2274, 4.847, -20.}, {2.4549, 9.694, -20.}, {5.4695, 8.3717, -20.}}], Polygon[{{1.2274, 4.847, -20.}, {-0.4129, 4.9829, -20.}, {-0.82579, 9.9658, -20.}, {2.4549, 9.694, -20.}}], Polygon[{{-0.4129, 4.9829, -20.}, {-2.0085, 4.5789, -20.}, {-4.017, 9.1577, -20.}, {-0.82579, 9.9658, -20.}}], Polygon[{{-2.0085, 4.5789, -20.}, {-3.3864, 3.6786, -20.}, {-6.7728, 7.3572, -20.}, {-4.017, 9.1577, -20.}}], Polygon[{{-3.3864, 3.6786, -20.}, {-4.3974, 2.3797, -20.}, {-8.7947, 4.7595, -20.}, {-6.7728, 7.3572, -20.}}], Polygon[{{-4.3974, 2.3797, -20.}, {-4.9318, 0.82297, -20.}, {-9.8636, 1.6459, -20.}, {-8.7947, 4.7595, -20.}}], Polygon[{{-4.9318, 0.82297, -20.}, {-4.9318, -0.82297, -20.}, {-9.8636, -1.6459, -20.}, {-9.8636, 1.6459, -20.}}], Polygon[{{-4.9318, -0.82297, -20.}, {-4.3974, -2.3797, -20.}, {-8.7947, -4.7595, -20.}, {-9.8636, -1.6459, -20.}}], Polygon[{{-4.3974, -2.3797, -20.}, {-3.3864, -3.6786, -20.}, {-6.7728, -7.3572, -20.}, {-8.7947, -4.7595, -20.}}], Polygon[{{-3.3864, -3.6786, -20.}, {-2.0085, -4.5789, -20.}, {-4.017, -9.1577, -20.}, {-6.7728, -7.3572, -20.}}], Polygon[{{-2.0085, -4.5789, -20.}, {-0.4129, -4.9829, -20.}, {-0.82579, -9.9658, -20.}, {-4.017, -9.1577, -20.}}], Polygon[{{-0.4129, -4.9829, -20.}, {1.2274, -4.847, -20.}, {2.4549, -9.694, -20.}, {-0.82579, -9.9658, -20.}}], Polygon[{{1.2274, -4.847, -20.}, {2.7347, -4.1858, -20.}, {5.4695, -8.3717, -20.}, {2.4549, -9.694, -20.}}], Polygon[{{2.7347, -4.1858, -20.}, {3.9457, -3.0711, -20.}, {7.8914, -6.1421, -20.}, {5.4695, -8.3717, -20.}}], Polygon[{{3.9457, -3.0711, -20.}, {4.7291, -1.6235, -20.}, {9.4582, -3.247, -20.}, {7.8914, -6.1421, -20.}}], Polygon[{{4.7291, -1.6235, -20.}, {5., -1.2246*^-15, -20.}, {10., -2.4492*^-15, -20.}, {9.4582, -3.247, -20.}}], Polygon[{{10., 0., -20.}, {9.4582, 3.247, -20.}, {14.187, 4.8705, -20.}, {15., 0., -20.}}], Polygon[{{9.4582, 3.247, -20.}, {7.8914, 6.1421, -20.}, {11.837, 9.2132, -20.}, {14.187, 4.8705, -20.}}], Polygon[{{7.8914, 6.1421, -20.}, {5.4695, 8.3717, -20.}, {8.2042, 12.557, -20.}, {11.837, 9.2132, -20.}}], Polygon[{{5.4695, 8.3717, -20.}, {2.4549, 9.694, -20.}, {3.6823, 14.541, -20.}, {8.2042, 12.557, -20.}}], Polygon[{{2.4549, 9.694, -20.}, {-0.82579, 9.9658, -20.}, {-1.2387, 14.949, -20.}, {3.6823, 14.541, -20.}}], Polygon[{{-0.82579, 9.9658, -20.}, {-4.017, 9.1577, -20.}, {-6.0254, 13.737, -20.}, {-1.2387, 14.949, -20.}}], Polygon[{{-4.017, 9.1577, -20.}, {-6.7728, 7.3572, -20.}, {-10.159, 11.036, -20.}, {-6.0254, 13.737, -20.}}], Polygon[{{-6.7728, 7.3572, -20.}, {-8.7947, 4.7595, -20.}, {-13.192, 7.1392, -20.}, {-10.159, 11.036, -20.}}], Polygon[{{-8.7947, 4.7595, -20.}, {-9.8636, 1.6459, -20.}, {-14.795, 2.4689, -20.}, {-13.192, 7.1392, -20.}}], Polygon[{{-9.8636, 1.6459, -20.}, {-9.8636, -1.6459, -20.}, {-14.795, -2.4689, -20.}, {-14.795, 2.4689, -20.}}], Polygon[{{-9.8636, -1.6459, -20.}, {-8.7947, -4.7595, -20.}, {-13.192, -7.1392, -20.}, {-14.795, -2.4689, -20.}}], Polygon[{{-8.7947, -4.7595, -20.}, {-6.7728, -7.3572, -20.}, {-10.159, -11.036, -20.}, {-13.192, -7.1392, -20.}}], Polygon[{{-6.7728, -7.3572, -20.}, {-4.017, -9.1577, -20.}, {-6.0254, -13.737, -20.}, {-10.159, -11.036, -20.}}], Polygon[{{-4.017, -9.1577, -20.}, {-0.82579, -9.9658, -20.}, {-1.2387, -14.949, -20.}, {-6.0254, -13.737, -20.}}], Polygon[{{-0.82579, -9.9658, -20.}, {2.4549, -9.694, -20.}, {3.6823, -14.541, -20.}, {-1.2387, -14.949, -20.}}], Polygon[{{2.4549, -9.694, -20.}, {5.4695, -8.3717, -20.}, {8.2042, -12.557, -20.}, {3.6823, -14.541, -20.}}], Polygon[{{5.4695, -8.3717, -20.}, {7.8914, -6.1421, -20.}, {11.837, -9.2132, -20.}, {8.2042, -12.557, -20.}}], Polygon[{{7.8914, -6.1421, -20.}, {9.4582, -3.247, -20.}, {14.187, -4.8705, -20.}, {11.837, -9.2132, -20.}}], Polygon[{{9.4582, -3.247, -20.}, {10., -2.4492*^-15, -20.}, {15., -3.6738*^-15, -20.}, {14.187, -4.8705, -20.}}], Polygon[{{15., 0., -20.}, {14.187, 4.8705, -20.}, {18.916, 6.494, -20.}, {20., 0., -20.}}], Polygon[{{14.187, 4.8705, -20.}, {11.837, 9.2132, -20.}, {15.783, 12.284, -20.}, {18.916, 6.494, -20.}}], Polygon[{{11.837, 9.2132, -20.}, {8.2042, 12.557, -20.}, {10.939, 16.743, -20.}, {15.783, 12.284, -20.}}], Polygon[{{8.2042, 12.557, -20.}, {3.6823, 14.541, -20.}, {4.9097, 19.388, -20.}, {10.939, 16.743, -20.}}], Polygon[{{3.6823, 14.541, -20.}, {-1.2387, 14.949, -20.}, {-1.6516, 19.932, -20.}, {4.9097, 19.388, -20.}}], Polygon[{{-1.2387, 14.949, -20.}, {-6.0254, 13.737, -20.}, {-8.0339, 18.315, -20.}, {-1.6516, 19.932, -20.}}], Polygon[{{-6.0254, 13.737, -20.}, {-10.159, 11.036, -20.}, {-13.546, 14.714, -20.}, {-8.0339, 18.315, -20.}}], Polygon[{{-10.159, 11.036, -20.}, {-13.192, 7.1392, -20.}, {-17.589, 9.5189, -20.}, {-13.546, 14.714, -20.}}], Polygon[{{-13.192, 7.1392, -20.}, {-14.795, 2.4689, -20.}, {-19.727, 3.2919, -20.}, {-17.589, 9.5189, -20.}}], Polygon[{{-14.795, 2.4689, -20.}, {-14.795, -2.4689, -20.}, {-19.727, -3.2919, -20.}, {-19.727, 3.2919, -20.}}], Polygon[{{-14.795, -2.4689, -20.}, {-13.192, -7.1392, -20.}, {-17.589, -9.5189, -20.}, {-19.727, -3.2919, -20.}}], Polygon[{{-13.192, -7.1392, -20.}, {-10.159, -11.036, -20.}, {-13.546, -14.714, -20.}, {-17.589, -9.5189, -20.}}], Polygon[{{-10.159, -11.036, -20.}, {-6.0254, -13.737, -20.}, {-8.0339, -18.315, -20.}, {-13.546, -14.714, -20.}}], Polygon[{{-6.0254, -13.737, -20.}, {-1.2387, -14.949, -20.}, {-1.6516, -19.932, -20.}, {-8.0339, -18.315, -20.}}], Polygon[{{-1.2387, -14.949, -20.}, {3.6823, -14.541, -20.}, {4.9097, -19.388, -20.}, {-1.6516, -19.932, -20.}}], Polygon[{{3.6823, -14.541, -20.}, {8.2042, -12.557, -20.}, {10.939, -16.743, -20.}, {4.9097, -19.388, -20.}}], Polygon[{{8.2042, -12.557, -20.}, {11.837, -9.2132, -20.}, {15.783, -12.284, -20.}, {10.939, -16.743, -20.}}], Polygon[{{11.837, -9.2132, -20.}, {14.187, -4.8705, -20.}, {18.916, -6.494, -20.}, {15.783, -12.284, -20.}}], Polygon[{{14.187, -4.8705, -20.}, {15., -3.6738*^-15, -20.}, {20., -4.8984*^-15, -20.}, {18.916, -6.494, -20.}}]}, {Polygon[{{0., 0., 20.}, {0., 0., 20.}, {8.2759, 2.8411, 20.}, {8.75, 0., 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {6.905, 5.3744, 20.}, {8.2759, 2.8411, 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {4.7858, 7.3252, 20.}, {6.905, 5.3744, 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {2.148, 8.4823, 20.}, {4.7858, 7.3252, 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {-0.72257, 8.7201, 20.}, {2.148, 8.4823, 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {-3.5148, 8.013, 20.}, {-0.72257, 8.7201, 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {-5.9262, 6.4376, 20.}, {-3.5148, 8.013, 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {-7.6954, 4.1645, 20.}, {-5.9262, 6.4376, 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {-8.6307, 1.4402, 20.}, {-7.6954, 4.1645, 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {-8.6307, -1.4402, 20.}, {-8.6307, 1.4402, 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {-7.6954, -4.1645, 20.}, {-8.6307, -1.4402, 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {-5.9262, -6.4376, 20.}, {-7.6954, -4.1645, 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {-3.5148, -8.013, 20.}, {-5.9262, -6.4376, 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {-0.72257, -8.7201, 20.}, {-3.5148, -8.013, 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {2.148, -8.4823, 20.}, {-0.72257, -8.7201, 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {4.7858, -7.3252, 20.}, {2.148, -8.4823, 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {6.905, -5.3744, 20.}, {4.7858, -7.3252, 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {8.2759, -2.8411, 20.}, {6.905, -5.3744, 20.}}], Polygon[{{0., 0., 20.}, {0., 0., 20.}, {8.75, -2.1431*^-15, 20.}, {8.2759, -2.8411, 20.}}], Polygon[{{8.75, 0., 20.}, {8.2759, 2.8411, 20.}, {16.552, 5.6822, 20.}, {17.5, 0., 20.}}], Polygon[{{8.2759, 2.8411, 20.}, {6.905, 5.3744, 20.}, {13.81, 10.749, 20.}, {16.552, 5.6822, 20.}}], Polygon[{{6.905, 5.3744, 20.}, {4.7858, 7.3252, 20.}, {9.5716, 14.65, 20.}, {13.81, 10.749, 20.}}], Polygon[{{4.7858, 7.3252, 20.}, {2.148, 8.4823, 20.}, {4.296, 16.965, 20.}, {9.5716, 14.65, 20.}}], Polygon[{{2.148, 8.4823, 20.}, {-0.72257, 8.7201, 20.}, {-1.4451, 17.44, 20.}, {4.296, 16.965, 20.}}], Polygon[{{-0.72257, 8.7201, 20.}, {-3.5148, 8.013, 20.}, {-7.0297, 16.026, 20.}, {-1.4451, 17.44, 20.}}], Polygon[{{-3.5148, 8.013, 20.}, {-5.9262, 6.4376, 20.}, {-11.852, 12.875, 20.}, {-7.0297, 16.026, 20.}}], Polygon[{{-5.9262, 6.4376, 20.}, {-7.6954, 4.1645, 20.}, {-15.391, 8.3291, 20.}, {-11.852, 12.875, 20.}}], Polygon[{{-7.6954, 4.1645, 20.}, {-8.6307, 1.4402, 20.}, {-17.261, 2.8804, 20.}, {-15.391, 8.3291, 20.}}], Polygon[{{-8.6307, 1.4402, 20.}, {-8.6307, -1.4402, 20.}, {-17.261, -2.8804, 20.}, {-17.261, 2.8804, 20.}}], Polygon[{{-8.6307, -1.4402, 20.}, {-7.6954, -4.1645, 20.}, {-15.391, -8.3291, 20.}, {-17.261, -2.8804, 20.}}], Polygon[{{-7.6954, -4.1645, 20.}, {-5.9262, -6.4376, 20.}, {-11.852, -12.875, 20.}, {-15.391, -8.3291, 20.}}], Polygon[{{-5.9262, -6.4376, 20.}, {-3.5148, -8.013, 20.}, {-7.0297, -16.026, 20.}, {-11.852, -12.875, 20.}}], Polygon[{{-3.5148, -8.013, 20.}, {-0.72257, -8.7201, 20.}, {-1.4451, -17.44, 20.}, {-7.0297, -16.026, 20.}}], Polygon[{{-0.72257, -8.7201, 20.}, {2.148, -8.4823, 20.}, {4.296, -16.965, 20.}, {-1.4451, -17.44, 20.}}], Polygon[{{2.148, -8.4823, 20.}, {4.7858, -7.3252, 20.}, {9.5716, -14.65, 20.}, {4.296, -16.965, 20.}}], Polygon[{{4.7858, -7.3252, 20.}, {6.905, -5.3744, 20.}, {13.81, -10.749, 20.}, {9.5716, -14.65, 20.}}], Polygon[{{6.905, -5.3744, 20.}, {8.2759, -2.8411, 20.}, {16.552, -5.6822, 20.}, {13.81, -10.749, 20.}}], Polygon[{{8.2759, -2.8411, 20.}, {8.75, -2.1431*^-15, 20.}, {17.5, -4.2861*^-15, 20.}, {16.552, -5.6822, 20.}}], Polygon[{{17.5, 0., 20.}, {16.552, 5.6822, 20.}, {24.828, 8.5234, 20.}, {26.25, 0., 20.}}], Polygon[{{16.552, 5.6822, 20.}, {13.81, 10.749, 20.}, {20.715, 16.123, 20.}, {24.828, 8.5234, 20.}}], Polygon[{{13.81, 10.749, 20.}, {9.5716, 14.65, 20.}, {14.357, 21.976, 20.}, {20.715, 16.123, 20.}}], Polygon[{{9.5716, 14.65, 20.}, {4.296, 16.965, 20.}, {6.444, 25.447, 20.}, {14.357, 21.976, 20.}}], Polygon[{{4.296, 16.965, 20.}, {-1.4451, 17.44, 20.}, {-2.1677, 26.16, 20.}, {6.444, 25.447, 20.}}], Polygon[{{-1.4451, 17.44, 20.}, {-7.0297, 16.026, 20.}, {-10.545, 24.039, 20.}, {-2.1677, 26.16, 20.}}], Polygon[{{-7.0297, 16.026, 20.}, {-11.852, 12.875, 20.}, {-17.779, 19.313, 20.}, {-10.545, 24.039, 20.}}], Polygon[{{-11.852, 12.875, 20.}, {-15.391, 8.3291, 20.}, {-23.086, 12.494, 20.}, {-17.779, 19.313, 20.}}], Polygon[{{-15.391, 8.3291, 20.}, {-17.261, 2.8804, 20.}, {-25.892, 4.3206, 20.}, {-23.086, 12.494, 20.}}], Polygon[{{-17.261, 2.8804, 20.}, {-17.261, -2.8804, 20.}, {-25.892, -4.3206, 20.}, {-25.892, 4.3206, 20.}}], Polygon[{{-17.261, -2.8804, 20.}, {-15.391, -8.3291, 20.}, {-23.086, -12.494, 20.}, {-25.892, -4.3206, 20.}}], Polygon[{{-15.391, -8.3291, 20.}, {-11.852, -12.875, 20.}, {-17.779, -19.313, 20.}, {-23.086, -12.494, 20.}}], Polygon[{{-11.852, -12.875, 20.}, {-7.0297, -16.026, 20.}, {-10.545, -24.039, 20.}, {-17.779, -19.313, 20.}}], Polygon[{{-7.0297, -16.026, 20.}, {-1.4451, -17.44, 20.}, {-2.1677, -26.16, 20.}, {-10.545, -24.039, 20.}}], Polygon[{{-1.4451, -17.44, 20.}, {4.296, -16.965, 20.}, {6.444, -25.447, 20.}, {-2.1677, -26.16, 20.}}], Polygon[{{4.296, -16.965, 20.}, {9.5716, -14.65, 20.}, {14.357, -21.976, 20.}, {6.444, -25.447, 20.}}], Polygon[{{9.5716, -14.65, 20.}, {13.81, -10.749, 20.}, {20.715, -16.123, 20.}, {14.357, -21.976, 20.}}], Polygon[{{13.81, -10.749, 20.}, {16.552, -5.6822, 20.}, {24.828, -8.5234, 20.}, {20.715, -16.123, 20.}}], Polygon[{{16.552, -5.6822, 20.}, {17.5, -4.2861*^-15, 20.}, {26.25, -6.4292*^-15, 20.}, {24.828, -8.5234, 20.}}], Polygon[{{26.25, 0., 20.}, {24.828, 8.5234, 20.}, {33.104, 11.364, 20.}, {35., 0., 20.}}], Polygon[{{24.828, 8.5234, 20.}, {20.715, 16.123, 20.}, {27.62, 21.497, 20.}, {33.104, 11.364, 20.}}], Polygon[{{20.715, 16.123, 20.}, {14.357, 21.976, 20.}, {19.143, 29.301, 20.}, {27.62, 21.497, 20.}}], Polygon[{{14.357, 21.976, 20.}, {6.444, 25.447, 20.}, {8.592, 33.929, 20.}, {19.143, 29.301, 20.}}], Polygon[{{6.444, 25.447, 20.}, {-2.1677, 26.16, 20.}, {-2.8903, 34.88, 20.}, {8.592, 33.929, 20.}}], Polygon[{{-2.1677, 26.16, 20.}, {-10.545, 24.039, 20.}, {-14.059, 32.052, 20.}, {-2.8903, 34.88, 20.}}], Polygon[{{-10.545, 24.039, 20.}, {-17.779, 19.313, 20.}, {-23.705, 25.75, 20.}, {-14.059, 32.052, 20.}}], Polygon[{{-17.779, 19.313, 20.}, {-23.086, 12.494, 20.}, {-30.782, 16.658, 20.}, {-23.705, 25.75, 20.}}], Polygon[{{-23.086, 12.494, 20.}, {-25.892, 4.3206, 20.}, {-34.523, 5.7608, 20.}, {-30.782, 16.658, 20.}}], Polygon[{{-25.892, 4.3206, 20.}, {-25.892, -4.3206, 20.}, {-34.523, -5.7608, 20.}, {-34.523, 5.7608, 20.}}], Polygon[{{-25.892, -4.3206, 20.}, {-23.086, -12.494, 20.}, {-30.782, -16.658, 20.}, {-34.523, -5.7608, 20.}}], Polygon[{{-23.086, -12.494, 20.}, {-17.779, -19.313, 20.}, {-23.705, -25.75, 20.}, {-30.782, -16.658, 20.}}], Polygon[{{-17.779, -19.313, 20.}, {-10.545, -24.039, 20.}, {-14.059, -32.052, 20.}, {-23.705, -25.75, 20.}}], Polygon[{{-10.545, -24.039, 20.}, {-2.1677, -26.16, 20.}, {-2.8903, -34.88, 20.}, {-14.059, -32.052, 20.}}], Polygon[{{-2.1677, -26.16, 20.}, {6.444, -25.447, 20.}, {8.592, -33.929, 20.}, {-2.8903, -34.88, 20.}}], Polygon[{{6.444, -25.447, 20.}, {14.357, -21.976, 20.}, {19.143, -29.301, 20.}, {8.592, -33.929, 20.}}], Polygon[{{14.357, -21.976, 20.}, {20.715, -16.123, 20.}, {27.62, -21.497, 20.}, {19.143, -29.301, 20.}}], Polygon[{{20.715, -16.123, 20.}, {24.828, -8.5234, 20.}, {33.104, -11.364, 20.}, {27.62, -21.497, 20.}}], Polygon[{{24.828, -8.5234, 20.}, {26.25, -6.4292*^-15, 20.}, {35., -8.5722*^-15, 20.}, {33.104, -11.364, 20.}}]}, {Polygon[{{0., 0., -20.}, {5., 0., -20.}, {5.3557, 0., -17.143}, {0., 0., -17.143}}], Polygon[{{5., 0., -20.}, {10., 0., -20.}, {10.711, 0., -17.143}, {5.3557, 0., -17.143}}], Polygon[{{10., 0., -20.}, {15., 0., -20.}, {16.067, 0., -17.143}, {10.711, 0., -17.143}}], Polygon[{{15., 0., -20.}, {20., 0., -20.}, {21.423, 0., -17.143}, {16.067, 0., -17.143}}], Polygon[{{0., 0., -17.143}, {5.3557, 0., -17.143}, {5.6891, 0., -14.286}, {0., 0., -14.286}}], Polygon[{{5.3557, 0., -17.143}, {10.711, 0., -17.143}, {11.378, 0., -14.286}, {5.6891, 0., -14.286}}], Polygon[{{10.711, 0., -17.143}, {16.067, 0., -17.143}, {17.067, 0., -14.286}, {11.378, 0., -14.286}}], Polygon[{{16.067, 0., -17.143}, {21.423, 0., -17.143}, {22.756, 0., -14.286}, {17.067, 0., -14.286}}], Polygon[{{0., 0., -14.286}, {5.6891, 0., -14.286}, {6.0041, 0., -11.429}, {0., 0., -11.429}}], Polygon[{{5.6891, 0., -14.286}, {11.378, 0., -14.286}, {12.008, 0., -11.429}, {6.0041, 0., -11.429}}], Polygon[{{11.378, 0., -14.286}, {17.067, 0., -14.286}, {18.012, 0., -11.429}, {12.008, 0., -11.429}}], Polygon[{{17.067, 0., -14.286}, {22.756, 0., -14.286}, {24.016, 0., -11.429}, {18.012, 0., -11.429}}], Polygon[{{0., 0., -11.429}, {6.0041, 0., -11.429}, {6.3033, 0., -8.5714}, {0., 0., -8.5714}}], Polygon[{{6.0041, 0., -11.429}, {12.008, 0., -11.429}, {12.607, 0., -8.5714}, {6.3033, 0., -8.5714}}], Polygon[{{12.008, 0., -11.429}, {18.012, 0., -11.429}, {18.91, 0., -8.5714}, {12.607, 0., -8.5714}}], Polygon[{{18.012, 0., -11.429}, {24.016, 0., -11.429}, {25.213, 0., -8.5714}, {18.91, 0., -8.5714}}], Polygon[{{0., 0., -8.5714}, {6.3033, 0., -8.5714}, {6.589, 0., -5.7143}, {0., 0., -5.7143}}], Polygon[{{6.3033, 0., -8.5714}, {12.607, 0., -8.5714}, {13.178, 0., -5.7143}, {6.589, 0., -5.7143}}], Polygon[{{12.607, 0., -8.5714}, {18.91, 0., -8.5714}, {19.767, 0., -5.7143}, {13.178, 0., -5.7143}}], Polygon[{{18.91, 0., -8.5714}, {25.213, 0., -8.5714}, {26.356, 0., -5.7143}, {19.767, 0., -5.7143}}], Polygon[{{0., 0., -5.7143}, {6.589, 0., -5.7143}, {6.8628, 0., -2.8571}, {0., 0., -2.8571}}], Polygon[{{6.589, 0., -5.7143}, {13.178, 0., -5.7143}, {13.726, 0., -2.8571}, {6.8628, 0., -2.8571}}], Polygon[{{13.178, 0., -5.7143}, {19.767, 0., -5.7143}, {20.588, 0., -2.8571}, {13.726, 0., -2.8571}}], Polygon[{{19.767, 0., -5.7143}, {26.356, 0., -5.7143}, {27.451, 0., -2.8571}, {20.588, 0., -2.8571}}], Polygon[{{0., 0., -2.8571}, {6.8628, 0., -2.8571}, {7.1261, 0., 2.6645*^-15}, {0., 0., 2.6645*^-15}}], Polygon[{{6.8628, 0., -2.8571}, {13.726, 0., -2.8571}, {14.252, 0., 2.6645*^-15}, {7.1261, 0., 2.6645*^-15}}], Polygon[{{13.726, 0., -2.8571}, {20.588, 0., -2.8571}, {21.378, 0., 2.6645*^-15}, {14.252, 0., 2.6645*^-15}}], Polygon[{{20.588, 0., -2.8571}, {27.451, 0., -2.8571}, {28.504, 0., 2.6645*^-15}, {21.378, 0., 2.6645*^-15}}], Polygon[{{0., 0., 2.6645*^-15}, {7.1261, 0., 2.6645*^-15}, {7.38, 0., 2.8571}, {0., 0., 2.8571}}], Polygon[{{7.1261, 0., 2.6645*^-15}, {14.252, 0., 2.6645*^-15}, {14.76, 0., 2.8571}, {7.38, 0., 2.8571}}], Polygon[{{14.252, 0., 2.6645*^-15}, {21.378, 0., 2.6645*^-15}, {22.14, 0., 2.8571}, {14.76, 0., 2.8571}}], Polygon[{{21.378, 0., 2.6645*^-15}, {28.504, 0., 2.6645*^-15}, {29.52, 0., 2.8571}, {22.14, 0., 2.8571}}], Polygon[{{0., 0., 2.8571}, {7.38, 0., 2.8571}, {7.6254, 0., 5.7143}, {0., 0., 5.7143}}], Polygon[{{7.38, 0., 2.8571}, {14.76, 0., 2.8571}, {15.251, 0., 5.7143}, {7.6254, 0., 5.7143}}], Polygon[{{14.76, 0., 2.8571}, {22.14, 0., 2.8571}, {22.876, 0., 5.7143}, {15.251, 0., 5.7143}}], Polygon[{{22.14, 0., 2.8571}, {29.52, 0., 2.8571}, {30.502, 0., 5.7143}, {22.876, 0., 5.7143}}], Polygon[{{0., 0., 5.7143}, {7.6254, 0., 5.7143}, {7.8632, 0., 8.5714}, {0., 0., 8.5714}}], Polygon[{{7.6254, 0., 5.7143}, {15.251, 0., 5.7143}, {15.726, 0., 8.5714}, {7.8632, 0., 8.5714}}], Polygon[{{15.251, 0., 5.7143}, {22.876, 0., 5.7143}, {23.59, 0., 8.5714}, {15.726, 0., 8.5714}}], Polygon[{{22.876, 0., 5.7143}, {30.502, 0., 5.7143}, {31.453, 0., 8.5714}, {23.59, 0., 8.5714}}], Polygon[{{0., 0., 8.5714}, {7.8632, 0., 8.5714}, {8.094, 0., 11.429}, {0., 0., 11.429}}], Polygon[{{7.8632, 0., 8.5714}, {15.726, 0., 8.5714}, {16.188, 0., 11.429}, {8.094, 0., 11.429}}], Polygon[{{15.726, 0., 8.5714}, {23.59, 0., 8.5714}, {24.282, 0., 11.429}, {16.188, 0., 11.429}}], Polygon[{{23.59, 0., 8.5714}, {31.453, 0., 8.5714}, {32.376, 0., 11.429}, {24.282, 0., 11.429}}], Polygon[{{0., 0., 11.429}, {8.094, 0., 11.429}, {8.3184, 0., 14.286}, {0., 0., 14.286}}], Polygon[{{8.094, 0., 11.429}, {16.188, 0., 11.429}, {16.637, 0., 14.286}, {8.3184, 0., 14.286}}], Polygon[{{16.188, 0., 11.429}, {24.282, 0., 11.429}, {24.955, 0., 14.286}, {16.637, 0., 14.286}}], Polygon[{{24.282, 0., 11.429}, {32.376, 0., 11.429}, {33.274, 0., 14.286}, {24.955, 0., 14.286}}], Polygon[{{0., 0., 14.286}, {8.3184, 0., 14.286}, {8.5369, 0., 17.143}, {0., 0., 17.143}}], Polygon[{{8.3184, 0., 14.286}, {16.637, 0., 14.286}, {17.074, 0., 17.143}, {8.5369, 0., 17.143}}], Polygon[{{16.637, 0., 14.286}, {24.955, 0., 14.286}, {25.611, 0., 17.143}, {17.074, 0., 17.143}}], Polygon[{{24.955, 0., 14.286}, {33.274, 0., 14.286}, {34.148, 0., 17.143}, {25.611, 0., 17.143}}], Polygon[{{0., 0., 17.143}, {8.5369, 0., 17.143}, {8.75, 0., 20.}, {0., 0., 20.}}], Polygon[{{8.5369, 0., 17.143}, {17.074, 0., 17.143}, {17.5, 0., 20.}, {8.75, 0., 20.}}], Polygon[{{17.074, 0., 17.143}, {25.611, 0., 17.143}, {26.25, 0., 20.}, {17.5, 0., 20.}}], Polygon[{{25.611, 0., 17.143}, {34.148, 0., 17.143}, {35., 0., 20.}, {26.25, 0., 20.}}]}, {Polygon[{{0., 0., -20.}, {5., -1.2246*^-15, -20.}, {5.3557, -1.3117*^-15, -17.143}, {0., 0., -17.143}}], Polygon[{{5., -1.2246*^-15, -20.}, {10., -2.4492*^-15, -20.}, {10.711, -2.6234*^-15, -17.143}, {5.3557, -1.3117*^-15, -17.143}}], Polygon[{{10., -2.4492*^-15, -20.}, {15., -3.6738*^-15, -20.}, {16.067, -3.9351*^-15, -17.143}, {10.711, -2.6234*^-15, -17.143}}], Polygon[{{15., -3.6738*^-15, -20.}, {20., -4.8984*^-15, -20.}, {21.423, -5.2469*^-15, -17.143}, {16.067, -3.9351*^-15, -17.143}}], Polygon[{{0., 0., -17.143}, {5.3557, -1.3117*^-15, -17.143}, {5.6891, -1.3934*^-15, -14.286}, {0., 0., -14.286}}], Polygon[{{5.3557, -1.3117*^-15, -17.143}, {10.711, -2.6234*^-15, -17.143}, {11.378, -2.7868*^-15, -14.286}, {5.6891, -1.3934*^-15, -14.286}}], Polygon[{{10.711, -2.6234*^-15, -17.143}, {16.067, -3.9351*^-15, -17.143}, {17.067, -4.1802*^-15, -14.286}, {11.378, -2.7868*^-15, -14.286}}], Polygon[{{16.067, -3.9351*^-15, -17.143}, {21.423, -5.2469*^-15, -17.143}, {22.756, -5.5735*^-15, -14.286}, {17.067, -4.1802*^-15, -14.286}}], Polygon[{{0., 0., -14.286}, {5.6891, -1.3934*^-15, -14.286}, {6.0041, -1.4705*^-15, -11.429}, {0., 0., -11.429}}], Polygon[{{5.6891, -1.3934*^-15, -14.286}, {11.378, -2.7868*^-15, -14.286}, {12.008, -2.9411*^-15, -11.429}, {6.0041, -1.4705*^-15, -11.429}}], Polygon[{{11.378, -2.7868*^-15, -14.286}, {17.067, -4.1802*^-15, -14.286}, {18.012, -4.4116*^-15, -11.429}, {12.008, -2.9411*^-15, -11.429}}], Polygon[{{17.067, -4.1802*^-15, -14.286}, {22.756, -5.5735*^-15, -14.286}, {24.016, -5.8821*^-15, -11.429}, {18.012, -4.4116*^-15, -11.429}}], Polygon[{{0., 0., -11.429}, {6.0041, -1.4705*^-15, -11.429}, {6.3033, -1.5438*^-15, -8.5714}, {0., 0., -8.5714}}], Polygon[{{6.0041, -1.4705*^-15, -11.429}, {12.008, -2.9411*^-15, -11.429}, {12.607, -3.0876*^-15, -8.5714}, {6.3033, -1.5438*^-15, -8.5714}}], Polygon[{{12.008, -2.9411*^-15, -11.429}, {18.012, -4.4116*^-15, -11.429}, {18.91, -4.6315*^-15, -8.5714}, {12.607, -3.0876*^-15, -8.5714}}], Polygon[{{18.012, -4.4116*^-15, -11.429}, {24.016, -5.8821*^-15, -11.429}, {25.213, -6.1753*^-15, -8.5714}, {18.91, -4.6315*^-15, -8.5714}}], Polygon[{{0., 0., -8.5714}, {6.3033, -1.5438*^-15, -8.5714}, {6.589, -1.6138*^-15, -5.7143}, {0., 0., -5.7143}}], Polygon[{{6.3033, -1.5438*^-15, -8.5714}, {12.607, -3.0876*^-15, -8.5714}, {13.178, -3.2276*^-15, -5.7143}, {6.589, -1.6138*^-15, -5.7143}}], Polygon[{{12.607, -3.0876*^-15, -8.5714}, {18.91, -4.6315*^-15, -8.5714}, {19.767, -4.8414*^-15, -5.7143}, {13.178, -3.2276*^-15, -5.7143}}], Polygon[{{18.91, -4.6315*^-15, -8.5714}, {25.213, -6.1753*^-15, -8.5714}, {26.356, -6.4552*^-15, -5.7143}, {19.767, -4.8414*^-15, -5.7143}}], Polygon[{{0., 0., -5.7143}, {6.589, -1.6138*^-15, -5.7143}, {6.8628, -1.6808*^-15, -2.8571}, {0., 0., -2.8571}}], Polygon[{{6.589, -1.6138*^-15, -5.7143}, {13.178, -3.2276*^-15, -5.7143}, {13.726, -3.3617*^-15, -2.8571}, {6.8628, -1.6808*^-15, -2.8571}}], Polygon[{{13.178, -3.2276*^-15, -5.7143}, {19.767, -4.8414*^-15, -5.7143}, {20.588, -5.0425*^-15, -2.8571}, {13.726, -3.3617*^-15, -2.8571}}], Polygon[{{19.767, -4.8414*^-15, -5.7143}, {26.356, -6.4552*^-15, -5.7143}, {27.451, -6.7234*^-15, -2.8571}, {20.588, -5.0425*^-15, -2.8571}}], Polygon[{{0., 0., -2.8571}, {6.8628, -1.6808*^-15, -2.8571}, {7.1261, -1.7453*^-15, 2.6645*^-15}, {0., 0., 2.6645*^-15}}], Polygon[{{6.8628, -1.6808*^-15, -2.8571}, {13.726, -3.3617*^-15, -2.8571}, {14.252, -3.4907*^-15, 2.6645*^-15}, {7.1261, -1.7453*^-15, 2.6645*^-15}}], Polygon[{{13.726, -3.3617*^-15, -2.8571}, {20.588, -5.0425*^-15, -2.8571}, {21.378, -5.236*^-15, 2.6645*^-15}, {14.252, -3.4907*^-15, 2.6645*^-15}}], Polygon[{{20.588, -5.0425*^-15, -2.8571}, {27.451, -6.7234*^-15, -2.8571}, {28.504, -6.9813*^-15, 2.6645*^-15}, {21.378, -5.236*^-15, 2.6645*^-15}}], Polygon[{{0., 0., 2.6645*^-15}, {7.1261, -1.7453*^-15, 2.6645*^-15}, {7.38, -1.8075*^-15, 2.8571}, {0., 0., 2.8571}}], Polygon[{{7.1261, -1.7453*^-15, 2.6645*^-15}, {14.252, -3.4907*^-15, 2.6645*^-15}, {14.76, -3.615*^-15, 2.8571}, {7.38, -1.8075*^-15, 2.8571}}], Polygon[{{14.252, -3.4907*^-15, 2.6645*^-15}, {21.378, -5.236*^-15, 2.6645*^-15}, {22.14, -5.4226*^-15, 2.8571}, {14.76, -3.615*^-15, 2.8571}}], Polygon[{{21.378, -5.236*^-15, 2.6645*^-15}, {28.504, -6.9813*^-15, 2.6645*^-15}, {29.52, -7.2301*^-15, 2.8571}, {22.14, -5.4226*^-15, 2.8571}}], Polygon[{{0., 0., 2.8571}, {7.38, -1.8075*^-15, 2.8571}, {7.6254, -1.8676*^-15, 5.7143}, {0., 0., 5.7143}}], Polygon[{{7.38, -1.8075*^-15, 2.8571}, {14.76, -3.615*^-15, 2.8571}, {15.251, -3.7353*^-15, 5.7143}, {7.6254, -1.8676*^-15, 5.7143}}], Polygon[{{14.76, -3.615*^-15, 2.8571}, {22.14, -5.4226*^-15, 2.8571}, {22.876, -5.6029*^-15, 5.7143}, {15.251, -3.7353*^-15, 5.7143}}], Polygon[{{22.14, -5.4226*^-15, 2.8571}, {29.52, -7.2301*^-15, 2.8571}, {30.502, -7.4705*^-15, 5.7143}, {22.876, -5.6029*^-15, 5.7143}}], Polygon[{{0., 0., 5.7143}, {7.6254, -1.8676*^-15, 5.7143}, {7.8632, -1.9259*^-15, 8.5714}, {0., 0., 8.5714}}], Polygon[{{7.6254, -1.8676*^-15, 5.7143}, {15.251, -3.7353*^-15, 5.7143}, {15.726, -3.8517*^-15, 8.5714}, {7.8632, -1.9259*^-15, 8.5714}}], Polygon[{{15.251, -3.7353*^-15, 5.7143}, {22.876, -5.6029*^-15, 5.7143}, {23.59, -5.7776*^-15, 8.5714}, {15.726, -3.8517*^-15, 8.5714}}], Polygon[{{22.876, -5.6029*^-15, 5.7143}, {30.502, -7.4705*^-15, 5.7143}, {31.453, -7.7035*^-15, 8.5714}, {23.59, -5.7776*^-15, 8.5714}}], Polygon[{{0., 0., 8.5714}, {7.8632, -1.9259*^-15, 8.5714}, {8.094, -1.9824*^-15, 11.429}, {0., 0., 11.429}}], Polygon[{{7.8632, -1.9259*^-15, 8.5714}, {15.726, -3.8517*^-15, 8.5714}, {16.188, -3.9648*^-15, 11.429}, {8.094, -1.9824*^-15, 11.429}}], Polygon[{{15.726, -3.8517*^-15, 8.5714}, {23.59, -5.7776*^-15, 8.5714}, {24.282, -5.9472*^-15, 11.429}, {16.188, -3.9648*^-15, 11.429}}], Polygon[{{23.59, -5.7776*^-15, 8.5714}, {31.453, -7.7035*^-15, 8.5714}, {32.376, -7.9296*^-15, 11.429}, {24.282, -5.9472*^-15, 11.429}}], Polygon[{{0., 0., 11.429}, {8.094, -1.9824*^-15, 11.429}, {8.3184, -2.0374*^-15, 14.286}, {0., 0., 14.286}}], Polygon[{{8.094, -1.9824*^-15, 11.429}, {16.188, -3.9648*^-15, 11.429}, {16.637, -4.0747*^-15, 14.286}, {8.3184, -2.0374*^-15, 14.286}}], Polygon[{{16.188, -3.9648*^-15, 11.429}, {24.282, -5.9472*^-15, 11.429}, {24.955, -6.1121*^-15, 14.286}, {16.637, -4.0747*^-15, 14.286}}], Polygon[{{24.282, -5.9472*^-15, 11.429}, {32.376, -7.9296*^-15, 11.429}, {33.274, -8.1495*^-15, 14.286}, {24.955, -6.1121*^-15, 14.286}}], Polygon[{{0., 0., 14.286}, {8.3184, -2.0374*^-15, 14.286}, {8.5369, -2.0909*^-15, 17.143}, {0., 0., 17.143}}], Polygon[{{8.3184, -2.0374*^-15, 14.286}, {16.637, -4.0747*^-15, 14.286}, {17.074, -4.1818*^-15, 17.143}, {8.5369, -2.0909*^-15, 17.143}}], Polygon[{{16.637, -4.0747*^-15, 14.286}, {24.955, -6.1121*^-15, 14.286}, {25.611, -6.2726*^-15, 17.143}, {17.074, -4.1818*^-15, 17.143}}], Polygon[{{24.955, -6.1121*^-15, 14.286}, {33.274, -8.1495*^-15, 14.286}, {34.148, -8.3635*^-15, 17.143}, {25.611, -6.2726*^-15, 17.143}}], Polygon[{{0., 0., 17.143}, {8.5369, -2.0909*^-15, 17.143}, {8.75, -2.1431*^-15, 20.}, {0., 0., 20.}}], Polygon[{{8.5369, -2.0909*^-15, 17.143}, {17.074, -4.1818*^-15, 17.143}, {17.5, -4.2861*^-15, 20.}, {8.75, -2.1431*^-15, 20.}}], Polygon[{{17.074, -4.1818*^-15, 17.143}, {25.611, -6.2726*^-15, 17.143}, {26.25, -6.4292*^-15, 20.}, {17.5, -4.2861*^-15, 20.}}], Polygon[{{25.611, -6.2726*^-15, 17.143}, {34.148, -8.3635*^-15, 17.143}, {35., -8.5722*^-15, 20.}, {26.25, -6.4292*^-15, 20.}}]}}, {AmbientLight -> GrayLevel[0.15], PlotRange -> Automatic, DisplayFunction :> $DisplayFunction, ColorOutput -> Automatic, Axes -> True, PlotLabel -> None, AxesLabel -> {"x", "y", "z"}, Ticks -> Automatic, Prolog -> {}, Epilog -> {}, AxesStyle -> Automatic, Background -> Automatic, DefaultColor -> Automatic, DefaultFont :> $DefaultFont, AspectRatio -> Automatic, ViewPoint -> {1.3, -2.4, 2.}, Boxed -> True, BoxRatios -> Automatic, Plot3Matrix -> Automatic, Lighting -> True, AmbientLight -> GrayLevel[0.], LightSources -> {{{1., 0., 1.}, RGBColor[1., 0., 0.]}, {{1., 1., 1.}, RGBColor[0., 1., 0.]}, {{0., 1., 1.}, RGBColor[0., 0., 1.]}}, ViewCenter -> Automatic, PlotRegion -> Automatic, ImageSize -> Automatic, TextStyle :> {FontFamily -> "Times", FontSize -> 16.}, FormatType :> $FormatType, ViewVertical -> {0., 0., 1.}, FaceGrids -> None, Shading -> True, RenderAll -> True, PolygonIntersections -> True, AxesEdge -> Automatic, BoxStyle -> Automatic, SphericalRegion -> False}]
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aSphere.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aSphere.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aSphere.txt	(revision 904)
@@ -0,0 +1,1 @@
+Graphics3D[{{Polygon[{{0., 0., 100.}, {0., 0., 100.}, {16.235, 2.7091, 98.636}, {16.459, 0., 98.636}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {15.568, 5.3444, 98.636}, {16.235, 2.7091, 98.636}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {14.476, 7.8338, 98.636}, {15.568, 5.3444, 98.636}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {12.989, 10.11, 98.636}, {14.476, 7.8338, 98.636}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {11.148, 12.11, 98.636}, {12.989, 10.11, 98.636}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {9.0025, 13.779, 98.636}, {11.148, 12.11, 98.636}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {6.6117, 15.073, 98.636}, {9.0025, 13.779, 98.636}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {4.0406, 15.956, 98.636}, {6.6117, 15.073, 98.636}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {1.3592, 16.403, 98.636}, {4.0406, 15.956, 98.636}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {-1.3592, 16.403, 98.636}, {1.3592, 16.403, 98.636}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {-4.0406, 15.956, 98.636}, {-1.3592, 16.403, 98.636}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {-6.6117, 15.073, 98.636}, {-4.0406, 15.956, 98.636}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {-9.0025, 13.779, 98.636}, {-6.6117, 15.073, 98.636}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {-11.148, 12.11, 98.636}, {-9.0025, 13.779, 98.636}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {-12.989, 10.11, 98.636}, {-11.148, 12.11, 98.636}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {-14.476, 7.8338, 98.636}, {-12.989, 10.11, 98.636}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {-15.568, 5.3444, 98.636}, {-14.476, 7.8338, 98.636}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {-16.235, 2.7091, 98.636}, {-15.568, 5.3444, 98.636}}], Polygon[{{0., 0., 100.}, {0., 0., 100.}, {-16.459, 2.0156*^-15, 98.636}, {-16.235, 2.7091, 98.636}}], Polygon[{{16.459, 0., 98.636}, {16.235, 2.7091, 98.636}, {32.027, 5.3444, 94.582}, {32.47, 0., 94.582}}], Polygon[{{16.235, 2.7091, 98.636}, {15.568, 5.3444, 98.636}, {30.711, 10.543, 94.582}, {32.027, 5.3444, 94.582}}], Polygon[{{15.568, 5.3444, 98.636}, {14.476, 7.8338, 98.636}, {28.556, 15.454, 94.582}, {30.711, 10.543, 94.582}}], Polygon[{{14.476, 7.8338, 98.636}, {12.989, 10.11, 98.636}, {25.623, 19.943, 94.582}, {28.556, 15.454, 94.582}}], Polygon[{{12.989, 10.11, 98.636}, {11.148, 12.11, 98.636}, {21.991, 23.889, 94.582}, {25.623, 19.943, 94.582}}], Polygon[{{11.148, 12.11, 98.636}, {9.0025, 13.779, 98.636}, {17.759, 27.183, 94.582}, {21.991, 23.889, 94.582}}], Polygon[{{9.0025, 13.779, 98.636}, {6.6117, 15.073, 98.636}, {13.043, 29.735, 94.582}, {17.759, 27.183, 94.582}}], Polygon[{{6.6117, 15.073, 98.636}, {4.0406, 15.956, 98.636}, {7.9709, 31.476, 94.582}, {13.043, 29.735, 94.582}}], Polygon[{{4.0406, 15.956, 98.636}, {1.3592, 16.403, 98.636}, {2.6813, 32.359, 94.582}, {7.9709, 31.476, 94.582}}], Polygon[{{1.3592, 16.403, 98.636}, {-1.3592, 16.403, 98.636}, {-2.6813, 32.359, 94.582}, {2.6813, 32.359, 94.582}}], Polygon[{{-1.3592, 16.403, 98.636}, {-4.0406, 15.956, 98.636}, {-7.9709, 31.476, 94.582}, {-2.6813, 32.359, 94.582}}], Polygon[{{-4.0406, 15.956, 98.636}, {-6.6117, 15.073, 98.636}, {-13.043, 29.735, 94.582}, {-7.9709, 31.476, 94.582}}], Polygon[{{-6.6117, 15.073, 98.636}, {-9.0025, 13.779, 98.636}, {-17.759, 27.183, 94.582}, {-13.043, 29.735, 94.582}}], Polygon[{{-9.0025, 13.779, 98.636}, {-11.148, 12.11, 98.636}, {-21.991, 23.889, 94.582}, {-17.759, 27.183, 94.582}}], Polygon[{{-11.148, 12.11, 98.636}, {-12.989, 10.11, 98.636}, {-25.623, 19.943, 94.582}, {-21.991, 23.889, 94.582}}], Polygon[{{-12.989, 10.11, 98.636}, {-14.476, 7.8338, 98.636}, {-28.556, 15.454, 94.582}, {-25.623, 19.943, 94.582}}], Polygon[{{-14.476, 7.8338, 98.636}, {-15.568, 5.3444, 98.636}, {-30.711, 10.543, 94.582}, {-28.556, 15.454, 94.582}}], Polygon[{{-15.568, 5.3444, 98.636}, {-16.235, 2.7091, 98.636}, {-32.027, 5.3444, 94.582}, {-30.711, 10.543, 94.582}}], Polygon[{{-16.235, 2.7091, 98.636}, {-16.459, 2.0156*^-15, 98.636}, {-32.47, 3.9763*^-15, 94.582}, {-32.027, 5.3444, 94.582}}], Polygon[{{32.47, 0., 94.582}, {32.027, 5.3444, 94.582}, {46.946, 7.8338, 87.947}, {47.595, 0., 87.947}}], Polygon[{{32.027, 5.3444, 94.582}, {30.711, 10.543, 94.582}, {45.016, 15.454, 87.947}, {46.946, 7.8338, 87.947}}], Polygon[{{30.711, 10.543, 94.582}, {28.556, 15.454, 94.582}, {41.858, 22.653, 87.947}, {45.016, 15.454, 87.947}}], Polygon[{{28.556, 15.454, 94.582}, {25.623, 19.943, 94.582}, {37.559, 29.233, 87.947}, {41.858, 22.653, 87.947}}], Polygon[{{25.623, 19.943, 94.582}, {21.991, 23.889, 94.582}, {32.235, 35.017, 87.947}, {37.559, 29.233, 87.947}}], Polygon[{{21.991, 23.889, 94.582}, {17.759, 27.183, 94.582}, {26.032, 39.845, 87.947}, {32.235, 35.017, 87.947}}], Polygon[{{17.759, 27.183, 94.582}, {13.043, 29.735, 94.582}, {19.119, 43.586, 87.947}, {26.032, 39.845, 87.947}}], Polygon[{{13.043, 29.735, 94.582}, {7.9709, 31.476, 94.582}, {11.684, 46.138, 87.947}, {19.119, 43.586, 87.947}}], Polygon[{{7.9709, 31.476, 94.582}, {2.6813, 32.359, 94.582}, {3.9303, 47.432, 87.947}, {11.684, 46.138, 87.947}}], Polygon[{{2.6813, 32.359, 94.582}, {-2.6813, 32.359, 94.582}, {-3.9303, 47.432, 87.947}, {3.9303, 47.432, 87.947}}], Polygon[{{-2.6813, 32.359, 94.582}, {-7.9709, 31.476, 94.582}, {-11.684, 46.138, 87.947}, {-3.9303, 47.432, 87.947}}], Polygon[{{-7.9709, 31.476, 94.582}, {-13.043, 29.735, 94.582}, {-19.119, 43.586, 87.947}, {-11.684, 46.138, 87.947}}], Polygon[{{-13.043, 29.735, 94.582}, {-17.759, 27.183, 94.582}, {-26.032, 39.845, 87.947}, {-19.119, 43.586, 87.947}}], Polygon[{{-17.759, 27.183, 94.582}, {-21.991, 23.889, 94.582}, {-32.235, 35.017, 87.947}, {-26.032, 39.845, 87.947}}], Polygon[{{-21.991, 23.889, 94.582}, {-25.623, 19.943, 94.582}, {-37.559, 29.233, 87.947}, {-32.235, 35.017, 87.947}}], Polygon[{{-25.623, 19.943, 94.582}, {-28.556, 15.454, 94.582}, {-41.858, 22.653, 87.947}, {-37.559, 29.233, 87.947}}], Polygon[{{-28.556, 15.454, 94.582}, {-30.711, 10.543, 94.582}, {-45.016, 15.454, 87.947}, {-41.858, 22.653, 87.947}}], Polygon[{{-30.711, 10.543, 94.582}, {-32.027, 5.3444, 94.582}, {-46.946, 7.8338, 87.947}, {-45.016, 15.454, 87.947}}], Polygon[{{-32.027, 5.3444, 94.582}, {-32.47, 3.9763*^-15, 94.582}, {-47.595, 5.8285*^-15, 87.947}, {-46.946, 7.8338, 87.947}}], Polygon[{{47.595, 0., 87.947}, {46.946, 7.8338, 87.947}, {60.584, 10.11, 78.914}, {61.421, 0., 78.914}}], Polygon[{{46.946, 7.8338, 87.947}, {45.016, 15.454, 87.947}, {58.093, 19.943, 78.914}, {60.584, 10.11, 78.914}}], Polygon[{{45.016, 15.454, 87.947}, {41.858, 22.653, 87.947}, {54.018, 29.233, 78.914}, {58.093, 19.943, 78.914}}], Polygon[{{41.858, 22.653, 87.947}, {37.559, 29.233, 87.947}, {48.47, 37.726, 78.914}, {54.018, 29.233, 78.914}}], Polygon[{{37.559, 29.233, 87.947}, {32.235, 35.017, 87.947}, {41.599, 45.189, 78.914}, {48.47, 37.726, 78.914}}], Polygon[{{32.235, 35.017, 87.947}, {26.032, 39.845, 87.947}, {33.594, 51.42, 78.914}, {41.599, 45.189, 78.914}}], Polygon[{{26.032, 39.845, 87.947}, {19.119, 43.586, 87.947}, {24.673, 56.248, 78.914}, {33.594, 51.42, 78.914}}], Polygon[{{19.119, 43.586, 87.947}, {11.684, 46.138, 87.947}, {15.078, 59.542, 78.914}, {24.673, 56.248, 78.914}}], Polygon[{{11.684, 46.138, 87.947}, {3.9303, 47.432, 87.947}, {5.0721, 61.211, 78.914}, {15.078, 59.542, 78.914}}], Polygon[{{3.9303, 47.432, 87.947}, {-3.9303, 47.432, 87.947}, {-5.0721, 61.211, 78.914}, {5.0721, 61.211, 78.914}}], Polygon[{{-3.9303, 47.432, 87.947}, {-11.684, 46.138, 87.947}, {-15.078, 59.542, 78.914}, {-5.0721, 61.211, 78.914}}], Polygon[{{-11.684, 46.138, 87.947}, {-19.119, 43.586, 87.947}, {-24.673, 56.248, 78.914}, {-15.078, 59.542, 78.914}}], Polygon[{{-19.119, 43.586, 87.947}, {-26.032, 39.845, 87.947}, {-33.594, 51.42, 78.914}, {-24.673, 56.248, 78.914}}], Polygon[{{-26.032, 39.845, 87.947}, {-32.235, 35.017, 87.947}, {-41.599, 45.189, 78.914}, {-33.594, 51.42, 78.914}}], Polygon[{{-32.235, 35.017, 87.947}, {-37.559, 29.233, 87.947}, {-48.47, 37.726, 78.914}, {-41.599, 45.189, 78.914}}], Polygon[{{-37.559, 29.233, 87.947}, {-41.858, 22.653, 87.947}, {-54.018, 29.233, 78.914}, {-48.47, 37.726, 78.914}}], Polygon[{{-41.858, 22.653, 87.947}, {-45.016, 15.454, 87.947}, {-58.093, 19.943, 78.914}, {-54.018, 29.233, 78.914}}], Polygon[{{-45.016, 15.454, 87.947}, {-46.946, 7.8338, 87.947}, {-60.584, 10.11, 78.914}, {-58.093, 19.943, 78.914}}], Polygon[{{-46.946, 7.8338, 87.947}, {-47.595, 5.8285*^-15, 87.947}, {-61.421, 7.5217*^-15, 78.914}, {-60.584, 10.11, 78.914}}], Polygon[{{61.421, 0., 78.914}, {60.584, 10.11, 78.914}, {72.569, 12.11, 67.728}, {73.572, 0., 67.728}}], Polygon[{{60.584, 10.11, 78.914}, {58.093, 19.943, 78.914}, {69.586, 23.889, 67.728}, {72.569, 12.11, 67.728}}], Polygon[{{58.093, 19.943, 78.914}, {54.018, 29.233, 78.914}, {64.705, 35.017, 67.728}, {69.586, 23.889, 67.728}}], Polygon[{{54.018, 29.233, 78.914}, {48.47, 37.726, 78.914}, {58.059, 45.189, 67.728}, {64.705, 35.017, 67.728}}], Polygon[{{48.47, 37.726, 78.914}, {41.599, 45.189, 78.914}, {49.829, 54.129, 67.728}, {58.059, 45.189, 67.728}}], Polygon[{{41.599, 45.189, 78.914}, {33.594, 51.42, 78.914}, {40.24, 61.592, 67.728}, {49.829, 54.129, 67.728}}], Polygon[{{33.594, 51.42, 78.914}, {24.673, 56.248, 78.914}, {29.554, 67.376, 67.728}, {40.24, 61.592, 67.728}}], Polygon[{{24.673, 56.248, 78.914}, {15.078, 59.542, 78.914}, {18.061, 71.321, 67.728}, {29.554, 67.376, 67.728}}], Polygon[{{15.078, 59.542, 78.914}, {5.0721, 61.211, 78.914}, {6.0756, 73.321, 67.728}, {18.061, 71.321, 67.728}}], Polygon[{{5.0721, 61.211, 78.914}, {-5.0721, 61.211, 78.914}, {-6.0756, 73.321, 67.728}, {6.0756, 73.321, 67.728}}], Polygon[{{-5.0721, 61.211, 78.914}, {-15.078, 59.542, 78.914}, {-18.061, 71.321, 67.728}, {-6.0756, 73.321, 67.728}}], Polygon[{{-15.078, 59.542, 78.914}, {-24.673, 56.248, 78.914}, {-29.554, 67.376, 67.728}, {-18.061, 71.321, 67.728}}], Polygon[{{-24.673, 56.248, 78.914}, {-33.594, 51.42, 78.914}, {-40.24, 61.592, 67.728}, {-29.554, 67.376, 67.728}}], Polygon[{{-33.594, 51.42, 78.914}, {-41.599, 45.189, 78.914}, {-49.829, 54.129, 67.728}, {-40.24, 61.592, 67.728}}], Polygon[{{-41.599, 45.189, 78.914}, {-48.47, 37.726, 78.914}, {-58.059, 45.189, 67.728}, {-49.829, 54.129, 67.728}}], Polygon[{{-48.47, 37.726, 78.914}, {-54.018, 29.233, 78.914}, {-64.705, 35.017, 67.728}, {-58.059, 45.189, 67.728}}], Polygon[{{-54.018, 29.233, 78.914}, {-58.093, 19.943, 78.914}, {-69.586, 23.889, 67.728}, {-64.705, 35.017, 67.728}}], Polygon[{{-58.093, 19.943, 78.914}, {-60.584, 10.11, 78.914}, {-72.569, 12.11, 67.728}, {-69.586, 23.889, 67.728}}], Polygon[{{-60.584, 10.11, 78.914}, {-61.421, 7.5217*^-15, 78.914}, {-73.572, 9.0097*^-15, 67.728}, {-72.569, 12.11, 67.728}}], Polygon[{{73.572, 0., 67.728}, {72.569, 12.11, 67.728}, {82.575, 13.779, 54.695}, {83.717, 0., 54.695}}], Polygon[{{72.569, 12.11, 67.728}, {69.586, 23.889, 67.728}, {79.181, 27.183, 54.695}, {82.575, 13.779, 54.695}}], Polygon[{{69.586, 23.889, 67.728}, {64.705, 35.017, 67.728}, {73.627, 39.845, 54.695}, {79.181, 27.183, 54.695}}], Polygon[{{64.705, 35.017, 67.728}, {58.059, 45.189, 67.728}, {66.064, 51.42, 54.695}, {73.627, 39.845, 54.695}}], Polygon[{{58.059, 45.189, 67.728}, {49.829, 54.129, 67.728}, {56.7, 61.592, 54.695}, {66.064, 51.42, 54.695}}], Polygon[{{49.829, 54.129, 67.728}, {40.24, 61.592, 67.728}, {45.789, 70.085, 54.695}, {56.7, 61.592, 54.695}}], Polygon[{{40.24, 61.592, 67.728}, {29.554, 67.376, 67.728}, {33.629, 76.665, 54.695}, {45.789, 70.085, 54.695}}], Polygon[{{29.554, 67.376, 67.728}, {18.061, 71.321, 67.728}, {20.551, 81.155, 54.695}, {33.629, 76.665, 54.695}}], Polygon[{{18.061, 71.321, 67.728}, {6.0756, 73.321, 67.728}, {6.9133, 83.431, 54.695}, {20.551, 81.155, 54.695}}], Polygon[{{6.0756, 73.321, 67.728}, {-6.0756, 73.321, 67.728}, {-6.9133, 83.431, 54.695}, {6.9133, 83.431, 54.695}}], Polygon[{{-6.0756, 73.321, 67.728}, {-18.061, 71.321, 67.728}, {-20.551, 81.155, 54.695}, {-6.9133, 83.431, 54.695}}], Polygon[{{-18.061, 71.321, 67.728}, {-29.554, 67.376, 67.728}, {-33.629, 76.665, 54.695}, {-20.551, 81.155, 54.695}}], Polygon[{{-29.554, 67.376, 67.728}, {-40.24, 61.592, 67.728}, {-45.789, 70.085, 54.695}, {-33.629, 76.665, 54.695}}], Polygon[{{-40.24, 61.592, 67.728}, {-49.829, 54.129, 67.728}, {-56.7, 61.592, 54.695}, {-45.789, 70.085, 54.695}}], Polygon[{{-49.829, 54.129, 67.728}, {-58.059, 45.189, 67.728}, {-66.064, 51.42, 54.695}, {-56.7, 61.592, 54.695}}], Polygon[{{-58.059, 45.189, 67.728}, {-64.705, 35.017, 67.728}, {-73.627, 39.845, 54.695}, {-66.064, 51.42, 54.695}}], Polygon[{{-64.705, 35.017, 67.728}, {-69.586, 23.889, 67.728}, {-79.181, 27.183, 54.695}, {-73.627, 39.845, 54.695}}], Polygon[{{-69.586, 23.889, 67.728}, {-72.569, 12.11, 67.728}, {-82.575, 13.779, 54.695}, {-79.181, 27.183, 54.695}}], Polygon[{{-72.569, 12.11, 67.728}, {-73.572, 9.0097*^-15, 67.728}, {-83.717, 1.0252*^-14, 54.695}, {-82.575, 13.779, 54.695}}], Polygon[{{83.717, 0., 54.695}, {82.575, 13.779, 54.695}, {90.328, 15.073, 40.17}, {91.577, 0., 40.17}}], Polygon[{{82.575, 13.779, 54.695}, {79.181, 27.183, 54.695}, {86.615, 29.735, 40.17}, {90.328, 15.073, 40.17}}], Polygon[{{79.181, 27.183, 54.695}, {73.627, 39.845, 54.695}, {80.54, 43.586, 40.17}, {86.615, 29.735, 40.17}}], Polygon[{{73.627, 39.845, 54.695}, {66.064, 51.42, 54.695}, {72.267, 56.248, 40.17}, {80.54, 43.586, 40.17}}], Polygon[{{66.064, 51.42, 54.695}, {56.7, 61.592, 54.695}, {62.024, 67.376, 40.17}, {72.267, 56.248, 40.17}}], Polygon[{{56.7, 61.592, 54.695}, {45.789, 70.085, 54.695}, {50.088, 76.665, 40.17}, {62.024, 67.376, 40.17}}], Polygon[{{45.789, 70.085, 54.695}, {33.629, 76.665, 54.695}, {36.786, 83.864, 40.17}, {50.088, 76.665, 40.17}}], Polygon[{{33.629, 76.665, 54.695}, {20.551, 81.155, 54.695}, {22.481, 88.775, 40.17}, {36.786, 83.864, 40.17}}], Polygon[{{20.551, 81.155, 54.695}, {6.9133, 83.431, 54.695}, {7.5624, 91.265, 40.17}, {22.481, 88.775, 40.17}}], Polygon[{{6.9133, 83.431, 54.695}, {-6.9133, 83.431, 54.695}, {-7.5624, 91.265, 40.17}, {7.5624, 91.265, 40.17}}], Polygon[{{-6.9133, 83.431, 54.695}, {-20.551, 81.155, 54.695}, {-22.481, 88.775, 40.17}, {-7.5624, 91.265, 40.17}}], Polygon[{{-20.551, 81.155, 54.695}, {-33.629, 76.665, 54.695}, {-36.786, 83.864, 40.17}, {-22.481, 88.775, 40.17}}], Polygon[{{-33.629, 76.665, 54.695}, {-45.789, 70.085, 54.695}, {-50.088, 76.665, 40.17}, {-36.786, 83.864, 40.17}}], Polygon[{{-45.789, 70.085, 54.695}, {-56.7, 61.592, 54.695}, {-62.024, 67.376, 40.17}, {-50.088, 76.665, 40.17}}], Polygon[{{-56.7, 61.592, 54.695}, {-66.064, 51.42, 54.695}, {-72.267, 56.248, 40.17}, {-62.024, 67.376, 40.17}}], Polygon[{{-66.064, 51.42, 54.695}, {-73.627, 39.845, 54.695}, {-80.54, 43.586, 40.17}, {-72.267, 56.248, 40.17}}], Polygon[{{-73.627, 39.845, 54.695}, {-79.181, 27.183, 54.695}, {-86.615, 29.735, 40.17}, {-80.54, 43.586, 40.17}}], Polygon[{{-79.181, 27.183, 54.695}, {-82.575, 13.779, 54.695}, {-90.328, 15.073, 40.17}, {-86.615, 29.735, 40.17}}], Polygon[{{-82.575, 13.779, 54.695}, {-83.717, 1.0252*^-14, 54.695}, {-91.577, 1.1215*^-14, 40.17}, {-90.328, 15.073, 40.17}}], Polygon[{{91.577, 0., 40.17}, {90.328, 15.073, 40.17}, {95.618, 15.956, 24.549}, {96.94, 0., 24.549}}], Polygon[{{90.328, 15.073, 40.17}, {86.615, 29.735, 40.17}, {91.688, 31.476, 24.549}, {95.618, 15.956, 24.549}}], Polygon[{{86.615, 29.735, 40.17}, {80.54, 43.586, 40.17}, {85.256, 46.138, 24.549}, {91.688, 31.476, 24.549}}], Polygon[{{80.54, 43.586, 40.17}, {72.267, 56.248, 40.17}, {76.499, 59.542, 24.549}, {85.256, 46.138, 24.549}}], Polygon[{{72.267, 56.248, 40.17}, {62.024, 67.376, 40.17}, {65.656, 71.321, 24.549}, {76.499, 59.542, 24.549}}], Polygon[{{62.024, 67.376, 40.17}, {50.088, 76.665, 40.17}, {53.021, 81.155, 24.549}, {65.656, 71.321, 24.549}}], Polygon[{{50.088, 76.665, 40.17}, {36.786, 83.864, 40.17}, {38.94, 88.775, 24.549}, {53.021, 81.155, 24.549}}], Polygon[{{36.786, 83.864, 40.17}, {22.481, 88.775, 40.17}, {23.797, 93.974, 24.549}, {38.94, 88.775, 24.549}}], Polygon[{{22.481, 88.775, 40.17}, {7.5624, 91.265, 40.17}, {8.0052, 96.609, 24.549}, {23.797, 93.974, 24.549}}], Polygon[{{7.5624, 91.265, 40.17}, {-7.5624, 91.265, 40.17}, {-8.0052, 96.609, 24.549}, {8.0052, 96.609, 24.549}}], Polygon[{{-7.5624, 91.265, 40.17}, {-22.481, 88.775, 40.17}, {-23.797, 93.974, 24.549}, {-8.0052, 96.609, 24.549}}], Polygon[{{-22.481, 88.775, 40.17}, {-36.786, 83.864, 40.17}, {-38.94, 88.775, 24.549}, {-23.797, 93.974, 24.549}}], Polygon[{{-36.786, 83.864, 40.17}, {-50.088, 76.665, 40.17}, {-53.021, 81.155, 24.549}, {-38.94, 88.775, 24.549}}], Polygon[{{-50.088, 76.665, 40.17}, {-62.024, 67.376, 40.17}, {-65.656, 71.321, 24.549}, {-53.021, 81.155, 24.549}}], Polygon[{{-62.024, 67.376, 40.17}, {-72.267, 56.248, 40.17}, {-76.499, 59.542, 24.549}, {-65.656, 71.321, 24.549}}], Polygon[{{-72.267, 56.248, 40.17}, {-80.54, 43.586, 40.17}, {-85.256, 46.138, 24.549}, {-76.499, 59.542, 24.549}}], Polygon[{{-80.54, 43.586, 40.17}, {-86.615, 29.735, 40.17}, {-91.688, 31.476, 24.549}, {-85.256, 46.138, 24.549}}], Polygon[{{-86.615, 29.735, 40.17}, {-90.328, 15.073, 40.17}, {-95.618, 15.956, 24.549}, {-91.688, 31.476, 24.549}}], Polygon[{{-90.328, 15.073, 40.17}, {-91.577, 1.1215*^-14, 40.17}, {-96.94, 1.1871*^-14, 24.549}, {-95.618, 15.956, 24.549}}], Polygon[{{96.94, 0., 24.549}, {95.618, 15.956, 24.549}, {98.299, 16.403, 8.2579}, {99.658, 0., 8.2579}}], Polygon[{{95.618, 15.956, 24.549}, {91.688, 31.476, 24.549}, {94.259, 32.359, 8.2579}, {98.299, 16.403, 8.2579}}], Polygon[{{91.688, 31.476, 24.549}, {85.256, 46.138, 24.549}, {87.647, 47.432, 8.2579}, {94.259, 32.359, 8.2579}}], Polygon[{{85.256, 46.138, 24.549}, {76.499, 59.542, 24.549}, {78.645, 61.211, 8.2579}, {87.647, 47.432, 8.2579}}], Polygon[{{76.499, 59.542, 24.549}, {65.656, 71.321, 24.549}, {67.497, 73.321, 8.2579}, {78.645, 61.211, 8.2579}}], Polygon[{{65.656, 71.321, 24.549}, {53.021, 81.155, 24.549}, {54.508, 83.431, 8.2579}, {67.497, 73.321, 8.2579}}], Polygon[{{53.021, 81.155, 24.549}, {38.94, 88.775, 24.549}, {40.032, 91.265, 8.2579}, {54.508, 83.431, 8.2579}}], Polygon[{{38.94, 88.775, 24.549}, {23.797, 93.974, 24.549}, {24.465, 96.609, 8.2579}, {40.032, 91.265, 8.2579}}], Polygon[{{23.797, 93.974, 24.549}, {8.0052, 96.609, 24.549}, {8.2297, 99.318, 8.2579}, {24.465, 96.609, 8.2579}}], Polygon[{{8.0052, 96.609, 24.549}, {-8.0052, 96.609, 24.549}, {-8.2297, 99.318, 8.2579}, {8.2297, 99.318, 8.2579}}], Polygon[{{-8.0052, 96.609, 24.549}, {-23.797, 93.974, 24.549}, {-24.465, 96.609, 8.2579}, {-8.2297, 99.318, 8.2579}}], Polygon[{{-23.797, 93.974, 24.549}, {-38.94, 88.775, 24.549}, {-40.032, 91.265, 8.2579}, {-24.465, 96.609, 8.2579}}], Polygon[{{-38.94, 88.775, 24.549}, {-53.021, 81.155, 24.549}, {-54.508, 83.431, 8.2579}, {-40.032, 91.265, 8.2579}}], Polygon[{{-53.021, 81.155, 24.549}, {-65.656, 71.321, 24.549}, {-67.497, 73.321, 8.2579}, {-54.508, 83.431, 8.2579}}], Polygon[{{-65.656, 71.321, 24.549}, {-76.499, 59.542, 24.549}, {-78.645, 61.211, 8.2579}, {-67.497, 73.321, 8.2579}}], Polygon[{{-76.499, 59.542, 24.549}, {-85.256, 46.138, 24.549}, {-87.647, 47.432, 8.2579}, {-78.645, 61.211, 8.2579}}], Polygon[{{-85.256, 46.138, 24.549}, {-91.688, 31.476, 24.549}, {-94.259, 32.359, 8.2579}, {-87.647, 47.432, 8.2579}}], Polygon[{{-91.688, 31.476, 24.549}, {-95.618, 15.956, 24.549}, {-98.299, 16.403, 8.2579}, {-94.259, 32.359, 8.2579}}], Polygon[{{-95.618, 15.956, 24.549}, {-96.94, 1.1871*^-14, 24.549}, {-99.658, 1.2204*^-14, 8.2579}, {-98.299, 16.403, 8.2579}}], Polygon[{{99.658, 0., 8.2579}, {98.299, 16.403, 8.2579}, {98.299, 16.403, -8.2579}, {99.658, 0., -8.2579}}], Polygon[{{98.299, 16.403, 8.2579}, {94.259, 32.359, 8.2579}, {94.259, 32.359, -8.2579}, {98.299, 16.403, -8.2579}}], Polygon[{{94.259, 32.359, 8.2579}, {87.647, 47.432, 8.2579}, {87.647, 47.432, -8.2579}, {94.259, 32.359, -8.2579}}], Polygon[{{87.647, 47.432, 8.2579}, {78.645, 61.211, 8.2579}, {78.645, 61.211, -8.2579}, {87.647, 47.432, -8.2579}}], Polygon[{{78.645, 61.211, 8.2579}, {67.497, 73.321, 8.2579}, {67.497, 73.321, -8.2579}, {78.645, 61.211, -8.2579}}], Polygon[{{67.497, 73.321, 8.2579}, {54.508, 83.431, 8.2579}, {54.508, 83.431, -8.2579}, {67.497, 73.321, -8.2579}}], Polygon[{{54.508, 83.431, 8.2579}, {40.032, 91.265, 8.2579}, {40.032, 91.265, -8.2579}, {54.508, 83.431, -8.2579}}], Polygon[{{40.032, 91.265, 8.2579}, {24.465, 96.609, 8.2579}, {24.465, 96.609, -8.2579}, {40.032, 91.265, -8.2579}}], Polygon[{{24.465, 96.609, 8.2579}, {8.2297, 99.318, 8.2579}, {8.2297, 99.318, -8.2579}, {24.465, 96.609, -8.2579}}], Polygon[{{8.2297, 99.318, 8.2579}, {-8.2297, 99.318, 8.2579}, {-8.2297, 99.318, -8.2579}, {8.2297, 99.318, -8.2579}}], Polygon[{{-8.2297, 99.318, 8.2579}, {-24.465, 96.609, 8.2579}, {-24.465, 96.609, -8.2579}, {-8.2297, 99.318, -8.2579}}], Polygon[{{-24.465, 96.609, 8.2579}, {-40.032, 91.265, 8.2579}, {-40.032, 91.265, -8.2579}, {-24.465, 96.609, -8.2579}}], Polygon[{{-40.032, 91.265, 8.2579}, {-54.508, 83.431, 8.2579}, {-54.508, 83.431, -8.2579}, {-40.032, 91.265, -8.2579}}], Polygon[{{-54.508, 83.431, 8.2579}, {-67.497, 73.321, 8.2579}, {-67.497, 73.321, -8.2579}, {-54.508, 83.431, -8.2579}}], Polygon[{{-67.497, 73.321, 8.2579}, {-78.645, 61.211, 8.2579}, {-78.645, 61.211, -8.2579}, {-67.497, 73.321, -8.2579}}], Polygon[{{-78.645, 61.211, 8.2579}, {-87.647, 47.432, 8.2579}, {-87.647, 47.432, -8.2579}, {-78.645, 61.211, -8.2579}}], Polygon[{{-87.647, 47.432, 8.2579}, {-94.259, 32.359, 8.2579}, {-94.259, 32.359, -8.2579}, {-87.647, 47.432, -8.2579}}], Polygon[{{-94.259, 32.359, 8.2579}, {-98.299, 16.403, 8.2579}, {-98.299, 16.403, -8.2579}, {-94.259, 32.359, -8.2579}}], Polygon[{{-98.299, 16.403, 8.2579}, {-99.658, 1.2204*^-14, 8.2579}, {-99.658, 1.2204*^-14, -8.2579}, {-98.299, 16.403, -8.2579}}], Polygon[{{99.658, 0., -8.2579}, {98.299, 16.403, -8.2579}, {95.618, 15.956, -24.549}, {96.94, 0., -24.549}}], Polygon[{{98.299, 16.403, -8.2579}, {94.259, 32.359, -8.2579}, {91.688, 31.476, -24.549}, {95.618, 15.956, -24.549}}], Polygon[{{94.259, 32.359, -8.2579}, {87.647, 47.432, -8.2579}, {85.256, 46.138, -24.549}, {91.688, 31.476, -24.549}}], Polygon[{{87.647, 47.432, -8.2579}, {78.645, 61.211, -8.2579}, {76.499, 59.542, -24.549}, {85.256, 46.138, -24.549}}], Polygon[{{78.645, 61.211, -8.2579}, {67.497, 73.321, -8.2579}, {65.656, 71.321, -24.549}, {76.499, 59.542, -24.549}}], Polygon[{{67.497, 73.321, -8.2579}, {54.508, 83.431, -8.2579}, {53.021, 81.155, -24.549}, {65.656, 71.321, -24.549}}], Polygon[{{54.508, 83.431, -8.2579}, {40.032, 91.265, -8.2579}, {38.94, 88.775, -24.549}, {53.021, 81.155, -24.549}}], Polygon[{{40.032, 91.265, -8.2579}, {24.465, 96.609, -8.2579}, {23.797, 93.974, -24.549}, {38.94, 88.775, -24.549}}], Polygon[{{24.465, 96.609, -8.2579}, {8.2297, 99.318, -8.2579}, {8.0052, 96.609, -24.549}, {23.797, 93.974, -24.549}}], Polygon[{{8.2297, 99.318, -8.2579}, {-8.2297, 99.318, -8.2579}, {-8.0052, 96.609, -24.549}, {8.0052, 96.609, -24.549}}], Polygon[{{-8.2297, 99.318, -8.2579}, {-24.465, 96.609, -8.2579}, {-23.797, 93.974, -24.549}, {-8.0052, 96.609, -24.549}}], Polygon[{{-24.465, 96.609, -8.2579}, {-40.032, 91.265, -8.2579}, {-38.94, 88.775, -24.549}, {-23.797, 93.974, -24.549}}], Polygon[{{-40.032, 91.265, -8.2579}, {-54.508, 83.431, -8.2579}, {-53.021, 81.155, -24.549}, {-38.94, 88.775, -24.549}}], Polygon[{{-54.508, 83.431, -8.2579}, {-67.497, 73.321, -8.2579}, {-65.656, 71.321, -24.549}, {-53.021, 81.155, -24.549}}], Polygon[{{-67.497, 73.321, -8.2579}, {-78.645, 61.211, -8.2579}, {-76.499, 59.542, -24.549}, {-65.656, 71.321, -24.549}}], Polygon[{{-78.645, 61.211, -8.2579}, {-87.647, 47.432, -8.2579}, {-85.256, 46.138, -24.549}, {-76.499, 59.542, -24.549}}], Polygon[{{-87.647, 47.432, -8.2579}, {-94.259, 32.359, -8.2579}, {-91.688, 31.476, -24.549}, {-85.256, 46.138, -24.549}}], Polygon[{{-94.259, 32.359, -8.2579}, {-98.299, 16.403, -8.2579}, {-95.618, 15.956, -24.549}, {-91.688, 31.476, -24.549}}], Polygon[{{-98.299, 16.403, -8.2579}, {-99.658, 1.2204*^-14, -8.2579}, {-96.94, 1.1871*^-14, -24.549}, {-95.618, 15.956, -24.549}}], Polygon[{{96.94, 0., -24.549}, {95.618, 15.956, -24.549}, {90.328, 15.073, -40.17}, {91.577, 0., -40.17}}], Polygon[{{95.618, 15.956, -24.549}, {91.688, 31.476, -24.549}, {86.615, 29.735, -40.17}, {90.328, 15.073, -40.17}}], Polygon[{{91.688, 31.476, -24.549}, {85.256, 46.138, -24.549}, {80.54, 43.586, -40.17}, {86.615, 29.735, -40.17}}], Polygon[{{85.256, 46.138, -24.549}, {76.499, 59.542, -24.549}, {72.267, 56.248, -40.17}, {80.54, 43.586, -40.17}}], Polygon[{{76.499, 59.542, -24.549}, {65.656, 71.321, -24.549}, {62.024, 67.376, -40.17}, {72.267, 56.248, -40.17}}], Polygon[{{65.656, 71.321, -24.549}, {53.021, 81.155, -24.549}, {50.088, 76.665, -40.17}, {62.024, 67.376, -40.17}}], Polygon[{{53.021, 81.155, -24.549}, {38.94, 88.775, -24.549}, {36.786, 83.864, -40.17}, {50.088, 76.665, -40.17}}], Polygon[{{38.94, 88.775, -24.549}, {23.797, 93.974, -24.549}, {22.481, 88.775, -40.17}, {36.786, 83.864, -40.17}}], Polygon[{{23.797, 93.974, -24.549}, {8.0052, 96.609, -24.549}, {7.5624, 91.265, -40.17}, {22.481, 88.775, -40.17}}], Polygon[{{8.0052, 96.609, -24.549}, {-8.0052, 96.609, -24.549}, {-7.5624, 91.265, -40.17}, {7.5624, 91.265, -40.17}}], Polygon[{{-8.0052, 96.609, -24.549}, {-23.797, 93.974, -24.549}, {-22.481, 88.775, -40.17}, {-7.5624, 91.265, -40.17}}], Polygon[{{-23.797, 93.974, -24.549}, {-38.94, 88.775, -24.549}, {-36.786, 83.864, -40.17}, {-22.481, 88.775, -40.17}}], Polygon[{{-38.94, 88.775, -24.549}, {-53.021, 81.155, -24.549}, {-50.088, 76.665, -40.17}, {-36.786, 83.864, -40.17}}], Polygon[{{-53.021, 81.155, -24.549}, {-65.656, 71.321, -24.549}, {-62.024, 67.376, -40.17}, {-50.088, 76.665, -40.17}}], Polygon[{{-65.656, 71.321, -24.549}, {-76.499, 59.542, -24.549}, {-72.267, 56.248, -40.17}, {-62.024, 67.376, -40.17}}], Polygon[{{-76.499, 59.542, -24.549}, {-85.256, 46.138, -24.549}, {-80.54, 43.586, -40.17}, {-72.267, 56.248, -40.17}}], Polygon[{{-85.256, 46.138, -24.549}, {-91.688, 31.476, -24.549}, {-86.615, 29.735, -40.17}, {-80.54, 43.586, -40.17}}], Polygon[{{-91.688, 31.476, -24.549}, {-95.618, 15.956, -24.549}, {-90.328, 15.073, -40.17}, {-86.615, 29.735, -40.17}}], Polygon[{{-95.618, 15.956, -24.549}, {-96.94, 1.1871*^-14, -24.549}, {-91.577, 1.1215*^-14, -40.17}, {-90.328, 15.073, -40.17}}], Polygon[{{91.577, 0., -40.17}, {90.328, 15.073, -40.17}, {82.575, 13.779, -54.695}, {83.717, 0., -54.695}}], Polygon[{{90.328, 15.073, -40.17}, {86.615, 29.735, -40.17}, {79.181, 27.183, -54.695}, {82.575, 13.779, -54.695}}], Polygon[{{86.615, 29.735, -40.17}, {80.54, 43.586, -40.17}, {73.627, 39.845, -54.695}, {79.181, 27.183, -54.695}}], Polygon[{{80.54, 43.586, -40.17}, {72.267, 56.248, -40.17}, {66.064, 51.42, -54.695}, {73.627, 39.845, -54.695}}], Polygon[{{72.267, 56.248, -40.17}, {62.024, 67.376, -40.17}, {56.7, 61.592, -54.695}, {66.064, 51.42, -54.695}}], Polygon[{{62.024, 67.376, -40.17}, {50.088, 76.665, -40.17}, {45.789, 70.085, -54.695}, {56.7, 61.592, -54.695}}], Polygon[{{50.088, 76.665, -40.17}, {36.786, 83.864, -40.17}, {33.629, 76.665, -54.695}, {45.789, 70.085, -54.695}}], Polygon[{{36.786, 83.864, -40.17}, {22.481, 88.775, -40.17}, {20.551, 81.155, -54.695}, {33.629, 76.665, -54.695}}], Polygon[{{22.481, 88.775, -40.17}, {7.5624, 91.265, -40.17}, {6.9133, 83.431, -54.695}, {20.551, 81.155, -54.695}}], Polygon[{{7.5624, 91.265, -40.17}, {-7.5624, 91.265, -40.17}, {-6.9133, 83.431, -54.695}, {6.9133, 83.431, -54.695}}], Polygon[{{-7.5624, 91.265, -40.17}, {-22.481, 88.775, -40.17}, {-20.551, 81.155, -54.695}, {-6.9133, 83.431, -54.695}}], Polygon[{{-22.481, 88.775, -40.17}, {-36.786, 83.864, -40.17}, {-33.629, 76.665, -54.695}, {-20.551, 81.155, -54.695}}], Polygon[{{-36.786, 83.864, -40.17}, {-50.088, 76.665, -40.17}, {-45.789, 70.085, -54.695}, {-33.629, 76.665, -54.695}}], Polygon[{{-50.088, 76.665, -40.17}, {-62.024, 67.376, -40.17}, {-56.7, 61.592, -54.695}, {-45.789, 70.085, -54.695}}], Polygon[{{-62.024, 67.376, -40.17}, {-72.267, 56.248, -40.17}, {-66.064, 51.42, -54.695}, {-56.7, 61.592, -54.695}}], Polygon[{{-72.267, 56.248, -40.17}, {-80.54, 43.586, -40.17}, {-73.627, 39.845, -54.695}, {-66.064, 51.42, -54.695}}], Polygon[{{-80.54, 43.586, -40.17}, {-86.615, 29.735, -40.17}, {-79.181, 27.183, -54.695}, {-73.627, 39.845, -54.695}}], Polygon[{{-86.615, 29.735, -40.17}, {-90.328, 15.073, -40.17}, {-82.575, 13.779, -54.695}, {-79.181, 27.183, -54.695}}], Polygon[{{-90.328, 15.073, -40.17}, {-91.577, 1.1215*^-14, -40.17}, {-83.717, 1.0252*^-14, -54.695}, {-82.575, 13.779, -54.695}}], Polygon[{{83.717, 0., -54.695}, {82.575, 13.779, -54.695}, {72.569, 12.11, -67.728}, {73.572, 0., -67.728}}], Polygon[{{82.575, 13.779, -54.695}, {79.181, 27.183, -54.695}, {69.586, 23.889, -67.728}, {72.569, 12.11, -67.728}}], Polygon[{{79.181, 27.183, -54.695}, {73.627, 39.845, -54.695}, {64.705, 35.017, -67.728}, {69.586, 23.889, -67.728}}], Polygon[{{73.627, 39.845, -54.695}, {66.064, 51.42, -54.695}, {58.059, 45.189, -67.728}, {64.705, 35.017, -67.728}}], Polygon[{{66.064, 51.42, -54.695}, {56.7, 61.592, -54.695}, {49.829, 54.129, -67.728}, {58.059, 45.189, -67.728}}], Polygon[{{56.7, 61.592, -54.695}, {45.789, 70.085, -54.695}, {40.24, 61.592, -67.728}, {49.829, 54.129, -67.728}}], Polygon[{{45.789, 70.085, -54.695}, {33.629, 76.665, -54.695}, {29.554, 67.376, -67.728}, {40.24, 61.592, -67.728}}], Polygon[{{33.629, 76.665, -54.695}, {20.551, 81.155, -54.695}, {18.061, 71.321, -67.728}, {29.554, 67.376, -67.728}}], Polygon[{{20.551, 81.155, -54.695}, {6.9133, 83.431, -54.695}, {6.0756, 73.321, -67.728}, {18.061, 71.321, -67.728}}], Polygon[{{6.9133, 83.431, -54.695}, {-6.9133, 83.431, -54.695}, {-6.0756, 73.321, -67.728}, {6.0756, 73.321, -67.728}}], Polygon[{{-6.9133, 83.431, -54.695}, {-20.551, 81.155, -54.695}, {-18.061, 71.321, -67.728}, {-6.0756, 73.321, -67.728}}], Polygon[{{-20.551, 81.155, -54.695}, {-33.629, 76.665, -54.695}, {-29.554, 67.376, -67.728}, {-18.061, 71.321, -67.728}}], Polygon[{{-33.629, 76.665, -54.695}, {-45.789, 70.085, -54.695}, {-40.24, 61.592, -67.728}, {-29.554, 67.376, -67.728}}], Polygon[{{-45.789, 70.085, -54.695}, {-56.7, 61.592, -54.695}, {-49.829, 54.129, -67.728}, {-40.24, 61.592, -67.728}}], Polygon[{{-56.7, 61.592, -54.695}, {-66.064, 51.42, -54.695}, {-58.059, 45.189, -67.728}, {-49.829, 54.129, -67.728}}], Polygon[{{-66.064, 51.42, -54.695}, {-73.627, 39.845, -54.695}, {-64.705, 35.017, -67.728}, {-58.059, 45.189, -67.728}}], Polygon[{{-73.627, 39.845, -54.695}, {-79.181, 27.183, -54.695}, {-69.586, 23.889, -67.728}, {-64.705, 35.017, -67.728}}], Polygon[{{-79.181, 27.183, -54.695}, {-82.575, 13.779, -54.695}, {-72.569, 12.11, -67.728}, {-69.586, 23.889, -67.728}}], Polygon[{{-82.575, 13.779, -54.695}, {-83.717, 1.0252*^-14, -54.695}, {-73.572, 9.0097*^-15, -67.728}, {-72.569, 12.11, -67.728}}], Polygon[{{73.572, 0., -67.728}, {72.569, 12.11, -67.728}, {60.584, 10.11, -78.914}, {61.421, 0., -78.914}}], Polygon[{{72.569, 12.11, -67.728}, {69.586, 23.889, -67.728}, {58.093, 19.943, -78.914}, {60.584, 10.11, -78.914}}], Polygon[{{69.586, 23.889, -67.728}, {64.705, 35.017, -67.728}, {54.018, 29.233, -78.914}, {58.093, 19.943, -78.914}}], Polygon[{{64.705, 35.017, -67.728}, {58.059, 45.189, -67.728}, {48.47, 37.726, -78.914}, {54.018, 29.233, -78.914}}], Polygon[{{58.059, 45.189, -67.728}, {49.829, 54.129, -67.728}, {41.599, 45.189, -78.914}, {48.47, 37.726, -78.914}}], Polygon[{{49.829, 54.129, -67.728}, {40.24, 61.592, -67.728}, {33.594, 51.42, -78.914}, {41.599, 45.189, -78.914}}], Polygon[{{40.24, 61.592, -67.728}, {29.554, 67.376, -67.728}, {24.673, 56.248, -78.914}, {33.594, 51.42, -78.914}}], Polygon[{{29.554, 67.376, -67.728}, {18.061, 71.321, -67.728}, {15.078, 59.542, -78.914}, {24.673, 56.248, -78.914}}], Polygon[{{18.061, 71.321, -67.728}, {6.0756, 73.321, -67.728}, {5.0721, 61.211, -78.914}, {15.078, 59.542, -78.914}}], Polygon[{{6.0756, 73.321, -67.728}, {-6.0756, 73.321, -67.728}, {-5.0721, 61.211, -78.914}, {5.0721, 61.211, -78.914}}], Polygon[{{-6.0756, 73.321, -67.728}, {-18.061, 71.321, -67.728}, {-15.078, 59.542, -78.914}, {-5.0721, 61.211, -78.914}}], Polygon[{{-18.061, 71.321, -67.728}, {-29.554, 67.376, -67.728}, {-24.673, 56.248, -78.914}, {-15.078, 59.542, -78.914}}], Polygon[{{-29.554, 67.376, -67.728}, {-40.24, 61.592, -67.728}, {-33.594, 51.42, -78.914}, {-24.673, 56.248, -78.914}}], Polygon[{{-40.24, 61.592, -67.728}, {-49.829, 54.129, -67.728}, {-41.599, 45.189, -78.914}, {-33.594, 51.42, -78.914}}], Polygon[{{-49.829, 54.129, -67.728}, {-58.059, 45.189, -67.728}, {-48.47, 37.726, -78.914}, {-41.599, 45.189, -78.914}}], Polygon[{{-58.059, 45.189, -67.728}, {-64.705, 35.017, -67.728}, {-54.018, 29.233, -78.914}, {-48.47, 37.726, -78.914}}], Polygon[{{-64.705, 35.017, -67.728}, {-69.586, 23.889, -67.728}, {-58.093, 19.943, -78.914}, {-54.018, 29.233, -78.914}}], Polygon[{{-69.586, 23.889, -67.728}, {-72.569, 12.11, -67.728}, {-60.584, 10.11, -78.914}, {-58.093, 19.943, -78.914}}], Polygon[{{-72.569, 12.11, -67.728}, {-73.572, 9.0097*^-15, -67.728}, {-61.421, 7.5217*^-15, -78.914}, {-60.584, 10.11, -78.914}}], Polygon[{{61.421, 0., -78.914}, {60.584, 10.11, -78.914}, {46.946, 7.8338, -87.947}, {47.595, 0., -87.947}}], Polygon[{{60.584, 10.11, -78.914}, {58.093, 19.943, -78.914}, {45.016, 15.454, -87.947}, {46.946, 7.8338, -87.947}}], Polygon[{{58.093, 19.943, -78.914}, {54.018, 29.233, -78.914}, {41.858, 22.653, -87.947}, {45.016, 15.454, -87.947}}], Polygon[{{54.018, 29.233, -78.914}, {48.47, 37.726, -78.914}, {37.559, 29.233, -87.947}, {41.858, 22.653, -87.947}}], Polygon[{{48.47, 37.726, -78.914}, {41.599, 45.189, -78.914}, {32.235, 35.017, -87.947}, {37.559, 29.233, -87.947}}], Polygon[{{41.599, 45.189, -78.914}, {33.594, 51.42, -78.914}, {26.032, 39.845, -87.947}, {32.235, 35.017, -87.947}}], Polygon[{{33.594, 51.42, -78.914}, {24.673, 56.248, -78.914}, {19.119, 43.586, -87.947}, {26.032, 39.845, -87.947}}], Polygon[{{24.673, 56.248, -78.914}, {15.078, 59.542, -78.914}, {11.684, 46.138, -87.947}, {19.119, 43.586, -87.947}}], Polygon[{{15.078, 59.542, -78.914}, {5.0721, 61.211, -78.914}, {3.9303, 47.432, -87.947}, {11.684, 46.138, -87.947}}], Polygon[{{5.0721, 61.211, -78.914}, {-5.0721, 61.211, -78.914}, {-3.9303, 47.432, -87.947}, {3.9303, 47.432, -87.947}}], Polygon[{{-5.0721, 61.211, -78.914}, {-15.078, 59.542, -78.914}, {-11.684, 46.138, -87.947}, {-3.9303, 47.432, -87.947}}], Polygon[{{-15.078, 59.542, -78.914}, {-24.673, 56.248, -78.914}, {-19.119, 43.586, -87.947}, {-11.684, 46.138, -87.947}}], Polygon[{{-24.673, 56.248, -78.914}, {-33.594, 51.42, -78.914}, {-26.032, 39.845, -87.947}, {-19.119, 43.586, -87.947}}], Polygon[{{-33.594, 51.42, -78.914}, {-41.599, 45.189, -78.914}, {-32.235, 35.017, -87.947}, {-26.032, 39.845, -87.947}}], Polygon[{{-41.599, 45.189, -78.914}, {-48.47, 37.726, -78.914}, {-37.559, 29.233, -87.947}, {-32.235, 35.017, -87.947}}], Polygon[{{-48.47, 37.726, -78.914}, {-54.018, 29.233, -78.914}, {-41.858, 22.653, -87.947}, {-37.559, 29.233, -87.947}}], Polygon[{{-54.018, 29.233, -78.914}, {-58.093, 19.943, -78.914}, {-45.016, 15.454, -87.947}, {-41.858, 22.653, -87.947}}], Polygon[{{-58.093, 19.943, -78.914}, {-60.584, 10.11, -78.914}, {-46.946, 7.8338, -87.947}, {-45.016, 15.454, -87.947}}], Polygon[{{-60.584, 10.11, -78.914}, {-61.421, 7.5217*^-15, -78.914}, {-47.595, 5.8285*^-15, -87.947}, {-46.946, 7.8338, -87.947}}], Polygon[{{47.595, 0., -87.947}, {46.946, 7.8338, -87.947}, {32.027, 5.3444, -94.582}, {32.47, 0., -94.582}}], Polygon[{{46.946, 7.8338, -87.947}, {45.016, 15.454, -87.947}, {30.711, 10.543, -94.582}, {32.027, 5.3444, -94.582}}], Polygon[{{45.016, 15.454, -87.947}, {41.858, 22.653, -87.947}, {28.556, 15.454, -94.582}, {30.711, 10.543, -94.582}}], Polygon[{{41.858, 22.653, -87.947}, {37.559, 29.233, -87.947}, {25.623, 19.943, -94.582}, {28.556, 15.454, -94.582}}], Polygon[{{37.559, 29.233, -87.947}, {32.235, 35.017, -87.947}, {21.991, 23.889, -94.582}, {25.623, 19.943, -94.582}}], Polygon[{{32.235, 35.017, -87.947}, {26.032, 39.845, -87.947}, {17.759, 27.183, -94.582}, {21.991, 23.889, -94.582}}], Polygon[{{26.032, 39.845, -87.947}, {19.119, 43.586, -87.947}, {13.043, 29.735, -94.582}, {17.759, 27.183, -94.582}}], Polygon[{{19.119, 43.586, -87.947}, {11.684, 46.138, -87.947}, {7.9709, 31.476, -94.582}, {13.043, 29.735, -94.582}}], Polygon[{{11.684, 46.138, -87.947}, {3.9303, 47.432, -87.947}, {2.6813, 32.359, -94.582}, {7.9709, 31.476, -94.582}}], Polygon[{{3.9303, 47.432, -87.947}, {-3.9303, 47.432, -87.947}, {-2.6813, 32.359, -94.582}, {2.6813, 32.359, -94.582}}], Polygon[{{-3.9303, 47.432, -87.947}, {-11.684, 46.138, -87.947}, {-7.9709, 31.476, -94.582}, {-2.6813, 32.359, -94.582}}], Polygon[{{-11.684, 46.138, -87.947}, {-19.119, 43.586, -87.947}, {-13.043, 29.735, -94.582}, {-7.9709, 31.476, -94.582}}], Polygon[{{-19.119, 43.586, -87.947}, {-26.032, 39.845, -87.947}, {-17.759, 27.183, -94.582}, {-13.043, 29.735, -94.582}}], Polygon[{{-26.032, 39.845, -87.947}, {-32.235, 35.017, -87.947}, {-21.991, 23.889, -94.582}, {-17.759, 27.183, -94.582}}], Polygon[{{-32.235, 35.017, -87.947}, {-37.559, 29.233, -87.947}, {-25.623, 19.943, -94.582}, {-21.991, 23.889, -94.582}}], Polygon[{{-37.559, 29.233, -87.947}, {-41.858, 22.653, -87.947}, {-28.556, 15.454, -94.582}, {-25.623, 19.943, -94.582}}], Polygon[{{-41.858, 22.653, -87.947}, {-45.016, 15.454, -87.947}, {-30.711, 10.543, -94.582}, {-28.556, 15.454, -94.582}}], Polygon[{{-45.016, 15.454, -87.947}, {-46.946, 7.8338, -87.947}, {-32.027, 5.3444, -94.582}, {-30.711, 10.543, -94.582}}], Polygon[{{-46.946, 7.8338, -87.947}, {-47.595, 5.8285*^-15, -87.947}, {-32.47, 3.9763*^-15, -94.582}, {-32.027, 5.3444, -94.582}}], Polygon[{{32.47, 0., -94.582}, {32.027, 5.3444, -94.582}, {16.235, 2.7091, -98.636}, {16.459, 0., -98.636}}], Polygon[{{32.027, 5.3444, -94.582}, {30.711, 10.543, -94.582}, {15.568, 5.3444, -98.636}, {16.235, 2.7091, -98.636}}], Polygon[{{30.711, 10.543, -94.582}, {28.556, 15.454, -94.582}, {14.476, 7.8338, -98.636}, {15.568, 5.3444, -98.636}}], Polygon[{{28.556, 15.454, -94.582}, {25.623, 19.943, -94.582}, {12.989, 10.11, -98.636}, {14.476, 7.8338, -98.636}}], Polygon[{{25.623, 19.943, -94.582}, {21.991, 23.889, -94.582}, {11.148, 12.11, -98.636}, {12.989, 10.11, -98.636}}], Polygon[{{21.991, 23.889, -94.582}, {17.759, 27.183, -94.582}, {9.0025, 13.779, -98.636}, {11.148, 12.11, -98.636}}], Polygon[{{17.759, 27.183, -94.582}, {13.043, 29.735, -94.582}, {6.6117, 15.073, -98.636}, {9.0025, 13.779, -98.636}}], Polygon[{{13.043, 29.735, -94.582}, {7.9709, 31.476, -94.582}, {4.0406, 15.956, -98.636}, {6.6117, 15.073, -98.636}}], Polygon[{{7.9709, 31.476, -94.582}, {2.6813, 32.359, -94.582}, {1.3592, 16.403, -98.636}, {4.0406, 15.956, -98.636}}], Polygon[{{2.6813, 32.359, -94.582}, {-2.6813, 32.359, -94.582}, {-1.3592, 16.403, -98.636}, {1.3592, 16.403, -98.636}}], Polygon[{{-2.6813, 32.359, -94.582}, {-7.9709, 31.476, -94.582}, {-4.0406, 15.956, -98.636}, {-1.3592, 16.403, -98.636}}], Polygon[{{-7.9709, 31.476, -94.582}, {-13.043, 29.735, -94.582}, {-6.6117, 15.073, -98.636}, {-4.0406, 15.956, -98.636}}], Polygon[{{-13.043, 29.735, -94.582}, {-17.759, 27.183, -94.582}, {-9.0025, 13.779, -98.636}, {-6.6117, 15.073, -98.636}}], Polygon[{{-17.759, 27.183, -94.582}, {-21.991, 23.889, -94.582}, {-11.148, 12.11, -98.636}, {-9.0025, 13.779, -98.636}}], Polygon[{{-21.991, 23.889, -94.582}, {-25.623, 19.943, -94.582}, {-12.989, 10.11, -98.636}, {-11.148, 12.11, -98.636}}], Polygon[{{-25.623, 19.943, -94.582}, {-28.556, 15.454, -94.582}, {-14.476, 7.8338, -98.636}, {-12.989, 10.11, -98.636}}], Polygon[{{-28.556, 15.454, -94.582}, {-30.711, 10.543, -94.582}, {-15.568, 5.3444, -98.636}, {-14.476, 7.8338, -98.636}}], Polygon[{{-30.711, 10.543, -94.582}, {-32.027, 5.3444, -94.582}, {-16.235, 2.7091, -98.636}, {-15.568, 5.3444, -98.636}}], Polygon[{{-32.027, 5.3444, -94.582}, {-32.47, 3.9763*^-15, -94.582}, {-16.459, 2.0156*^-15, -98.636}, {-16.235, 2.7091, -98.636}}], Polygon[{{16.459, 0., -98.636}, {16.235, 2.7091, -98.636}, {1.2079*^-14, 2.0156*^-15, -100.}, {1.2246*^-14, 0., -100.}}], Polygon[{{16.235, 2.7091, -98.636}, {15.568, 5.3444, -98.636}, {1.1583*^-14, 3.9763*^-15, -100.}, {1.2079*^-14, 2.0156*^-15, -100.}}], Polygon[{{15.568, 5.3444, -98.636}, {14.476, 7.8338, -98.636}, {1.077*^-14, 5.8285*^-15, -100.}, {1.1583*^-14, 3.9763*^-15, -100.}}], Polygon[{{14.476, 7.8338, -98.636}, {12.989, 10.11, -98.636}, {9.6639*^-15, 7.5217*^-15, -100.}, {1.077*^-14, 5.8285*^-15, -100.}}], Polygon[{{12.989, 10.11, -98.636}, {11.148, 12.11, -98.636}, {8.294*^-15, 9.0097*^-15, -100.}, {9.6639*^-15, 7.5217*^-15, -100.}}], Polygon[{{11.148, 12.11, -98.636}, {9.0025, 13.779, -98.636}, {6.698*^-15, 1.0252*^-14, -100.}, {8.294*^-15, 9.0097*^-15, -100.}}], Polygon[{{9.0025, 13.779, -98.636}, {6.6117, 15.073, -98.636}, {4.9192*^-15, 1.1215*^-14, -100.}, {6.698*^-15, 1.0252*^-14, -100.}}], Polygon[{{6.6117, 15.073, -98.636}, {4.0406, 15.956, -98.636}, {3.0062*^-15, 1.1871*^-14, -100.}, {4.9192*^-15, 1.1215*^-14, -100.}}], Polygon[{{4.0406, 15.956, -98.636}, {1.3592, 16.403, -98.636}, {1.0113*^-15, 1.2204*^-14, -100.}, {3.0062*^-15, 1.1871*^-14, -100.}}], Polygon[{{1.3592, 16.403, -98.636}, {-1.3592, 16.403, -98.636}, {-1.0113*^-15, 1.2204*^-14, -100.}, {1.0113*^-15, 1.2204*^-14, -100.}}], Polygon[{{-1.3592, 16.403, -98.636}, {-4.0406, 15.956, -98.636}, {-3.0062*^-15, 1.1871*^-14, -100.}, {-1.0113*^-15, 1.2204*^-14, -100.}}], Polygon[{{-4.0406, 15.956, -98.636}, {-6.6117, 15.073, -98.636}, {-4.9192*^-15, 1.1215*^-14, -100.}, {-3.0062*^-15, 1.1871*^-14, -100.}}], Polygon[{{-6.6117, 15.073, -98.636}, {-9.0025, 13.779, -98.636}, {-6.698*^-15, 1.0252*^-14, -100.}, {-4.9192*^-15, 1.1215*^-14, -100.}}], Polygon[{{-9.0025, 13.779, -98.636}, {-11.148, 12.11, -98.636}, {-8.294*^-15, 9.0097*^-15, -100.}, {-6.698*^-15, 1.0252*^-14, -100.}}], Polygon[{{-11.148, 12.11, -98.636}, {-12.989, 10.11, -98.636}, {-9.6639*^-15, 7.5217*^-15, -100.}, {-8.294*^-15, 9.0097*^-15, -100.}}], Polygon[{{-12.989, 10.11, -98.636}, {-14.476, 7.8338, -98.636}, {-1.077*^-14, 5.8285*^-15, -100.}, {-9.6639*^-15, 7.5217*^-15, -100.}}], Polygon[{{-14.476, 7.8338, -98.636}, {-15.568, 5.3444, -98.636}, {-1.1583*^-14, 3.9763*^-15, -100.}, {-1.077*^-14, 5.8285*^-15, -100.}}], Polygon[{{-15.568, 5.3444, -98.636}, {-16.235, 2.7091, -98.636}, {-1.2079*^-14, 2.0156*^-15, -100.}, {-1.1583*^-14, 3.9763*^-15, -100.}}], Polygon[{{-16.235, 2.7091, -98.636}, {-16.459, 2.0156*^-15, -98.636}, {-1.2246*^-14, 1.4997*^-30, -100.}, {-1.2079*^-14, 2.0156*^-15, -100.}}]}, {Polygon[{{0., 0., 120.}, {0., 0., 120.}, {19.482, 3.251, 118.36}, {19.751, 0., 118.36}}], Polygon[{{0., 0., 120.}, {0., 0., 120.}, {18.681, 6.4133, 118.36}, {19.482, 3.251, 118.36}}], Polygon[{{0., 0., 120.}, {0., 0., 120.}, {17.371, 9.4006, 118.36}, {18.681, 6.4133, 118.36}}], Polygon[{{0., 0., 120.}, {0., 0., 120.}, {15.587, 12.132, 118.36}, {17.371, 9.4006, 118.36}}], Polygon[{{0., 0., 120.}, {0., 0., 120.}, {13.377, 14.532, 118.36}, {15.587, 12.132, 118.36}}], Polygon[{{0., 0., 120.}, {0., 0., 120.}, {10.803, 16.535, 118.36}, {13.377, 14.532, 118.36}}], Polygon[{{0., 0., 120.}, {0., 0., 120.}, {7.934, 18.088, 118.36}, {10.803, 16.535, 118.36}}], Polygon[{{0., 0., 120.}, {0., 0., 120.}, {4.8487, 19.147, 118.36}, {7.934, 18.088, 118.36}}], Polygon[{{0., 0., 120.}, {0., 0., 120.}, {1.6311, 19.684, 118.36}, {4.8487, 19.147, 118.36}}], Polygon[{{0., 0., 120.}, {0., 0., 120.}, {-1.6311, 19.684, 118.36}, {1.6311, 19.684, 118.36}}], Polygon[{{0., 0., 120.}, {0., 0., 120.}, {-4.8487, 19.147, 118.36}, {-1.6311, 19.684, 118.36}}], Polygon[{{0., 0., 120.}, {0., 0., 120.}, {-7.934, 18.088, 118.36}, {-4.8487, 19.147, 118.36}}], Polygon[{{0., 0., 120.}, {0., 0., 120.}, {-10.803, 16.535, 118.36}, {-7.934, 18.088, 118.36}}], Polygon[{{0., 0., 120.}, {0., 0., 120.}, {-13.377, 14.532, 118.36}, {-10.803, 16.535, 118.36}}], Polygon[{{0., 0., 120.}, {0., 0., 120.}, {-15.587, 12.132, 118.36}, {-13.377, 14.532, 118.36}}], Polygon[{{0., 0., 120.}, {0., 0., 120.}, {-17.371, 9.4006, 118.36}, {-15.587, 12.132, 118.36}}], Polygon[{{0., 0., 120.}, {0., 0., 120.}, {-18.681, 6.4133, 118.36}, {-17.371, 9.4006, 118.36}}], Polygon[{{0., 0., 120.}, {0., 0., 120.}, {-19.482, 3.251, 118.36}, {-18.681, 6.4133, 118.36}}], Polygon[{{0., 0., 120.}, {0., 0., 120.}, {-19.751, 2.4188*^-15, 118.36}, {-19.482, 3.251, 118.36}}], Polygon[{{19.751, 0., 118.36}, {19.482, 3.251, 118.36}, {38.433, 6.4133, 113.5}, {38.964, 0., 113.5}}], Polygon[{{19.482, 3.251, 118.36}, {18.681, 6.4133, 118.36}, {36.853, 12.652, 113.5}, {38.433, 6.4133, 113.5}}], Polygon[{{18.681, 6.4133, 118.36}, {17.371, 9.4006, 118.36}, {34.268, 18.545, 113.5}, {36.853, 12.652, 113.5}}], Polygon[{{17.371, 9.4006, 118.36}, {15.587, 12.132, 118.36}, {30.748, 23.932, 113.5}, {34.268, 18.545, 113.5}}], Polygon[{{15.587, 12.132, 118.36}, {13.377, 14.532, 118.36}, {26.39, 28.667, 113.5}, {30.748, 23.932, 113.5}}], Polygon[{{13.377, 14.532, 118.36}, {10.803, 16.535, 118.36}, {21.311, 32.619, 113.5}, {26.39, 28.667, 113.5}}], Polygon[{{10.803, 16.535, 118.36}, {7.934, 18.088, 118.36}, {15.652, 35.682, 113.5}, {21.311, 32.619, 113.5}}], Polygon[{{7.934, 18.088, 118.36}, {4.8487, 19.147, 118.36}, {9.5651, 37.772, 113.5}, {15.652, 35.682, 113.5}}], Polygon[{{4.8487, 19.147, 118.36}, {1.6311, 19.684, 118.36}, {3.2176, 38.831, 113.5}, {9.5651, 37.772, 113.5}}], Polygon[{{1.6311, 19.684, 118.36}, {-1.6311, 19.684, 118.36}, {-3.2176, 38.831, 113.5}, {3.2176, 38.831, 113.5}}], Polygon[{{-1.6311, 19.684, 118.36}, {-4.8487, 19.147, 118.36}, {-9.5651, 37.772, 113.5}, {-3.2176, 38.831, 113.5}}], Polygon[{{-4.8487, 19.147, 118.36}, {-7.934, 18.088, 118.36}, {-15.652, 35.682, 113.5}, {-9.5651, 37.772, 113.5}}], Polygon[{{-7.934, 18.088, 118.36}, {-10.803, 16.535, 118.36}, {-21.311, 32.619, 113.5}, {-15.652, 35.682, 113.5}}], Polygon[{{-10.803, 16.535, 118.36}, {-13.377, 14.532, 118.36}, {-26.39, 28.667, 113.5}, {-21.311, 32.619, 113.5}}], Polygon[{{-13.377, 14.532, 118.36}, {-15.587, 12.132, 118.36}, {-30.748, 23.932, 113.5}, {-26.39, 28.667, 113.5}}], Polygon[{{-15.587, 12.132, 118.36}, {-17.371, 9.4006, 118.36}, {-34.268, 18.545, 113.5}, {-30.748, 23.932, 113.5}}], Polygon[{{-17.371, 9.4006, 118.36}, {-18.681, 6.4133, 118.36}, {-36.853, 12.652, 113.5}, {-34.268, 18.545, 113.5}}], Polygon[{{-18.681, 6.4133, 118.36}, {-19.482, 3.251, 118.36}, {-38.433, 6.4133, 113.5}, {-36.853, 12.652, 113.5}}], Polygon[{{-19.482, 3.251, 118.36}, {-19.751, 2.4188*^-15, 118.36}, {-38.964, 4.7715*^-15, 113.5}, {-38.433, 6.4133, 113.5}}], Polygon[{{38.964, 0., 113.5}, {38.433, 6.4133, 113.5}, {56.335, 9.4006, 105.54}, {57.114, 0., 105.54}}], Polygon[{{38.433, 6.4133, 113.5}, {36.853, 12.652, 113.5}, {54.019, 18.545, 105.54}, {56.335, 9.4006, 105.54}}], Polygon[{{36.853, 12.652, 113.5}, {34.268, 18.545, 113.5}, {50.23, 27.183, 105.54}, {54.019, 18.545, 105.54}}], Polygon[{{34.268, 18.545, 113.5}, {30.748, 23.932, 113.5}, {45.071, 35.08, 105.54}, {50.23, 27.183, 105.54}}], Polygon[{{30.748, 23.932, 113.5}, {26.39, 28.667, 113.5}, {38.682, 42.02, 105.54}, {45.071, 35.08, 105.54}}], Polygon[{{26.39, 28.667, 113.5}, {21.311, 32.619, 113.5}, {31.238, 47.814, 105.54}, {38.682, 42.02, 105.54}}], Polygon[{{21.311, 32.619, 113.5}, {15.652, 35.682, 113.5}, {22.942, 52.303, 105.54}, {31.238, 47.814, 105.54}}], Polygon[{{15.652, 35.682, 113.5}, {9.5651, 37.772, 113.5}, {14.021, 55.366, 105.54}, {22.942, 52.303, 105.54}}], Polygon[{{9.5651, 37.772, 113.5}, {3.2176, 38.831, 113.5}, {4.7164, 56.919, 105.54}, {14.021, 55.366, 105.54}}], Polygon[{{3.2176, 38.831, 113.5}, {-3.2176, 38.831, 113.5}, {-4.7164, 56.919, 105.54}, {4.7164, 56.919, 105.54}}], Polygon[{{-3.2176, 38.831, 113.5}, {-9.5651, 37.772, 113.5}, {-14.021, 55.366, 105.54}, {-4.7164, 56.919, 105.54}}], Polygon[{{-9.5651, 37.772, 113.5}, {-15.652, 35.682, 113.5}, {-22.942, 52.303, 105.54}, {-14.021, 55.366, 105.54}}], Polygon[{{-15.652, 35.682, 113.5}, {-21.311, 32.619, 113.5}, {-31.238, 47.814, 105.54}, {-22.942, 52.303, 105.54}}], Polygon[{{-21.311, 32.619, 113.5}, {-26.39, 28.667, 113.5}, {-38.682, 42.02, 105.54}, {-31.238, 47.814, 105.54}}], Polygon[{{-26.39, 28.667, 113.5}, {-30.748, 23.932, 113.5}, {-45.071, 35.08, 105.54}, {-38.682, 42.02, 105.54}}], Polygon[{{-30.748, 23.932, 113.5}, {-34.268, 18.545, 113.5}, {-50.23, 27.183, 105.54}, {-45.071, 35.08, 105.54}}], Polygon[{{-34.268, 18.545, 113.5}, {-36.853, 12.652, 113.5}, {-54.019, 18.545, 105.54}, {-50.23, 27.183, 105.54}}], Polygon[{{-36.853, 12.652, 113.5}, {-38.433, 6.4133, 113.5}, {-56.335, 9.4006, 105.54}, {-54.019, 18.545, 105.54}}], Polygon[{{-38.433, 6.4133, 113.5}, {-38.964, 4.7715*^-15, 113.5}, {-57.114, 6.9942*^-15, 105.54}, {-56.335, 9.4006, 105.54}}], Polygon[{{57.114, 0., 105.54}, {56.335, 9.4006, 105.54}, {72.7, 12.132, 94.697}, {73.706, 0., 94.697}}], Polygon[{{56.335, 9.4006, 105.54}, {54.019, 18.545, 105.54}, {69.712, 23.932, 94.697}, {72.7, 12.132, 94.697}}], Polygon[{{54.019, 18.545, 105.54}, {50.23, 27.183, 105.54}, {64.822, 35.08, 94.697}, {69.712, 23.932, 94.697}}], Polygon[{{50.23, 27.183, 105.54}, {45.071, 35.08, 105.54}, {58.164, 45.271, 94.697}, {64.822, 35.08, 94.697}}], Polygon[{{45.071, 35.08, 105.54}, {38.682, 42.02, 105.54}, {49.919, 54.227, 94.697}, {58.164, 45.271, 94.697}}], Polygon[{{38.682, 42.02, 105.54}, {31.238, 47.814, 105.54}, {40.313, 61.704, 94.697}, {49.919, 54.227, 94.697}}], Polygon[{{31.238, 47.814, 105.54}, {22.942, 52.303, 105.54}, {29.607, 67.498, 94.697}, {40.313, 61.704, 94.697}}], Polygon[{{22.942, 52.303, 105.54}, {14.021, 55.366, 105.54}, {18.094, 71.45, 94.697}, {29.607, 67.498, 94.697}}], Polygon[{{14.021, 55.366, 105.54}, {4.7164, 56.919, 105.54}, {6.0866, 73.454, 94.697}, {18.094, 71.45, 94.697}}], Polygon[{{4.7164, 56.919, 105.54}, {-4.7164, 56.919, 105.54}, {-6.0866, 73.454, 94.697}, {6.0866, 73.454, 94.697}}], Polygon[{{-4.7164, 56.919, 105.54}, {-14.021, 55.366, 105.54}, {-18.094, 71.45, 94.697}, {-6.0866, 73.454, 94.697}}], Polygon[{{-14.021, 55.366, 105.54}, {-22.942, 52.303, 105.54}, {-29.607, 67.498, 94.697}, {-18.094, 71.45, 94.697}}], Polygon[{{-22.942, 52.303, 105.54}, {-31.238, 47.814, 105.54}, {-40.313, 61.704, 94.697}, {-29.607, 67.498, 94.697}}], Polygon[{{-31.238, 47.814, 105.54}, {-38.682, 42.02, 105.54}, {-49.919, 54.227, 94.697}, {-40.313, 61.704, 94.697}}], Polygon[{{-38.682, 42.02, 105.54}, {-45.071, 35.08, 105.54}, {-58.164, 45.271, 94.697}, {-49.919, 54.227, 94.697}}], Polygon[{{-45.071, 35.08, 105.54}, {-50.23, 27.183, 105.54}, {-64.822, 35.08, 94.697}, {-58.164, 45.271, 94.697}}], Polygon[{{-50.23, 27.183, 105.54}, {-54.019, 18.545, 105.54}, {-69.712, 23.932, 94.697}, {-64.822, 35.08, 94.697}}], Polygon[{{-54.019, 18.545, 105.54}, {-56.335, 9.4006, 105.54}, {-72.7, 12.132, 94.697}, {-69.712, 23.932, 94.697}}], Polygon[{{-56.335, 9.4006, 105.54}, {-57.114, 6.9942*^-15, 105.54}, {-73.706, 9.026*^-15, 94.697}, {-72.7, 12.132, 94.697}}], Polygon[{{73.706, 0., 94.697}, {72.7, 12.132, 94.697}, {87.083, 14.532, 81.274}, {88.287, 0., 81.274}}], Polygon[{{72.7, 12.132, 94.697}, {69.712, 23.932, 94.697}, {83.503, 28.667, 81.274}, {87.083, 14.532, 81.274}}], Polygon[{{69.712, 23.932, 94.697}, {64.822, 35.08, 94.697}, {77.646, 42.02, 81.274}, {83.503, 28.667, 81.274}}], Polygon[{{64.822, 35.08, 94.697}, {58.164, 45.271, 94.697}, {69.671, 54.227, 81.274}, {77.646, 42.02, 81.274}}], Polygon[{{58.164, 45.271, 94.697}, {49.919, 54.227, 94.697}, {59.795, 64.955, 81.274}, {69.671, 54.227, 81.274}}], Polygon[{{49.919, 54.227, 94.697}, {40.313, 61.704, 94.697}, {48.288, 73.911, 81.274}, {59.795, 64.955, 81.274}}], Polygon[{{40.313, 61.704, 94.697}, {29.607, 67.498, 94.697}, {35.464, 80.851, 81.274}, {48.288, 73.911, 81.274}}], Polygon[{{29.607, 67.498, 94.697}, {18.094, 71.45, 94.697}, {21.673, 85.585, 81.274}, {35.464, 80.851, 81.274}}], Polygon[{{18.094, 71.45, 94.697}, {6.0866, 73.454, 94.697}, {7.2907, 87.985, 81.274}, {21.673, 85.585, 81.274}}], Polygon[{{6.0866, 73.454, 94.697}, {-6.0866, 73.454, 94.697}, {-7.2907, 87.985, 81.274}, {7.2907, 87.985, 81.274}}], Polygon[{{-6.0866, 73.454, 94.697}, {-18.094, 71.45, 94.697}, {-21.673, 85.585, 81.274}, {-7.2907, 87.985, 81.274}}], Polygon[{{-18.094, 71.45, 94.697}, {-29.607, 67.498, 94.697}, {-35.464, 80.851, 81.274}, {-21.673, 85.585, 81.274}}], Polygon[{{-29.607, 67.498, 94.697}, {-40.313, 61.704, 94.697}, {-48.288, 73.911, 81.274}, {-35.464, 80.851, 81.274}}], Polygon[{{-40.313, 61.704, 94.697}, {-49.919, 54.227, 94.697}, {-59.795, 64.955, 81.274}, {-48.288, 73.911, 81.274}}], Polygon[{{-49.919, 54.227, 94.697}, {-58.164, 45.271, 94.697}, {-69.671, 54.227, 81.274}, {-59.795, 64.955, 81.274}}], Polygon[{{-58.164, 45.271, 94.697}, {-64.822, 35.08, 94.697}, {-77.646, 42.02, 81.274}, {-69.671, 54.227, 81.274}}], Polygon[{{-64.822, 35.08, 94.697}, {-69.712, 23.932, 94.697}, {-83.503, 28.667, 81.274}, {-77.646, 42.02, 81.274}}], Polygon[{{-69.712, 23.932, 94.697}, {-72.7, 12.132, 94.697}, {-87.083, 14.532, 81.274}, {-83.503, 28.667, 81.274}}], Polygon[{{-72.7, 12.132, 94.697}, {-73.706, 9.026*^-15, 94.697}, {-88.287, 1.0812*^-14, 81.274}, {-87.083, 14.532, 81.274}}], Polygon[{{88.287, 0., 81.274}, {87.083, 14.532, 81.274}, {99.09, 16.535, 65.634}, {100.46, 0., 65.634}}], Polygon[{{87.083, 14.532, 81.274}, {83.503, 28.667, 81.274}, {95.017, 32.619, 65.634}, {99.09, 16.535, 65.634}}], Polygon[{{83.503, 28.667, 81.274}, {77.646, 42.02, 81.274}, {88.352, 47.814, 65.634}, {95.017, 32.619, 65.634}}], Polygon[{{77.646, 42.02, 81.274}, {69.671, 54.227, 81.274}, {79.277, 61.704, 65.634}, {88.352, 47.814, 65.634}}], Polygon[{{69.671, 54.227, 81.274}, {59.795, 64.955, 81.274}, {68.04, 73.911, 65.634}, {79.277, 61.704, 65.634}}], Polygon[{{59.795, 64.955, 81.274}, {48.288, 73.911, 81.274}, {54.946, 84.102, 65.634}, {68.04, 73.911, 65.634}}], Polygon[{{48.288, 73.911, 81.274}, {35.464, 80.851, 81.274}, {40.354, 91.999, 65.634}, {54.946, 84.102, 65.634}}], Polygon[{{35.464, 80.851, 81.274}, {21.673, 85.585, 81.274}, {24.661, 97.386, 65.634}, {40.354, 91.999, 65.634}}], Polygon[{{21.673, 85.585, 81.274}, {7.2907, 87.985, 81.274}, {8.2959, 100.12, 65.634}, {24.661, 97.386, 65.634}}], Polygon[{{7.2907, 87.985, 81.274}, {-7.2907, 87.985, 81.274}, {-8.2959, 100.12, 65.634}, {8.2959, 100.12, 65.634}}], Polygon[{{-7.2907, 87.985, 81.274}, {-21.673, 85.585, 81.274}, {-24.661, 97.386, 65.634}, {-8.2959, 100.12, 65.634}}], Polygon[{{-21.673, 85.585, 81.274}, {-35.464, 80.851, 81.274}, {-40.354, 91.999, 65.634}, {-24.661, 97.386, 65.634}}], Polygon[{{-35.464, 80.851, 81.274}, {-48.288, 73.911, 81.274}, {-54.946, 84.102, 65.634}, {-40.354, 91.999, 65.634}}], Polygon[{{-48.288, 73.911, 81.274}, {-59.795, 64.955, 81.274}, {-68.04, 73.911, 65.634}, {-54.946, 84.102, 65.634}}], Polygon[{{-59.795, 64.955, 81.274}, {-69.671, 54.227, 81.274}, {-79.277, 61.704, 65.634}, {-68.04, 73.911, 65.634}}], Polygon[{{-69.671, 54.227, 81.274}, {-77.646, 42.02, 81.274}, {-88.352, 47.814, 65.634}, {-79.277, 61.704, 65.634}}], Polygon[{{-77.646, 42.02, 81.274}, {-83.503, 28.667, 81.274}, {-95.017, 32.619, 65.634}, {-88.352, 47.814, 65.634}}], Polygon[{{-83.503, 28.667, 81.274}, {-87.083, 14.532, 81.274}, {-99.09, 16.535, 65.634}, {-95.017, 32.619, 65.634}}], Polygon[{{-87.083, 14.532, 81.274}, {-88.287, 1.0812*^-14, 81.274}, {-100.46, 1.2302*^-14, 65.634}, {-99.09, 16.535, 65.634}}], Polygon[{{100.46, 0., 65.634}, {99.09, 16.535, 65.634}, {108.39, 18.088, 48.203}, {109.89, 0., 48.203}}], Polygon[{{99.09, 16.535, 65.634}, {95.017, 32.619, 65.634}, {103.94, 35.682, 48.203}, {108.39, 18.088, 48.203}}], Polygon[{{95.017, 32.619, 65.634}, {88.352, 47.814, 65.634}, {96.648, 52.303, 48.203}, {103.94, 35.682, 48.203}}], Polygon[{{88.352, 47.814, 65.634}, {79.277, 61.704, 65.634}, {86.721, 67.498, 48.203}, {96.648, 52.303, 48.203}}], Polygon[{{79.277, 61.704, 65.634}, {68.04, 73.911, 65.634}, {74.428, 80.851, 48.203}, {86.721, 67.498, 48.203}}], Polygon[{{68.04, 73.911, 65.634}, {54.946, 84.102, 65.634}, {60.106, 91.999, 48.203}, {74.428, 80.851, 48.203}}], Polygon[{{54.946, 84.102, 65.634}, {40.354, 91.999, 65.634}, {44.143, 100.64, 48.203}, {60.106, 91.999, 48.203}}], Polygon[{{40.354, 91.999, 65.634}, {24.661, 97.386, 65.634}, {26.977, 106.53, 48.203}, {44.143, 100.64, 48.203}}], Polygon[{{24.661, 97.386, 65.634}, {8.2959, 100.12, 65.634}, {9.0749, 109.52, 48.203}, {26.977, 106.53, 48.203}}], Polygon[{{8.2959, 100.12, 65.634}, {-8.2959, 100.12, 65.634}, {-9.0749, 109.52, 48.203}, {9.0749, 109.52, 48.203}}], Polygon[{{-8.2959, 100.12, 65.634}, {-24.661, 97.386, 65.634}, {-26.977, 106.53, 48.203}, {-9.0749, 109.52, 48.203}}], Polygon[{{-24.661, 97.386, 65.634}, {-40.354, 91.999, 65.634}, {-44.143, 100.64, 48.203}, {-26.977, 106.53, 48.203}}], Polygon[{{-40.354, 91.999, 65.634}, {-54.946, 84.102, 65.634}, {-60.106, 91.999, 48.203}, {-44.143, 100.64, 48.203}}], Polygon[{{-54.946, 84.102, 65.634}, {-68.04, 73.911, 65.634}, {-74.428, 80.851, 48.203}, {-60.106, 91.999, 48.203}}], Polygon[{{-68.04, 73.911, 65.634}, {-79.277, 61.704, 65.634}, {-86.721, 67.498, 48.203}, {-74.428, 80.851, 48.203}}], Polygon[{{-79.277, 61.704, 65.634}, {-88.352, 47.814, 65.634}, {-96.648, 52.303, 48.203}, {-86.721, 67.498, 48.203}}], Polygon[{{-88.352, 47.814, 65.634}, {-95.017, 32.619, 65.634}, {-103.94, 35.682, 48.203}, {-96.648, 52.303, 48.203}}], Polygon[{{-95.017, 32.619, 65.634}, {-99.09, 16.535, 65.634}, {-108.39, 18.088, 48.203}, {-103.94, 35.682, 48.203}}], Polygon[{{-99.09, 16.535, 65.634}, {-100.46, 1.2302*^-14, 65.634}, {-109.89, 1.3458*^-14, 48.203}, {-108.39, 18.088, 48.203}}], Polygon[{{109.89, 0., 48.203}, {108.39, 18.088, 48.203}, {114.74, 19.147, 29.458}, {116.33, 0., 29.458}}], Polygon[{{108.39, 18.088, 48.203}, {103.94, 35.682, 48.203}, {110.03, 37.772, 29.458}, {114.74, 19.147, 29.458}}], Polygon[{{103.94, 35.682, 48.203}, {96.648, 52.303, 48.203}, {102.31, 55.366, 29.458}, {110.03, 37.772, 29.458}}], Polygon[{{96.648, 52.303, 48.203}, {86.721, 67.498, 48.203}, {91.799, 71.45, 29.458}, {102.31, 55.366, 29.458}}], Polygon[{{86.721, 67.498, 48.203}, {74.428, 80.851, 48.203}, {78.787, 85.585, 29.458}, {91.799, 71.45, 29.458}}], Polygon[{{74.428, 80.851, 48.203}, {60.106, 91.999, 48.203}, {63.625, 97.386, 29.458}, {78.787, 85.585, 29.458}}], Polygon[{{60.106, 91.999, 48.203}, {44.143, 100.64, 48.203}, {46.728, 106.53, 29.458}, {63.625, 97.386, 29.458}}], Polygon[{{44.143, 100.64, 48.203}, {26.977, 106.53, 48.203}, {28.557, 112.77, 29.458}, {46.728, 106.53, 29.458}}], Polygon[{{26.977, 106.53, 48.203}, {9.0749, 109.52, 48.203}, {9.6063, 115.93, 29.458}, {28.557, 112.77, 29.458}}], Polygon[{{9.0749, 109.52, 48.203}, {-9.0749, 109.52, 48.203}, {-9.6063, 115.93, 29.458}, {9.6063, 115.93, 29.458}}], Polygon[{{-9.0749, 109.52, 48.203}, {-26.977, 106.53, 48.203}, {-28.557, 112.77, 29.458}, {-9.6063, 115.93, 29.458}}], Polygon[{{-26.977, 106.53, 48.203}, {-44.143, 100.64, 48.203}, {-46.728, 106.53, 29.458}, {-28.557, 112.77, 29.458}}], Polygon[{{-44.143, 100.64, 48.203}, {-60.106, 91.999, 48.203}, {-63.625, 97.386, 29.458}, {-46.728, 106.53, 29.458}}], Polygon[{{-60.106, 91.999, 48.203}, {-74.428, 80.851, 48.203}, {-78.787, 85.585, 29.458}, {-63.625, 97.386, 29.458}}], Polygon[{{-74.428, 80.851, 48.203}, {-86.721, 67.498, 48.203}, {-91.799, 71.45, 29.458}, {-78.787, 85.585, 29.458}}], Polygon[{{-86.721, 67.498, 48.203}, {-96.648, 52.303, 48.203}, {-102.31, 55.366, 29.458}, {-91.799, 71.45, 29.458}}], Polygon[{{-96.648, 52.303, 48.203}, {-103.94, 35.682, 48.203}, {-110.03, 37.772, 29.458}, {-102.31, 55.366, 29.458}}], Polygon[{{-103.94, 35.682, 48.203}, {-108.39, 18.088, 48.203}, {-114.74, 19.147, 29.458}, {-110.03, 37.772, 29.458}}], Polygon[{{-108.39, 18.088, 48.203}, {-109.89, 1.3458*^-14, 48.203}, {-116.33, 1.4246*^-14, 29.458}, {-114.74, 19.147, 29.458}}], Polygon[{{116.33, 0., 29.458}, {114.74, 19.147, 29.458}, {117.96, 19.684, 9.9095}, {119.59, 0., 9.9095}}], Polygon[{{114.74, 19.147, 29.458}, {110.03, 37.772, 29.458}, {113.11, 38.831, 9.9095}, {117.96, 19.684, 9.9095}}], Polygon[{{110.03, 37.772, 29.458}, {102.31, 55.366, 29.458}, {105.18, 56.919, 9.9095}, {113.11, 38.831, 9.9095}}], Polygon[{{102.31, 55.366, 29.458}, {91.799, 71.45, 29.458}, {94.373, 73.454, 9.9095}, {105.18, 56.919, 9.9095}}], Polygon[{{91.799, 71.45, 29.458}, {78.787, 85.585, 29.458}, {80.996, 87.985, 9.9095}, {94.373, 73.454, 9.9095}}], Polygon[{{78.787, 85.585, 29.458}, {63.625, 97.386, 29.458}, {65.41, 100.12, 9.9095}, {80.996, 87.985, 9.9095}}], Polygon[{{63.625, 97.386, 29.458}, {46.728, 106.53, 29.458}, {48.039, 109.52, 9.9095}, {65.41, 100.12, 9.9095}}], Polygon[{{46.728, 106.53, 29.458}, {28.557, 112.77, 29.458}, {29.358, 115.93, 9.9095}, {48.039, 109.52, 9.9095}}], Polygon[{{28.557, 112.77, 29.458}, {9.6063, 115.93, 29.458}, {9.8757, 119.18, 9.9095}, {29.358, 115.93, 9.9095}}], Polygon[{{9.6063, 115.93, 29.458}, {-9.6063, 115.93, 29.458}, {-9.8757, 119.18, 9.9095}, {9.8757, 119.18, 9.9095}}], Polygon[{{-9.6063, 115.93, 29.458}, {-28.557, 112.77, 29.458}, {-29.358, 115.93, 9.9095}, {-9.8757, 119.18, 9.9095}}], Polygon[{{-28.557, 112.77, 29.458}, {-46.728, 106.53, 29.458}, {-48.039, 109.52, 9.9095}, {-29.358, 115.93, 9.9095}}], Polygon[{{-46.728, 106.53, 29.458}, {-63.625, 97.386, 29.458}, {-65.41, 100.12, 9.9095}, {-48.039, 109.52, 9.9095}}], Polygon[{{-63.625, 97.386, 29.458}, {-78.787, 85.585, 29.458}, {-80.996, 87.985, 9.9095}, {-65.41, 100.12, 9.9095}}], Polygon[{{-78.787, 85.585, 29.458}, {-91.799, 71.45, 29.458}, {-94.373, 73.454, 9.9095}, {-80.996, 87.985, 9.9095}}], Polygon[{{-91.799, 71.45, 29.458}, {-102.31, 55.366, 29.458}, {-105.18, 56.919, 9.9095}, {-94.373, 73.454, 9.9095}}], Polygon[{{-102.31, 55.366, 29.458}, {-110.03, 37.772, 29.458}, {-113.11, 38.831, 9.9095}, {-105.18, 56.919, 9.9095}}], Polygon[{{-110.03, 37.772, 29.458}, {-114.74, 19.147, 29.458}, {-117.96, 19.684, 9.9095}, {-113.11, 38.831, 9.9095}}], Polygon[{{-114.74, 19.147, 29.458}, {-116.33, 1.4246*^-14, 29.458}, {-119.59, 1.4645*^-14, 9.9095}, {-117.96, 19.684, 9.9095}}], Polygon[{{119.59, 0., 9.9095}, {117.96, 19.684, 9.9095}, {117.96, 19.684, -9.9095}, {119.59, 0., -9.9095}}], Polygon[{{117.96, 19.684, 9.9095}, {113.11, 38.831, 9.9095}, {113.11, 38.831, -9.9095}, {117.96, 19.684, -9.9095}}], Polygon[{{113.11, 38.831, 9.9095}, {105.18, 56.919, 9.9095}, {105.18, 56.919, -9.9095}, {113.11, 38.831, -9.9095}}], Polygon[{{105.18, 56.919, 9.9095}, {94.373, 73.454, 9.9095}, {94.373, 73.454, -9.9095}, {105.18, 56.919, -9.9095}}], Polygon[{{94.373, 73.454, 9.9095}, {80.996, 87.985, 9.9095}, {80.996, 87.985, -9.9095}, {94.373, 73.454, -9.9095}}], Polygon[{{80.996, 87.985, 9.9095}, {65.41, 100.12, 9.9095}, {65.41, 100.12, -9.9095}, {80.996, 87.985, -9.9095}}], Polygon[{{65.41, 100.12, 9.9095}, {48.039, 109.52, 9.9095}, {48.039, 109.52, -9.9095}, {65.41, 100.12, -9.9095}}], Polygon[{{48.039, 109.52, 9.9095}, {29.358, 115.93, 9.9095}, {29.358, 115.93, -9.9095}, {48.039, 109.52, -9.9095}}], Polygon[{{29.358, 115.93, 9.9095}, {9.8757, 119.18, 9.9095}, {9.8757, 119.18, -9.9095}, {29.358, 115.93, -9.9095}}], Polygon[{{9.8757, 119.18, 9.9095}, {-9.8757, 119.18, 9.9095}, {-9.8757, 119.18, -9.9095}, {9.8757, 119.18, -9.9095}}], Polygon[{{-9.8757, 119.18, 9.9095}, {-29.358, 115.93, 9.9095}, {-29.358, 115.93, -9.9095}, {-9.8757, 119.18, -9.9095}}], Polygon[{{-29.358, 115.93, 9.9095}, {-48.039, 109.52, 9.9095}, {-48.039, 109.52, -9.9095}, {-29.358, 115.93, -9.9095}}], Polygon[{{-48.039, 109.52, 9.9095}, {-65.41, 100.12, 9.9095}, {-65.41, 100.12, -9.9095}, {-48.039, 109.52, -9.9095}}], Polygon[{{-65.41, 100.12, 9.9095}, {-80.996, 87.985, 9.9095}, {-80.996, 87.985, -9.9095}, {-65.41, 100.12, -9.9095}}], Polygon[{{-80.996, 87.985, 9.9095}, {-94.373, 73.454, 9.9095}, {-94.373, 73.454, -9.9095}, {-80.996, 87.985, -9.9095}}], Polygon[{{-94.373, 73.454, 9.9095}, {-105.18, 56.919, 9.9095}, {-105.18, 56.919, -9.9095}, {-94.373, 73.454, -9.9095}}], Polygon[{{-105.18, 56.919, 9.9095}, {-113.11, 38.831, 9.9095}, {-113.11, 38.831, -9.9095}, {-105.18, 56.919, -9.9095}}], Polygon[{{-113.11, 38.831, 9.9095}, {-117.96, 19.684, 9.9095}, {-117.96, 19.684, -9.9095}, {-113.11, 38.831, -9.9095}}], Polygon[{{-117.96, 19.684, 9.9095}, {-119.59, 1.4645*^-14, 9.9095}, {-119.59, 1.4645*^-14, -9.9095}, {-117.96, 19.684, -9.9095}}], Polygon[{{119.59, 0., -9.9095}, {117.96, 19.684, -9.9095}, {114.74, 19.147, -29.458}, {116.33, 0., -29.458}}], Polygon[{{117.96, 19.684, -9.9095}, {113.11, 38.831, -9.9095}, {110.03, 37.772, -29.458}, {114.74, 19.147, -29.458}}], Polygon[{{113.11, 38.831, -9.9095}, {105.18, 56.919, -9.9095}, {102.31, 55.366, -29.458}, {110.03, 37.772, -29.458}}], Polygon[{{105.18, 56.919, -9.9095}, {94.373, 73.454, -9.9095}, {91.799, 71.45, -29.458}, {102.31, 55.366, -29.458}}], Polygon[{{94.373, 73.454, -9.9095}, {80.996, 87.985, -9.9095}, {78.787, 85.585, -29.458}, {91.799, 71.45, -29.458}}], Polygon[{{80.996, 87.985, -9.9095}, {65.41, 100.12, -9.9095}, {63.625, 97.386, -29.458}, {78.787, 85.585, -29.458}}], Polygon[{{65.41, 100.12, -9.9095}, {48.039, 109.52, -9.9095}, {46.728, 106.53, -29.458}, {63.625, 97.386, -29.458}}], Polygon[{{48.039, 109.52, -9.9095}, {29.358, 115.93, -9.9095}, {28.557, 112.77, -29.458}, {46.728, 106.53, -29.458}}], Polygon[{{29.358, 115.93, -9.9095}, {9.8757, 119.18, -9.9095}, {9.6063, 115.93, -29.458}, {28.557, 112.77, -29.458}}], Polygon[{{9.8757, 119.18, -9.9095}, {-9.8757, 119.18, -9.9095}, {-9.6063, 115.93, -29.458}, {9.6063, 115.93, -29.458}}], Polygon[{{-9.8757, 119.18, -9.9095}, {-29.358, 115.93, -9.9095}, {-28.557, 112.77, -29.458}, {-9.6063, 115.93, -29.458}}], Polygon[{{-29.358, 115.93, -9.9095}, {-48.039, 109.52, -9.9095}, {-46.728, 106.53, -29.458}, {-28.557, 112.77, -29.458}}], Polygon[{{-48.039, 109.52, -9.9095}, {-65.41, 100.12, -9.9095}, {-63.625, 97.386, -29.458}, {-46.728, 106.53, -29.458}}], Polygon[{{-65.41, 100.12, -9.9095}, {-80.996, 87.985, -9.9095}, {-78.787, 85.585, -29.458}, {-63.625, 97.386, -29.458}}], Polygon[{{-80.996, 87.985, -9.9095}, {-94.373, 73.454, -9.9095}, {-91.799, 71.45, -29.458}, {-78.787, 85.585, -29.458}}], Polygon[{{-94.373, 73.454, -9.9095}, {-105.18, 56.919, -9.9095}, {-102.31, 55.366, -29.458}, {-91.799, 71.45, -29.458}}], Polygon[{{-105.18, 56.919, -9.9095}, {-113.11, 38.831, -9.9095}, {-110.03, 37.772, -29.458}, {-102.31, 55.366, -29.458}}], Polygon[{{-113.11, 38.831, -9.9095}, {-117.96, 19.684, -9.9095}, {-114.74, 19.147, -29.458}, {-110.03, 37.772, -29.458}}], Polygon[{{-117.96, 19.684, -9.9095}, {-119.59, 1.4645*^-14, -9.9095}, {-116.33, 1.4246*^-14, -29.458}, {-114.74, 19.147, -29.458}}], Polygon[{{116.33, 0., -29.458}, {114.74, 19.147, -29.458}, {108.39, 18.088, -48.203}, {109.89, 0., -48.203}}], Polygon[{{114.74, 19.147, -29.458}, {110.03, 37.772, -29.458}, {103.94, 35.682, -48.203}, {108.39, 18.088, -48.203}}], Polygon[{{110.03, 37.772, -29.458}, {102.31, 55.366, -29.458}, {96.648, 52.303, -48.203}, {103.94, 35.682, -48.203}}], Polygon[{{102.31, 55.366, -29.458}, {91.799, 71.45, -29.458}, {86.721, 67.498, -48.203}, {96.648, 52.303, -48.203}}], Polygon[{{91.799, 71.45, -29.458}, {78.787, 85.585, -29.458}, {74.428, 80.851, -48.203}, {86.721, 67.498, -48.203}}], Polygon[{{78.787, 85.585, -29.458}, {63.625, 97.386, -29.458}, {60.106, 91.999, -48.203}, {74.428, 80.851, -48.203}}], Polygon[{{63.625, 97.386, -29.458}, {46.728, 106.53, -29.458}, {44.143, 100.64, -48.203}, {60.106, 91.999, -48.203}}], Polygon[{{46.728, 106.53, -29.458}, {28.557, 112.77, -29.458}, {26.977, 106.53, -48.203}, {44.143, 100.64, -48.203}}], Polygon[{{28.557, 112.77, -29.458}, {9.6063, 115.93, -29.458}, {9.0749, 109.52, -48.203}, {26.977, 106.53, -48.203}}], Polygon[{{9.6063, 115.93, -29.458}, {-9.6063, 115.93, -29.458}, {-9.0749, 109.52, -48.203}, {9.0749, 109.52, -48.203}}], Polygon[{{-9.6063, 115.93, -29.458}, {-28.557, 112.77, -29.458}, {-26.977, 106.53, -48.203}, {-9.0749, 109.52, -48.203}}], Polygon[{{-28.557, 112.77, -29.458}, {-46.728, 106.53, -29.458}, {-44.143, 100.64, -48.203}, {-26.977, 106.53, -48.203}}], Polygon[{{-46.728, 106.53, -29.458}, {-63.625, 97.386, -29.458}, {-60.106, 91.999, -48.203}, {-44.143, 100.64, -48.203}}], Polygon[{{-63.625, 97.386, -29.458}, {-78.787, 85.585, -29.458}, {-74.428, 80.851, -48.203}, {-60.106, 91.999, -48.203}}], Polygon[{{-78.787, 85.585, -29.458}, {-91.799, 71.45, -29.458}, {-86.721, 67.498, -48.203}, {-74.428, 80.851, -48.203}}], Polygon[{{-91.799, 71.45, -29.458}, {-102.31, 55.366, -29.458}, {-96.648, 52.303, -48.203}, {-86.721, 67.498, -48.203}}], Polygon[{{-102.31, 55.366, -29.458}, {-110.03, 37.772, -29.458}, {-103.94, 35.682, -48.203}, {-96.648, 52.303, -48.203}}], Polygon[{{-110.03, 37.772, -29.458}, {-114.74, 19.147, -29.458}, {-108.39, 18.088, -48.203}, {-103.94, 35.682, -48.203}}], Polygon[{{-114.74, 19.147, -29.458}, {-116.33, 1.4246*^-14, -29.458}, {-109.89, 1.3458*^-14, -48.203}, {-108.39, 18.088, -48.203}}], Polygon[{{109.89, 0., -48.203}, {108.39, 18.088, -48.203}, {99.09, 16.535, -65.634}, {100.46, 0., -65.634}}], Polygon[{{108.39, 18.088, -48.203}, {103.94, 35.682, -48.203}, {95.017, 32.619, -65.634}, {99.09, 16.535, -65.634}}], Polygon[{{103.94, 35.682, -48.203}, {96.648, 52.303, -48.203}, {88.352, 47.814, -65.634}, {95.017, 32.619, -65.634}}], Polygon[{{96.648, 52.303, -48.203}, {86.721, 67.498, -48.203}, {79.277, 61.704, -65.634}, {88.352, 47.814, -65.634}}], Polygon[{{86.721, 67.498, -48.203}, {74.428, 80.851, -48.203}, {68.04, 73.911, -65.634}, {79.277, 61.704, -65.634}}], Polygon[{{74.428, 80.851, -48.203}, {60.106, 91.999, -48.203}, {54.946, 84.102, -65.634}, {68.04, 73.911, -65.634}}], Polygon[{{60.106, 91.999, -48.203}, {44.143, 100.64, -48.203}, {40.354, 91.999, -65.634}, {54.946, 84.102, -65.634}}], Polygon[{{44.143, 100.64, -48.203}, {26.977, 106.53, -48.203}, {24.661, 97.386, -65.634}, {40.354, 91.999, -65.634}}], Polygon[{{26.977, 106.53, -48.203}, {9.0749, 109.52, -48.203}, {8.2959, 100.12, -65.634}, {24.661, 97.386, -65.634}}], Polygon[{{9.0749, 109.52, -48.203}, {-9.0749, 109.52, -48.203}, {-8.2959, 100.12, -65.634}, {8.2959, 100.12, -65.634}}], Polygon[{{-9.0749, 109.52, -48.203}, {-26.977, 106.53, -48.203}, {-24.661, 97.386, -65.634}, {-8.2959, 100.12, -65.634}}], Polygon[{{-26.977, 106.53, -48.203}, {-44.143, 100.64, -48.203}, {-40.354, 91.999, -65.634}, {-24.661, 97.386, -65.634}}], Polygon[{{-44.143, 100.64, -48.203}, {-60.106, 91.999, -48.203}, {-54.946, 84.102, -65.634}, {-40.354, 91.999, -65.634}}], Polygon[{{-60.106, 91.999, -48.203}, {-74.428, 80.851, -48.203}, {-68.04, 73.911, -65.634}, {-54.946, 84.102, -65.634}}], Polygon[{{-74.428, 80.851, -48.203}, {-86.721, 67.498, -48.203}, {-79.277, 61.704, -65.634}, {-68.04, 73.911, -65.634}}], Polygon[{{-86.721, 67.498, -48.203}, {-96.648, 52.303, -48.203}, {-88.352, 47.814, -65.634}, {-79.277, 61.704, -65.634}}], Polygon[{{-96.648, 52.303, -48.203}, {-103.94, 35.682, -48.203}, {-95.017, 32.619, -65.634}, {-88.352, 47.814, -65.634}}], Polygon[{{-103.94, 35.682, -48.203}, {-108.39, 18.088, -48.203}, {-99.09, 16.535, -65.634}, {-95.017, 32.619, -65.634}}], Polygon[{{-108.39, 18.088, -48.203}, {-109.89, 1.3458*^-14, -48.203}, {-100.46, 1.2302*^-14, -65.634}, {-99.09, 16.535, -65.634}}], Polygon[{{100.46, 0., -65.634}, {99.09, 16.535, -65.634}, {87.083, 14.532, -81.274}, {88.287, 0., -81.274}}], Polygon[{{99.09, 16.535, -65.634}, {95.017, 32.619, -65.634}, {83.503, 28.667, -81.274}, {87.083, 14.532, -81.274}}], Polygon[{{95.017, 32.619, -65.634}, {88.352, 47.814, -65.634}, {77.646, 42.02, -81.274}, {83.503, 28.667, -81.274}}], Polygon[{{88.352, 47.814, -65.634}, {79.277, 61.704, -65.634}, {69.671, 54.227, -81.274}, {77.646, 42.02, -81.274}}], Polygon[{{79.277, 61.704, -65.634}, {68.04, 73.911, -65.634}, {59.795, 64.955, -81.274}, {69.671, 54.227, -81.274}}], Polygon[{{68.04, 73.911, -65.634}, {54.946, 84.102, -65.634}, {48.288, 73.911, -81.274}, {59.795, 64.955, -81.274}}], Polygon[{{54.946, 84.102, -65.634}, {40.354, 91.999, -65.634}, {35.464, 80.851, -81.274}, {48.288, 73.911, -81.274}}], Polygon[{{40.354, 91.999, -65.634}, {24.661, 97.386, -65.634}, {21.673, 85.585, -81.274}, {35.464, 80.851, -81.274}}], Polygon[{{24.661, 97.386, -65.634}, {8.2959, 100.12, -65.634}, {7.2907, 87.985, -81.274}, {21.673, 85.585, -81.274}}], Polygon[{{8.2959, 100.12, -65.634}, {-8.2959, 100.12, -65.634}, {-7.2907, 87.985, -81.274}, {7.2907, 87.985, -81.274}}], Polygon[{{-8.2959, 100.12, -65.634}, {-24.661, 97.386, -65.634}, {-21.673, 85.585, -81.274}, {-7.2907, 87.985, -81.274}}], Polygon[{{-24.661, 97.386, -65.634}, {-40.354, 91.999, -65.634}, {-35.464, 80.851, -81.274}, {-21.673, 85.585, -81.274}}], Polygon[{{-40.354, 91.999, -65.634}, {-54.946, 84.102, -65.634}, {-48.288, 73.911, -81.274}, {-35.464, 80.851, -81.274}}], Polygon[{{-54.946, 84.102, -65.634}, {-68.04, 73.911, -65.634}, {-59.795, 64.955, -81.274}, {-48.288, 73.911, -81.274}}], Polygon[{{-68.04, 73.911, -65.634}, {-79.277, 61.704, -65.634}, {-69.671, 54.227, -81.274}, {-59.795, 64.955, -81.274}}], Polygon[{{-79.277, 61.704, -65.634}, {-88.352, 47.814, -65.634}, {-77.646, 42.02, -81.274}, {-69.671, 54.227, -81.274}}], Polygon[{{-88.352, 47.814, -65.634}, {-95.017, 32.619, -65.634}, {-83.503, 28.667, -81.274}, {-77.646, 42.02, -81.274}}], Polygon[{{-95.017, 32.619, -65.634}, {-99.09, 16.535, -65.634}, {-87.083, 14.532, -81.274}, {-83.503, 28.667, -81.274}}], Polygon[{{-99.09, 16.535, -65.634}, {-100.46, 1.2302*^-14, -65.634}, {-88.287, 1.0812*^-14, -81.274}, {-87.083, 14.532, -81.274}}], Polygon[{{88.287, 0., -81.274}, {87.083, 14.532, -81.274}, {72.7, 12.132, -94.697}, {73.706, 0., -94.697}}], Polygon[{{87.083, 14.532, -81.274}, {83.503, 28.667, -81.274}, {69.712, 23.932, -94.697}, {72.7, 12.132, -94.697}}], Polygon[{{83.503, 28.667, -81.274}, {77.646, 42.02, -81.274}, {64.822, 35.08, -94.697}, {69.712, 23.932, -94.697}}], Polygon[{{77.646, 42.02, -81.274}, {69.671, 54.227, -81.274}, {58.164, 45.271, -94.697}, {64.822, 35.08, -94.697}}], Polygon[{{69.671, 54.227, -81.274}, {59.795, 64.955, -81.274}, {49.919, 54.227, -94.697}, {58.164, 45.271, -94.697}}], Polygon[{{59.795, 64.955, -81.274}, {48.288, 73.911, -81.274}, {40.313, 61.704, -94.697}, {49.919, 54.227, -94.697}}], Polygon[{{48.288, 73.911, -81.274}, {35.464, 80.851, -81.274}, {29.607, 67.498, -94.697}, {40.313, 61.704, -94.697}}], Polygon[{{35.464, 80.851, -81.274}, {21.673, 85.585, -81.274}, {18.094, 71.45, -94.697}, {29.607, 67.498, -94.697}}], Polygon[{{21.673, 85.585, -81.274}, {7.2907, 87.985, -81.274}, {6.0866, 73.454, -94.697}, {18.094, 71.45, -94.697}}], Polygon[{{7.2907, 87.985, -81.274}, {-7.2907, 87.985, -81.274}, {-6.0866, 73.454, -94.697}, {6.0866, 73.454, -94.697}}], Polygon[{{-7.2907, 87.985, -81.274}, {-21.673, 85.585, -81.274}, {-18.094, 71.45, -94.697}, {-6.0866, 73.454, -94.697}}], Polygon[{{-21.673, 85.585, -81.274}, {-35.464, 80.851, -81.274}, {-29.607, 67.498, -94.697}, {-18.094, 71.45, -94.697}}], Polygon[{{-35.464, 80.851, -81.274}, {-48.288, 73.911, -81.274}, {-40.313, 61.704, -94.697}, {-29.607, 67.498, -94.697}}], Polygon[{{-48.288, 73.911, -81.274}, {-59.795, 64.955, -81.274}, {-49.919, 54.227, -94.697}, {-40.313, 61.704, -94.697}}], Polygon[{{-59.795, 64.955, -81.274}, {-69.671, 54.227, -81.274}, {-58.164, 45.271, -94.697}, {-49.919, 54.227, -94.697}}], Polygon[{{-69.671, 54.227, -81.274}, {-77.646, 42.02, -81.274}, {-64.822, 35.08, -94.697}, {-58.164, 45.271, -94.697}}], Polygon[{{-77.646, 42.02, -81.274}, {-83.503, 28.667, -81.274}, {-69.712, 23.932, -94.697}, {-64.822, 35.08, -94.697}}], Polygon[{{-83.503, 28.667, -81.274}, {-87.083, 14.532, -81.274}, {-72.7, 12.132, -94.697}, {-69.712, 23.932, -94.697}}], Polygon[{{-87.083, 14.532, -81.274}, {-88.287, 1.0812*^-14, -81.274}, {-73.706, 9.026*^-15, -94.697}, {-72.7, 12.132, -94.697}}], Polygon[{{73.706, 0., -94.697}, {72.7, 12.132, -94.697}, {56.335, 9.4006, -105.54}, {57.114, 0., -105.54}}], Polygon[{{72.7, 12.132, -94.697}, {69.712, 23.932, -94.697}, {54.019, 18.545, -105.54}, {56.335, 9.4006, -105.54}}], Polygon[{{69.712, 23.932, -94.697}, {64.822, 35.08, -94.697}, {50.23, 27.183, -105.54}, {54.019, 18.545, -105.54}}], Polygon[{{64.822, 35.08, -94.697}, {58.164, 45.271, -94.697}, {45.071, 35.08, -105.54}, {50.23, 27.183, -105.54}}], Polygon[{{58.164, 45.271, -94.697}, {49.919, 54.227, -94.697}, {38.682, 42.02, -105.54}, {45.071, 35.08, -105.54}}], Polygon[{{49.919, 54.227, -94.697}, {40.313, 61.704, -94.697}, {31.238, 47.814, -105.54}, {38.682, 42.02, -105.54}}], Polygon[{{40.313, 61.704, -94.697}, {29.607, 67.498, -94.697}, {22.942, 52.303, -105.54}, {31.238, 47.814, -105.54}}], Polygon[{{29.607, 67.498, -94.697}, {18.094, 71.45, -94.697}, {14.021, 55.366, -105.54}, {22.942, 52.303, -105.54}}], Polygon[{{18.094, 71.45, -94.697}, {6.0866, 73.454, -94.697}, {4.7164, 56.919, -105.54}, {14.021, 55.366, -105.54}}], Polygon[{{6.0866, 73.454, -94.697}, {-6.0866, 73.454, -94.697}, {-4.7164, 56.919, -105.54}, {4.7164, 56.919, -105.54}}], Polygon[{{-6.0866, 73.454, -94.697}, {-18.094, 71.45, -94.697}, {-14.021, 55.366, -105.54}, {-4.7164, 56.919, -105.54}}], Polygon[{{-18.094, 71.45, -94.697}, {-29.607, 67.498, -94.697}, {-22.942, 52.303, -105.54}, {-14.021, 55.366, -105.54}}], Polygon[{{-29.607, 67.498, -94.697}, {-40.313, 61.704, -94.697}, {-31.238, 47.814, -105.54}, {-22.942, 52.303, -105.54}}], Polygon[{{-40.313, 61.704, -94.697}, {-49.919, 54.227, -94.697}, {-38.682, 42.02, -105.54}, {-31.238, 47.814, -105.54}}], Polygon[{{-49.919, 54.227, -94.697}, {-58.164, 45.271, -94.697}, {-45.071, 35.08, -105.54}, {-38.682, 42.02, -105.54}}], Polygon[{{-58.164, 45.271, -94.697}, {-64.822, 35.08, -94.697}, {-50.23, 27.183, -105.54}, {-45.071, 35.08, -105.54}}], Polygon[{{-64.822, 35.08, -94.697}, {-69.712, 23.932, -94.697}, {-54.019, 18.545, -105.54}, {-50.23, 27.183, -105.54}}], Polygon[{{-69.712, 23.932, -94.697}, {-72.7, 12.132, -94.697}, {-56.335, 9.4006, -105.54}, {-54.019, 18.545, -105.54}}], Polygon[{{-72.7, 12.132, -94.697}, {-73.706, 9.026*^-15, -94.697}, {-57.114, 6.9942*^-15, -105.54}, {-56.335, 9.4006, -105.54}}], Polygon[{{57.114, 0., -105.54}, {56.335, 9.4006, -105.54}, {38.433, 6.4133, -113.5}, {38.964, 0., -113.5}}], Polygon[{{56.335, 9.4006, -105.54}, {54.019, 18.545, -105.54}, {36.853, 12.652, -113.5}, {38.433, 6.4133, -113.5}}], Polygon[{{54.019, 18.545, -105.54}, {50.23, 27.183, -105.54}, {34.268, 18.545, -113.5}, {36.853, 12.652, -113.5}}], Polygon[{{50.23, 27.183, -105.54}, {45.071, 35.08, -105.54}, {30.748, 23.932, -113.5}, {34.268, 18.545, -113.5}}], Polygon[{{45.071, 35.08, -105.54}, {38.682, 42.02, -105.54}, {26.39, 28.667, -113.5}, {30.748, 23.932, -113.5}}], Polygon[{{38.682, 42.02, -105.54}, {31.238, 47.814, -105.54}, {21.311, 32.619, -113.5}, {26.39, 28.667, -113.5}}], Polygon[{{31.238, 47.814, -105.54}, {22.942, 52.303, -105.54}, {15.652, 35.682, -113.5}, {21.311, 32.619, -113.5}}], Polygon[{{22.942, 52.303, -105.54}, {14.021, 55.366, -105.54}, {9.5651, 37.772, -113.5}, {15.652, 35.682, -113.5}}], Polygon[{{14.021, 55.366, -105.54}, {4.7164, 56.919, -105.54}, {3.2176, 38.831, -113.5}, {9.5651, 37.772, -113.5}}], Polygon[{{4.7164, 56.919, -105.54}, {-4.7164, 56.919, -105.54}, {-3.2176, 38.831, -113.5}, {3.2176, 38.831, -113.5}}], Polygon[{{-4.7164, 56.919, -105.54}, {-14.021, 55.366, -105.54}, {-9.5651, 37.772, -113.5}, {-3.2176, 38.831, -113.5}}], Polygon[{{-14.021, 55.366, -105.54}, {-22.942, 52.303, -105.54}, {-15.652, 35.682, -113.5}, {-9.5651, 37.772, -113.5}}], Polygon[{{-22.942, 52.303, -105.54}, {-31.238, 47.814, -105.54}, {-21.311, 32.619, -113.5}, {-15.652, 35.682, -113.5}}], Polygon[{{-31.238, 47.814, -105.54}, {-38.682, 42.02, -105.54}, {-26.39, 28.667, -113.5}, {-21.311, 32.619, -113.5}}], Polygon[{{-38.682, 42.02, -105.54}, {-45.071, 35.08, -105.54}, {-30.748, 23.932, -113.5}, {-26.39, 28.667, -113.5}}], Polygon[{{-45.071, 35.08, -105.54}, {-50.23, 27.183, -105.54}, {-34.268, 18.545, -113.5}, {-30.748, 23.932, -113.5}}], Polygon[{{-50.23, 27.183, -105.54}, {-54.019, 18.545, -105.54}, {-36.853, 12.652, -113.5}, {-34.268, 18.545, -113.5}}], Polygon[{{-54.019, 18.545, -105.54}, {-56.335, 9.4006, -105.54}, {-38.433, 6.4133, -113.5}, {-36.853, 12.652, -113.5}}], Polygon[{{-56.335, 9.4006, -105.54}, {-57.114, 6.9942*^-15, -105.54}, {-38.964, 4.7715*^-15, -113.5}, {-38.433, 6.4133, -113.5}}], Polygon[{{38.964, 0., -113.5}, {38.433, 6.4133, -113.5}, {19.482, 3.251, -118.36}, {19.751, 0., -118.36}}], Polygon[{{38.433, 6.4133, -113.5}, {36.853, 12.652, -113.5}, {18.681, 6.4133, -118.36}, {19.482, 3.251, -118.36}}], Polygon[{{36.853, 12.652, -113.5}, {34.268, 18.545, -113.5}, {17.371, 9.4006, -118.36}, {18.681, 6.4133, -118.36}}], Polygon[{{34.268, 18.545, -113.5}, {30.748, 23.932, -113.5}, {15.587, 12.132, -118.36}, {17.371, 9.4006, -118.36}}], Polygon[{{30.748, 23.932, -113.5}, {26.39, 28.667, -113.5}, {13.377, 14.532, -118.36}, {15.587, 12.132, -118.36}}], Polygon[{{26.39, 28.667, -113.5}, {21.311, 32.619, -113.5}, {10.803, 16.535, -118.36}, {13.377, 14.532, -118.36}}], Polygon[{{21.311, 32.619, -113.5}, {15.652, 35.682, -113.5}, {7.934, 18.088, -118.36}, {10.803, 16.535, -118.36}}], Polygon[{{15.652, 35.682, -113.5}, {9.5651, 37.772, -113.5}, {4.8487, 19.147, -118.36}, {7.934, 18.088, -118.36}}], Polygon[{{9.5651, 37.772, -113.5}, {3.2176, 38.831, -113.5}, {1.6311, 19.684, -118.36}, {4.8487, 19.147, -118.36}}], Polygon[{{3.2176, 38.831, -113.5}, {-3.2176, 38.831, -113.5}, {-1.6311, 19.684, -118.36}, {1.6311, 19.684, -118.36}}], Polygon[{{-3.2176, 38.831, -113.5}, {-9.5651, 37.772, -113.5}, {-4.8487, 19.147, -118.36}, {-1.6311, 19.684, -118.36}}], Polygon[{{-9.5651, 37.772, -113.5}, {-15.652, 35.682, -113.5}, {-7.934, 18.088, -118.36}, {-4.8487, 19.147, -118.36}}], Polygon[{{-15.652, 35.682, -113.5}, {-21.311, 32.619, -113.5}, {-10.803, 16.535, -118.36}, {-7.934, 18.088, -118.36}}], Polygon[{{-21.311, 32.619, -113.5}, {-26.39, 28.667, -113.5}, {-13.377, 14.532, -118.36}, {-10.803, 16.535, -118.36}}], Polygon[{{-26.39, 28.667, -113.5}, {-30.748, 23.932, -113.5}, {-15.587, 12.132, -118.36}, {-13.377, 14.532, -118.36}}], Polygon[{{-30.748, 23.932, -113.5}, {-34.268, 18.545, -113.5}, {-17.371, 9.4006, -118.36}, {-15.587, 12.132, -118.36}}], Polygon[{{-34.268, 18.545, -113.5}, {-36.853, 12.652, -113.5}, {-18.681, 6.4133, -118.36}, {-17.371, 9.4006, -118.36}}], Polygon[{{-36.853, 12.652, -113.5}, {-38.433, 6.4133, -113.5}, {-19.482, 3.251, -118.36}, {-18.681, 6.4133, -118.36}}], Polygon[{{-38.433, 6.4133, -113.5}, {-38.964, 4.7715*^-15, -113.5}, {-19.751, 2.4188*^-15, -118.36}, {-19.482, 3.251, -118.36}}], Polygon[{{19.751, 0., -118.36}, {19.482, 3.251, -118.36}, {1.4495*^-14, 2.4188*^-15, -120.}, {1.4695*^-14, 0., -120.}}], Polygon[{{19.482, 3.251, -118.36}, {18.681, 6.4133, -118.36}, {1.3899*^-14, 4.7715*^-15, -120.}, {1.4495*^-14, 2.4188*^-15, -120.}}], Polygon[{{18.681, 6.4133, -118.36}, {17.371, 9.4006, -118.36}, {1.2924*^-14, 6.9942*^-15, -120.}, {1.3899*^-14, 4.7715*^-15, -120.}}], Polygon[{{17.371, 9.4006, -118.36}, {15.587, 12.132, -118.36}, {1.1597*^-14, 9.026*^-15, -120.}, {1.2924*^-14, 6.9942*^-15, -120.}}], Polygon[{{15.587, 12.132, -118.36}, {13.377, 14.532, -118.36}, {9.9528*^-15, 1.0812*^-14, -120.}, {1.1597*^-14, 9.026*^-15, -120.}}], Polygon[{{13.377, 14.532, -118.36}, {10.803, 16.535, -118.36}, {8.0376*^-15, 1.2302*^-14, -120.}, {9.9528*^-15, 1.0812*^-14, -120.}}], Polygon[{{10.803, 16.535, -118.36}, {7.934, 18.088, -118.36}, {5.903*^-15, 1.3458*^-14, -120.}, {8.0376*^-15, 1.2302*^-14, -120.}}], Polygon[{{7.934, 18.088, -118.36}, {4.8487, 19.147, -118.36}, {3.6075*^-15, 1.4246*^-14, -120.}, {5.903*^-15, 1.3458*^-14, -120.}}], Polygon[{{4.8487, 19.147, -118.36}, {1.6311, 19.684, -118.36}, {1.2135*^-15, 1.4645*^-14, -120.}, {3.6075*^-15, 1.4246*^-14, -120.}}], Polygon[{{1.6311, 19.684, -118.36}, {-1.6311, 19.684, -118.36}, {-1.2135*^-15, 1.4645*^-14, -120.}, {1.2135*^-15, 1.4645*^-14, -120.}}], Polygon[{{-1.6311, 19.684, -118.36}, {-4.8487, 19.147, -118.36}, {-3.6075*^-15, 1.4246*^-14, -120.}, {-1.2135*^-15, 1.4645*^-14, -120.}}], Polygon[{{-4.8487, 19.147, -118.36}, {-7.934, 18.088, -118.36}, {-5.903*^-15, 1.3458*^-14, -120.}, {-3.6075*^-15, 1.4246*^-14, -120.}}], Polygon[{{-7.934, 18.088, -118.36}, {-10.803, 16.535, -118.36}, {-8.0376*^-15, 1.2302*^-14, -120.}, {-5.903*^-15, 1.3458*^-14, -120.}}], Polygon[{{-10.803, 16.535, -118.36}, {-13.377, 14.532, -118.36}, {-9.9528*^-15, 1.0812*^-14, -120.}, {-8.0376*^-15, 1.2302*^-14, -120.}}], Polygon[{{-13.377, 14.532, -118.36}, {-15.587, 12.132, -118.36}, {-1.1597*^-14, 9.026*^-15, -120.}, {-9.9528*^-15, 1.0812*^-14, -120.}}], Polygon[{{-15.587, 12.132, -118.36}, {-17.371, 9.4006, -118.36}, {-1.2924*^-14, 6.9942*^-15, -120.}, {-1.1597*^-14, 9.026*^-15, -120.}}], Polygon[{{-17.371, 9.4006, -118.36}, {-18.681, 6.4133, -118.36}, {-1.3899*^-14, 4.7715*^-15, -120.}, {-1.2924*^-14, 6.9942*^-15, -120.}}], Polygon[{{-18.681, 6.4133, -118.36}, {-19.482, 3.251, -118.36}, {-1.4495*^-14, 2.4188*^-15, -120.}, {-1.3899*^-14, 4.7715*^-15, -120.}}], Polygon[{{-19.482, 3.251, -118.36}, {-19.751, 2.4188*^-15, -118.36}, {-1.4695*^-14, 1.7996*^-30, -120.}, {-1.4495*^-14, 2.4188*^-15, -120.}}]}, {Polygon[{{0., 0., 100.}, {0., 0., 105.}, {0., 0., 105.}, {0., 0., 100.}}], Polygon[{{0., 0., 105.}, {0., 0., 110.}, {0., 0., 110.}, {0., 0., 105.}}], Polygon[{{0., 0., 110.}, {0., 0., 115.}, {0., 0., 115.}, {0., 0., 110.}}], Polygon[{{0., 0., 115.}, {0., 0., 120.}, {0., 0., 120.}, {0., 0., 115.}}], Polygon[{{0., 0., 100.}, {0., 0., 105.}, {0., 0., 105.}, {0., 0., 100.}}], Polygon[{{0., 0., 105.}, {0., 0., 110.}, {0., 0., 110.}, {0., 0., 105.}}], Polygon[{{0., 0., 110.}, {0., 0., 115.}, {0., 0., 115.}, {0., 0., 110.}}], Polygon[{{0., 0., 115.}, {0., 0., 120.}, {0., 0., 120.}, {0., 0., 115.}}], Polygon[{{0., 0., 100.}, {0., 0., 105.}, {0., 0., 105.}, {0., 0., 100.}}], Polygon[{{0., 0., 105.}, {0., 0., 110.}, {0., 0., 110.}, {0., 0., 105.}}], Polygon[{{0., 0., 110.}, {0., 0., 115.}, {0., 0., 115.}, {0., 0., 110.}}], Polygon[{{0., 0., 115.}, {0., 0., 120.}, {0., 0., 120.}, {0., 0., 115.}}], Polygon[{{0., 0., 100.}, {0., 0., 105.}, {0., 0., 105.}, {0., 0., 100.}}], Polygon[{{0., 0., 105.}, {0., 0., 110.}, {0., 0., 110.}, {0., 0., 105.}}], Polygon[{{0., 0., 110.}, {0., 0., 115.}, {0., 0., 115.}, {0., 0., 110.}}], Polygon[{{0., 0., 115.}, {0., 0., 120.}, {0., 0., 120.}, {0., 0., 115.}}], Polygon[{{0., 0., 100.}, {0., 0., 105.}, {0., 0., 105.}, {0., 0., 100.}}], Polygon[{{0., 0., 105.}, {0., 0., 110.}, {0., 0., 110.}, {0., 0., 105.}}], Polygon[{{0., 0., 110.}, {0., 0., 115.}, {0., 0., 115.}, {0., 0., 110.}}], Polygon[{{0., 0., 115.}, {0., 0., 120.}, {0., 0., 120.}, {0., 0., 115.}}], Polygon[{{0., 0., 100.}, {0., 0., 105.}, {0., 0., 105.}, {0., 0., 100.}}], Polygon[{{0., 0., 105.}, {0., 0., 110.}, {0., 0., 110.}, {0., 0., 105.}}], Polygon[{{0., 0., 110.}, {0., 0., 115.}, {0., 0., 115.}, {0., 0., 110.}}], Polygon[{{0., 0., 115.}, {0., 0., 120.}, {0., 0., 120.}, {0., 0., 115.}}], Polygon[{{0., 0., 100.}, {0., 0., 105.}, {0., 0., 105.}, {0., 0., 100.}}], Polygon[{{0., 0., 105.}, {0., 0., 110.}, {0., 0., 110.}, {0., 0., 105.}}], Polygon[{{0., 0., 110.}, {0., 0., 115.}, {0., 0., 115.}, {0., 0., 110.}}], Polygon[{{0., 0., 115.}, {0., 0., 120.}, {0., 0., 120.}, {0., 0., 115.}}], Polygon[{{0., 0., 100.}, {0., 0., 105.}, {0., 0., 105.}, {0., 0., 100.}}], Polygon[{{0., 0., 105.}, {0., 0., 110.}, {0., 0., 110.}, {0., 0., 105.}}], Polygon[{{0., 0., 110.}, {0., 0., 115.}, {0., 0., 115.}, {0., 0., 110.}}], Polygon[{{0., 0., 115.}, {0., 0., 120.}, {0., 0., 120.}, {0., 0., 115.}}], Polygon[{{0., 0., 100.}, {0., 0., 105.}, {0., 0., 105.}, {0., 0., 100.}}], Polygon[{{0., 0., 105.}, {0., 0., 110.}, {0., 0., 110.}, {0., 0., 105.}}], Polygon[{{0., 0., 110.}, {0., 0., 115.}, {0., 0., 115.}, {0., 0., 110.}}], Polygon[{{0., 0., 115.}, {0., 0., 120.}, {0., 0., 120.}, {0., 0., 115.}}], Polygon[{{0., 0., 100.}, {0., 0., 105.}, {0., 0., 105.}, {0., 0., 100.}}], Polygon[{{0., 0., 105.}, {0., 0., 110.}, {0., 0., 110.}, {0., 0., 105.}}], Polygon[{{0., 0., 110.}, {0., 0., 115.}, {0., 0., 115.}, {0., 0., 110.}}], Polygon[{{0., 0., 115.}, {0., 0., 120.}, {0., 0., 120.}, {0., 0., 115.}}], Polygon[{{0., 0., 100.}, {0., 0., 105.}, {0., 0., 105.}, {0., 0., 100.}}], Polygon[{{0., 0., 105.}, {0., 0., 110.}, {0., 0., 110.}, {0., 0., 105.}}], Polygon[{{0., 0., 110.}, {0., 0., 115.}, {0., 0., 115.}, {0., 0., 110.}}], Polygon[{{0., 0., 115.}, {0., 0., 120.}, {0., 0., 120.}, {0., 0., 115.}}], Polygon[{{0., 0., 100.}, {0., 0., 105.}, {0., 0., 105.}, {0., 0., 100.}}], Polygon[{{0., 0., 105.}, {0., 0., 110.}, {0., 0., 110.}, {0., 0., 105.}}], Polygon[{{0., 0., 110.}, {0., 0., 115.}, {0., 0., 115.}, {0., 0., 110.}}], Polygon[{{0., 0., 115.}, {0., 0., 120.}, {0., 0., 120.}, {0., 0., 115.}}], Polygon[{{0., 0., 100.}, {0., 0., 105.}, {0., 0., 105.}, {0., 0., 100.}}], Polygon[{{0., 0., 105.}, {0., 0., 110.}, {0., 0., 110.}, {0., 0., 105.}}], Polygon[{{0., 0., 110.}, {0., 0., 115.}, {0., 0., 115.}, {0., 0., 110.}}], Polygon[{{0., 0., 115.}, {0., 0., 120.}, {0., 0., 120.}, {0., 0., 115.}}], Polygon[{{0., 0., 100.}, {0., 0., 105.}, {0., 0., 105.}, {0., 0., 100.}}], Polygon[{{0., 0., 105.}, {0., 0., 110.}, {0., 0., 110.}, {0., 0., 105.}}], Polygon[{{0., 0., 110.}, {0., 0., 115.}, {0., 0., 115.}, {0., 0., 110.}}], Polygon[{{0., 0., 115.}, {0., 0., 120.}, {0., 0., 120.}, {0., 0., 115.}}], Polygon[{{0., 0., 100.}, {0., 0., 105.}, {0., 0., 105.}, {0., 0., 100.}}], Polygon[{{0., 0., 105.}, {0., 0., 110.}, {0., 0., 110.}, {0., 0., 105.}}], Polygon[{{0., 0., 110.}, {0., 0., 115.}, {0., 0., 115.}, {0., 0., 110.}}], Polygon[{{0., 0., 115.}, {0., 0., 120.}, {0., 0., 120.}, {0., 0., 115.}}], Polygon[{{0., 0., 100.}, {0., 0., 105.}, {0., 0., 105.}, {0., 0., 100.}}], Polygon[{{0., 0., 105.}, {0., 0., 110.}, {0., 0., 110.}, {0., 0., 105.}}], Polygon[{{0., 0., 110.}, {0., 0., 115.}, {0., 0., 115.}, {0., 0., 110.}}], Polygon[{{0., 0., 115.}, {0., 0., 120.}, {0., 0., 120.}, {0., 0., 115.}}], Polygon[{{0., 0., 100.}, {0., 0., 105.}, {0., 0., 105.}, {0., 0., 100.}}], Polygon[{{0., 0., 105.}, {0., 0., 110.}, {0., 0., 110.}, {0., 0., 105.}}], Polygon[{{0., 0., 110.}, {0., 0., 115.}, {0., 0., 115.}, {0., 0., 110.}}], Polygon[{{0., 0., 115.}, {0., 0., 120.}, {0., 0., 120.}, {0., 0., 115.}}], Polygon[{{0., 0., 100.}, {0., 0., 105.}, {0., 0., 105.}, {0., 0., 100.}}], Polygon[{{0., 0., 105.}, {0., 0., 110.}, {0., 0., 110.}, {0., 0., 105.}}], Polygon[{{0., 0., 110.}, {0., 0., 115.}, {0., 0., 115.}, {0., 0., 110.}}], Polygon[{{0., 0., 115.}, {0., 0., 120.}, {0., 0., 120.}, {0., 0., 115.}}], Polygon[{{0., 0., 100.}, {0., 0., 105.}, {0., 0., 105.}, {0., 0., 100.}}], Polygon[{{0., 0., 105.}, {0., 0., 110.}, {0., 0., 110.}, {0., 0., 105.}}], Polygon[{{0., 0., 110.}, {0., 0., 115.}, {0., 0., 115.}, {0., 0., 110.}}], Polygon[{{0., 0., 115.}, {0., 0., 120.}, {0., 0., 120.}, {0., 0., 115.}}]}, {Polygon[{{0., 0., -100.}, {0., 0., -105.}, {0., 0., -105.}, {0., 0., -100.}}], Polygon[{{0., 0., -105.}, {0., 0., -110.}, {0., 0., -110.}, {0., 0., -105.}}], Polygon[{{0., 0., -110.}, {0., 0., -115.}, {0., 0., -115.}, {0., 0., -110.}}], Polygon[{{0., 0., -115.}, {0., 0., -120.}, {0., 0., -120.}, {0., 0., -115.}}], Polygon[{{0., 0., -100.}, {0., 0., -105.}, {0., 0., -105.}, {0., 0., -100.}}], Polygon[{{0., 0., -105.}, {0., 0., -110.}, {0., 0., -110.}, {0., 0., -105.}}], Polygon[{{0., 0., -110.}, {0., 0., -115.}, {0., 0., -115.}, {0., 0., -110.}}], Polygon[{{0., 0., -115.}, {0., 0., -120.}, {0., 0., -120.}, {0., 0., -115.}}], Polygon[{{0., 0., -100.}, {0., 0., -105.}, {0., 0., -105.}, {0., 0., -100.}}], Polygon[{{0., 0., -105.}, {0., 0., -110.}, {0., 0., -110.}, {0., 0., -105.}}], Polygon[{{0., 0., -110.}, {0., 0., -115.}, {0., 0., -115.}, {0., 0., -110.}}], Polygon[{{0., 0., -115.}, {0., 0., -120.}, {0., 0., -120.}, {0., 0., -115.}}], Polygon[{{0., 0., -100.}, {0., 0., -105.}, {0., 0., -105.}, {0., 0., -100.}}], Polygon[{{0., 0., -105.}, {0., 0., -110.}, {0., 0., -110.}, {0., 0., -105.}}], Polygon[{{0., 0., -110.}, {0., 0., -115.}, {0., 0., -115.}, {0., 0., -110.}}], Polygon[{{0., 0., -115.}, {0., 0., -120.}, {0., 0., -120.}, {0., 0., -115.}}], Polygon[{{0., 0., -100.}, {0., 0., -105.}, {0., 0., -105.}, {0., 0., -100.}}], Polygon[{{0., 0., -105.}, {0., 0., -110.}, {0., 0., -110.}, {0., 0., -105.}}], Polygon[{{0., 0., -110.}, {0., 0., -115.}, {0., 0., -115.}, {0., 0., -110.}}], Polygon[{{0., 0., -115.}, {0., 0., -120.}, {0., 0., -120.}, {0., 0., -115.}}], Polygon[{{0., 0., -100.}, {0., 0., -105.}, {0., 0., -105.}, {0., 0., -100.}}], Polygon[{{0., 0., -105.}, {0., 0., -110.}, {0., 0., -110.}, {0., 0., -105.}}], Polygon[{{0., 0., -110.}, {0., 0., -115.}, {0., 0., -115.}, {0., 0., -110.}}], Polygon[{{0., 0., -115.}, {0., 0., -120.}, {0., 0., -120.}, {0., 0., -115.}}], Polygon[{{0., 0., -100.}, {0., 0., -105.}, {0., 0., -105.}, {0., 0., -100.}}], Polygon[{{0., 0., -105.}, {0., 0., -110.}, {0., 0., -110.}, {0., 0., -105.}}], Polygon[{{0., 0., -110.}, {0., 0., -115.}, {0., 0., -115.}, {0., 0., -110.}}], Polygon[{{0., 0., -115.}, {0., 0., -120.}, {0., 0., -120.}, {0., 0., -115.}}], Polygon[{{0., 0., -100.}, {0., 0., -105.}, {0., 0., -105.}, {0., 0., -100.}}], Polygon[{{0., 0., -105.}, {0., 0., -110.}, {0., 0., -110.}, {0., 0., -105.}}], Polygon[{{0., 0., -110.}, {0., 0., -115.}, {0., 0., -115.}, {0., 0., -110.}}], Polygon[{{0., 0., -115.}, {0., 0., -120.}, {0., 0., -120.}, {0., 0., -115.}}], Polygon[{{0., 0., -100.}, {0., 0., -105.}, {0., 0., -105.}, {0., 0., -100.}}], Polygon[{{0., 0., -105.}, {0., 0., -110.}, {0., 0., -110.}, {0., 0., -105.}}], Polygon[{{0., 0., -110.}, {0., 0., -115.}, {0., 0., -115.}, {0., 0., -110.}}], Polygon[{{0., 0., -115.}, {0., 0., -120.}, {0., 0., -120.}, {0., 0., -115.}}], Polygon[{{0., 0., -100.}, {0., 0., -105.}, {0., 0., -105.}, {0., 0., -100.}}], Polygon[{{0., 0., -105.}, {0., 0., -110.}, {0., 0., -110.}, {0., 0., -105.}}], Polygon[{{0., 0., -110.}, {0., 0., -115.}, {0., 0., -115.}, {0., 0., -110.}}], Polygon[{{0., 0., -115.}, {0., 0., -120.}, {0., 0., -120.}, {0., 0., -115.}}], Polygon[{{0., 0., -100.}, {0., 0., -105.}, {0., 0., -105.}, {0., 0., -100.}}], Polygon[{{0., 0., -105.}, {0., 0., -110.}, {0., 0., -110.}, {0., 0., -105.}}], Polygon[{{0., 0., -110.}, {0., 0., -115.}, {0., 0., -115.}, {0., 0., -110.}}], Polygon[{{0., 0., -115.}, {0., 0., -120.}, {0., 0., -120.}, {0., 0., -115.}}], Polygon[{{0., 0., -100.}, {0., 0., -105.}, {0., 0., -105.}, {0., 0., -100.}}], Polygon[{{0., 0., -105.}, {0., 0., -110.}, {0., 0., -110.}, {0., 0., -105.}}], Polygon[{{0., 0., -110.}, {0., 0., -115.}, {0., 0., -115.}, {0., 0., -110.}}], Polygon[{{0., 0., -115.}, {0., 0., -120.}, {0., 0., -120.}, {0., 0., -115.}}], Polygon[{{0., 0., -100.}, {0., 0., -105.}, {0., 0., -105.}, {0., 0., -100.}}], Polygon[{{0., 0., -105.}, {0., 0., -110.}, {0., 0., -110.}, {0., 0., -105.}}], Polygon[{{0., 0., -110.}, {0., 0., -115.}, {0., 0., -115.}, {0., 0., -110.}}], Polygon[{{0., 0., -115.}, {0., 0., -120.}, {0., 0., -120.}, {0., 0., -115.}}], Polygon[{{0., 0., -100.}, {0., 0., -105.}, {0., 0., -105.}, {0., 0., -100.}}], Polygon[{{0., 0., -105.}, {0., 0., -110.}, {0., 0., -110.}, {0., 0., -105.}}], Polygon[{{0., 0., -110.}, {0., 0., -115.}, {0., 0., -115.}, {0., 0., -110.}}], Polygon[{{0., 0., -115.}, {0., 0., -120.}, {0., 0., -120.}, {0., 0., -115.}}], Polygon[{{0., 0., -100.}, {0., 0., -105.}, {0., 0., -105.}, {0., 0., -100.}}], Polygon[{{0., 0., -105.}, {0., 0., -110.}, {0., 0., -110.}, {0., 0., -105.}}], Polygon[{{0., 0., -110.}, {0., 0., -115.}, {0., 0., -115.}, {0., 0., -110.}}], Polygon[{{0., 0., -115.}, {0., 0., -120.}, {0., 0., -120.}, {0., 0., -115.}}], Polygon[{{0., 0., -100.}, {0., 0., -105.}, {0., 0., -105.}, {0., 0., -100.}}], Polygon[{{0., 0., -105.}, {0., 0., -110.}, {0., 0., -110.}, {0., 0., -105.}}], Polygon[{{0., 0., -110.}, {0., 0., -115.}, {0., 0., -115.}, {0., 0., -110.}}], Polygon[{{0., 0., -115.}, {0., 0., -120.}, {0., 0., -120.}, {0., 0., -115.}}], Polygon[{{0., 0., -100.}, {0., 0., -105.}, {0., 0., -105.}, {0., 0., -100.}}], Polygon[{{0., 0., -105.}, {0., 0., -110.}, {0., 0., -110.}, {0., 0., -105.}}], Polygon[{{0., 0., -110.}, {0., 0., -115.}, {0., 0., -115.}, {0., 0., -110.}}], Polygon[{{0., 0., -115.}, {0., 0., -120.}, {0., 0., -120.}, {0., 0., -115.}}], Polygon[{{0., 0., -100.}, {0., 0., -105.}, {0., 0., -105.}, {0., 0., -100.}}], Polygon[{{0., 0., -105.}, {0., 0., -110.}, {0., 0., -110.}, {0., 0., -105.}}], Polygon[{{0., 0., -110.}, {0., 0., -115.}, {0., 0., -115.}, {0., 0., -110.}}], Polygon[{{0., 0., -115.}, {0., 0., -120.}, {0., 0., -120.}, {0., 0., -115.}}], Polygon[{{0., 0., -100.}, {0., 0., -105.}, {0., 0., -105.}, {0., 0., -100.}}], Polygon[{{0., 0., -105.}, {0., 0., -110.}, {0., 0., -110.}, {0., 0., -105.}}], Polygon[{{0., 0., -110.}, {0., 0., -115.}, {0., 0., -115.}, {0., 0., -110.}}], Polygon[{{0., 0., -115.}, {0., 0., -120.}, {0., 0., -120.}, {0., 0., -115.}}]}, {Polygon[{{0., 0., 100.}, {0., 0., 105.}, {17.282, 0., 103.57}, {16.459, 0., 98.636}}], Polygon[{{0., 0., 105.}, {0., 0., 110.}, {18.105, 0., 108.5}, {17.282, 0., 103.57}}], Polygon[{{0., 0., 110.}, {0., 0., 115.}, {18.928, 0., 113.43}, {18.105, 0., 108.5}}], Polygon[{{0., 0., 115.}, {0., 0., 120.}, {19.751, 0., 118.36}, {18.928, 0., 113.43}}], Polygon[{{16.459, 0., 98.636}, {17.282, 0., 103.57}, {34.093, 0., 99.311}, {32.47, 0., 94.582}}], Polygon[{{17.282, 0., 103.57}, {18.105, 0., 108.5}, {35.717, 0., 104.04}, {34.093, 0., 99.311}}], Polygon[{{18.105, 0., 108.5}, {18.928, 0., 113.43}, {37.34, 0., 108.77}, {35.717, 0., 104.04}}], Polygon[{{18.928, 0., 113.43}, {19.751, 0., 118.36}, {38.964, 0., 113.5}, {37.34, 0., 108.77}}], Polygon[{{32.47, 0., 94.582}, {34.093, 0., 99.311}, {49.974, 0., 92.345}, {47.595, 0., 87.947}}], Polygon[{{34.093, 0., 99.311}, {35.717, 0., 104.04}, {52.354, 0., 96.742}, {49.974, 0., 92.345}}], Polygon[{{35.717, 0., 104.04}, {37.34, 0., 108.77}, {54.734, 0., 101.14}, {52.354, 0., 96.742}}], Polygon[{{37.34, 0., 108.77}, {38.964, 0., 113.5}, {57.114, 0., 105.54}, {54.734, 0., 101.14}}], Polygon[{{47.595, 0., 87.947}, {49.974, 0., 92.345}, {64.492, 0., 82.86}, {61.421, 0., 78.914}}], Polygon[{{49.974, 0., 92.345}, {52.354, 0., 96.742}, {67.563, 0., 86.805}, {64.492, 0., 82.86}}], Polygon[{{52.354, 0., 96.742}, {54.734, 0., 101.14}, {70.634, 0., 90.751}, {67.563, 0., 86.805}}], Polygon[{{54.734, 0., 101.14}, {57.114, 0., 105.54}, {73.706, 0., 94.697}, {70.634, 0., 90.751}}], Polygon[{{61.421, 0., 78.914}, {64.492, 0., 82.86}, {77.251, 0., 71.115}, {73.572, 0., 67.728}}], Polygon[{{64.492, 0., 82.86}, {67.563, 0., 86.805}, {80.93, 0., 74.501}, {77.251, 0., 71.115}}], Polygon[{{67.563, 0., 86.805}, {70.634, 0., 90.751}, {84.608, 0., 77.887}, {80.93, 0., 74.501}}], Polygon[{{70.634, 0., 90.751}, {73.706, 0., 94.697}, {88.287, 0., 81.274}, {84.608, 0., 77.887}}], Polygon[{{73.572, 0., 67.728}, {77.251, 0., 71.115}, {87.902, 0., 57.43}, {83.717, 0., 54.695}}], Polygon[{{77.251, 0., 71.115}, {80.93, 0., 74.501}, {92.088, 0., 60.164}, {87.902, 0., 57.43}}], Polygon[{{80.93, 0., 74.501}, {84.608, 0., 77.887}, {96.274, 0., 62.899}, {92.088, 0., 60.164}}], Polygon[{{84.608, 0., 77.887}, {88.287, 0., 81.274}, {100.46, 0., 65.634}, {96.274, 0., 62.899}}], Polygon[{{83.717, 0., 54.695}, {87.902, 0., 57.43}, {96.156, 0., 42.178}, {91.577, 0., 40.17}}], Polygon[{{87.902, 0., 57.43}, {92.088, 0., 60.164}, {100.74, 0., 44.186}, {96.156, 0., 42.178}}], Polygon[{{92.088, 0., 60.164}, {96.274, 0., 62.899}, {105.31, 0., 46.195}, {100.74, 0., 44.186}}], Polygon[{{96.274, 0., 62.899}, {100.46, 0., 65.634}, {109.89, 0., 48.203}, {105.31, 0., 46.195}}], Polygon[{{91.577, 0., 40.17}, {96.156, 0., 42.178}, {101.79, 0., 25.776}, {96.94, 0., 24.549}}], Polygon[{{96.156, 0., 42.178}, {100.74, 0., 44.186}, {106.63, 0., 27.003}, {101.79, 0., 25.776}}], Polygon[{{100.74, 0., 44.186}, {105.31, 0., 46.195}, {111.48, 0., 28.231}, {106.63, 0., 27.003}}], Polygon[{{105.31, 0., 46.195}, {109.89, 0., 48.203}, {116.33, 0., 29.458}, {111.48, 0., 28.231}}], Polygon[{{96.94, 0., 24.549}, {101.79, 0., 25.776}, {104.64, 0., 8.6708}, {99.658, 0., 8.2579}}], Polygon[{{101.79, 0., 25.776}, {106.63, 0., 27.003}, {109.62, 0., 9.0837}, {104.64, 0., 8.6708}}], Polygon[{{106.63, 0., 27.003}, {111.48, 0., 28.231}, {114.61, 0., 9.4966}, {109.62, 0., 9.0837}}], Polygon[{{111.48, 0., 28.231}, {116.33, 0., 29.458}, {119.59, 0., 9.9095}, {114.61, 0., 9.4966}}], Polygon[{{99.658, 0., 8.2579}, {104.64, 0., 8.6708}, {104.64, 0., -8.6708}, {99.658, 0., -8.2579}}], Polygon[{{104.64, 0., 8.6708}, {109.62, 0., 9.0837}, {109.62, 0., -9.0837}, {104.64, 0., -8.6708}}], Polygon[{{109.62, 0., 9.0837}, {114.61, 0., 9.4966}, {114.61, 0., -9.4966}, {109.62, 0., -9.0837}}], Polygon[{{114.61, 0., 9.4966}, {119.59, 0., 9.9095}, {119.59, 0., -9.9095}, {114.61, 0., -9.4966}}], Polygon[{{99.658, 0., -8.2579}, {104.64, 0., -8.6708}, {101.79, 0., -25.776}, {96.94, 0., -24.549}}], Polygon[{{104.64, 0., -8.6708}, {109.62, 0., -9.0837}, {106.63, 0., -27.003}, {101.79, 0., -25.776}}], Polygon[{{109.62, 0., -9.0837}, {114.61, 0., -9.4966}, {111.48, 0., -28.231}, {106.63, 0., -27.003}}], Polygon[{{114.61, 0., -9.4966}, {119.59, 0., -9.9095}, {116.33, 0., -29.458}, {111.48, 0., -28.231}}], Polygon[{{96.94, 0., -24.549}, {101.79, 0., -25.776}, {96.156, 0., -42.178}, {91.577, 0., -40.17}}], Polygon[{{101.79, 0., -25.776}, {106.63, 0., -27.003}, {100.74, 0., -44.186}, {96.156, 0., -42.178}}], Polygon[{{106.63, 0., -27.003}, {111.48, 0., -28.231}, {105.31, 0., -46.195}, {100.74, 0., -44.186}}], Polygon[{{111.48, 0., -28.231}, {116.33, 0., -29.458}, {109.89, 0., -48.203}, {105.31, 0., -46.195}}], Polygon[{{91.577, 0., -40.17}, {96.156, 0., -42.178}, {87.902, 0., -57.43}, {83.717, 0., -54.695}}], Polygon[{{96.156, 0., -42.178}, {100.74, 0., -44.186}, {92.088, 0., -60.164}, {87.902, 0., -57.43}}], Polygon[{{100.74, 0., -44.186}, {105.31, 0., -46.195}, {96.274, 0., -62.899}, {92.088, 0., -60.164}}], Polygon[{{105.31, 0., -46.195}, {109.89, 0., -48.203}, {100.46, 0., -65.634}, {96.274, 0., -62.899}}], Polygon[{{83.717, 0., -54.695}, {87.902, 0., -57.43}, {77.251, 0., -71.115}, {73.572, 0., -67.728}}], Polygon[{{87.902, 0., -57.43}, {92.088, 0., -60.164}, {80.93, 0., -74.501}, {77.251, 0., -71.115}}], Polygon[{{92.088, 0., -60.164}, {96.274, 0., -62.899}, {84.608, 0., -77.887}, {80.93, 0., -74.501}}], Polygon[{{96.274, 0., -62.899}, {100.46, 0., -65.634}, {88.287, 0., -81.274}, {84.608, 0., -77.887}}], Polygon[{{73.572, 0., -67.728}, {77.251, 0., -71.115}, {64.492, 0., -82.86}, {61.421, 0., -78.914}}], Polygon[{{77.251, 0., -71.115}, {80.93, 0., -74.501}, {67.563, 0., -86.805}, {64.492, 0., -82.86}}], Polygon[{{80.93, 0., -74.501}, {84.608, 0., -77.887}, {70.634, 0., -90.751}, {67.563, 0., -86.805}}], Polygon[{{84.608, 0., -77.887}, {88.287, 0., -81.274}, {73.706, 0., -94.697}, {70.634, 0., -90.751}}], Polygon[{{61.421, 0., -78.914}, {64.492, 0., -82.86}, {49.974, 0., -92.345}, {47.595, 0., -87.947}}], Polygon[{{64.492, 0., -82.86}, {67.563, 0., -86.805}, {52.354, 0., -96.742}, {49.974, 0., -92.345}}], Polygon[{{67.563, 0., -86.805}, {70.634, 0., -90.751}, {54.734, 0., -101.14}, {52.354, 0., -96.742}}], Polygon[{{70.634, 0., -90.751}, {73.706, 0., -94.697}, {57.114, 0., -105.54}, {54.734, 0., -101.14}}], Polygon[{{47.595, 0., -87.947}, {49.974, 0., -92.345}, {34.093, 0., -99.311}, {32.47, 0., -94.582}}], Polygon[{{49.974, 0., -92.345}, {52.354, 0., -96.742}, {35.717, 0., -104.04}, {34.093, 0., -99.311}}], Polygon[{{52.354, 0., -96.742}, {54.734, 0., -101.14}, {37.34, 0., -108.77}, {35.717, 0., -104.04}}], Polygon[{{54.734, 0., -101.14}, {57.114, 0., -105.54}, {38.964, 0., -113.5}, {37.34, 0., -108.77}}], Polygon[{{32.47, 0., -94.582}, {34.093, 0., -99.311}, {17.282, 0., -103.57}, {16.459, 0., -98.636}}], Polygon[{{34.093, 0., -99.311}, {35.717, 0., -104.04}, {18.105, 0., -108.5}, {17.282, 0., -103.57}}], Polygon[{{35.717, 0., -104.04}, {37.34, 0., -108.77}, {18.928, 0., -113.43}, {18.105, 0., -108.5}}], Polygon[{{37.34, 0., -108.77}, {38.964, 0., -113.5}, {19.751, 0., -118.36}, {18.928, 0., -113.43}}], Polygon[{{16.459, 0., -98.636}, {17.282, 0., -103.57}, {1.2858*^-14, 0., -105.}, {1.2246*^-14, 0., -100.}}], Polygon[{{17.282, 0., -103.57}, {18.105, 0., -108.5}, {1.3471*^-14, 0., -110.}, {1.2858*^-14, 0., -105.}}], Polygon[{{18.105, 0., -108.5}, {18.928, 0., -113.43}, {1.4083*^-14, 0., -115.}, {1.3471*^-14, 0., -110.}}], Polygon[{{18.928, 0., -113.43}, {19.751, 0., -118.36}, {1.4695*^-14, 0., -120.}, {1.4083*^-14, 0., -115.}}]}, {Polygon[{{0., 0., 100.}, {0., 0., 105.}, {-17.282, 0., 103.57}, {-16.459, 0., 98.636}}], Polygon[{{0., 0., 105.}, {0., 0., 110.}, {-18.105, 0., 108.5}, {-17.282, 0., 103.57}}], Polygon[{{0., 0., 110.}, {0., 0., 115.}, {-18.928, 0., 113.43}, {-18.105, 0., 108.5}}], Polygon[{{0., 0., 115.}, {0., 0., 120.}, {-19.751, 0., 118.36}, {-18.928, 0., 113.43}}], Polygon[{{-16.459, 0., 98.636}, {-17.282, 0., 103.57}, {-34.093, 0., 99.311}, {-32.47, 0., 94.582}}], Polygon[{{-17.282, 0., 103.57}, {-18.105, 0., 108.5}, {-35.717, 0., 104.04}, {-34.093, 0., 99.311}}], Polygon[{{-18.105, 0., 108.5}, {-18.928, 0., 113.43}, {-37.34, 0., 108.77}, {-35.717, 0., 104.04}}], Polygon[{{-18.928, 0., 113.43}, {-19.751, 0., 118.36}, {-38.964, 0., 113.5}, {-37.34, 0., 108.77}}], Polygon[{{-32.47, 0., 94.582}, {-34.093, 0., 99.311}, {-49.974, 0., 92.345}, {-47.595, 0., 87.947}}], Polygon[{{-34.093, 0., 99.311}, {-35.717, 0., 104.04}, {-52.354, 0., 96.742}, {-49.974, 0., 92.345}}], Polygon[{{-35.717, 0., 104.04}, {-37.34, 0., 108.77}, {-54.734, 0., 101.14}, {-52.354, 0., 96.742}}], Polygon[{{-37.34, 0., 108.77}, {-38.964, 0., 113.5}, {-57.114, 0., 105.54}, {-54.734, 0., 101.14}}], Polygon[{{-47.595, 0., 87.947}, {-49.974, 0., 92.345}, {-64.492, 0., 82.86}, {-61.421, 0., 78.914}}], Polygon[{{-49.974, 0., 92.345}, {-52.354, 0., 96.742}, {-67.563, 0., 86.805}, {-64.492, 0., 82.86}}], Polygon[{{-52.354, 0., 96.742}, {-54.734, 0., 101.14}, {-70.634, 0., 90.751}, {-67.563, 0., 86.805}}], Polygon[{{-54.734, 0., 101.14}, {-57.114, 0., 105.54}, {-73.706, 0., 94.697}, {-70.634, 0., 90.751}}], Polygon[{{-61.421, 0., 78.914}, {-64.492, 0., 82.86}, {-77.251, 0., 71.115}, {-73.572, 0., 67.728}}], Polygon[{{-64.492, 0., 82.86}, {-67.563, 0., 86.805}, {-80.93, 0., 74.501}, {-77.251, 0., 71.115}}], Polygon[{{-67.563, 0., 86.805}, {-70.634, 0., 90.751}, {-84.608, 0., 77.887}, {-80.93, 0., 74.501}}], Polygon[{{-70.634, 0., 90.751}, {-73.706, 0., 94.697}, {-88.287, 0., 81.274}, {-84.608, 0., 77.887}}], Polygon[{{-73.572, 0., 67.728}, {-77.251, 0., 71.115}, {-87.902, 0., 57.43}, {-83.717, 0., 54.695}}], Polygon[{{-77.251, 0., 71.115}, {-80.93, 0., 74.501}, {-92.088, 0., 60.164}, {-87.902, 0., 57.43}}], Polygon[{{-80.93, 0., 74.501}, {-84.608, 0., 77.887}, {-96.274, 0., 62.899}, {-92.088, 0., 60.164}}], Polygon[{{-84.608, 0., 77.887}, {-88.287, 0., 81.274}, {-100.46, 0., 65.634}, {-96.274, 0., 62.899}}], Polygon[{{-83.717, 0., 54.695}, {-87.902, 0., 57.43}, {-96.156, 0., 42.178}, {-91.577, 0., 40.17}}], Polygon[{{-87.902, 0., 57.43}, {-92.088, 0., 60.164}, {-100.74, 0., 44.186}, {-96.156, 0., 42.178}}], Polygon[{{-92.088, 0., 60.164}, {-96.274, 0., 62.899}, {-105.31, 0., 46.195}, {-100.74, 0., 44.186}}], Polygon[{{-96.274, 0., 62.899}, {-100.46, 0., 65.634}, {-109.89, 0., 48.203}, {-105.31, 0., 46.195}}], Polygon[{{-91.577, 0., 40.17}, {-96.156, 0., 42.178}, {-101.79, 0., 25.776}, {-96.94, 0., 24.549}}], Polygon[{{-96.156, 0., 42.178}, {-100.74, 0., 44.186}, {-106.63, 0., 27.003}, {-101.79, 0., 25.776}}], Polygon[{{-100.74, 0., 44.186}, {-105.31, 0., 46.195}, {-111.48, 0., 28.231}, {-106.63, 0., 27.003}}], Polygon[{{-105.31, 0., 46.195}, {-109.89, 0., 48.203}, {-116.33, 0., 29.458}, {-111.48, 0., 28.231}}], Polygon[{{-96.94, 0., 24.549}, {-101.79, 0., 25.776}, {-104.64, 0., 8.6708}, {-99.658, 0., 8.2579}}], Polygon[{{-101.79, 0., 25.776}, {-106.63, 0., 27.003}, {-109.62, 0., 9.0837}, {-104.64, 0., 8.6708}}], Polygon[{{-106.63, 0., 27.003}, {-111.48, 0., 28.231}, {-114.61, 0., 9.4966}, {-109.62, 0., 9.0837}}], Polygon[{{-111.48, 0., 28.231}, {-116.33, 0., 29.458}, {-119.59, 0., 9.9095}, {-114.61, 0., 9.4966}}], Polygon[{{-99.658, 0., 8.2579}, {-104.64, 0., 8.6708}, {-104.64, 0., -8.6708}, {-99.658, 0., -8.2579}}], Polygon[{{-104.64, 0., 8.6708}, {-109.62, 0., 9.0837}, {-109.62, 0., -9.0837}, {-104.64, 0., -8.6708}}], Polygon[{{-109.62, 0., 9.0837}, {-114.61, 0., 9.4966}, {-114.61, 0., -9.4966}, {-109.62, 0., -9.0837}}], Polygon[{{-114.61, 0., 9.4966}, {-119.59, 0., 9.9095}, {-119.59, 0., -9.9095}, {-114.61, 0., -9.4966}}], Polygon[{{-99.658, 0., -8.2579}, {-104.64, 0., -8.6708}, {-101.79, 0., -25.776}, {-96.94, 0., -24.549}}], Polygon[{{-104.64, 0., -8.6708}, {-109.62, 0., -9.0837}, {-106.63, 0., -27.003}, {-101.79, 0., -25.776}}], Polygon[{{-109.62, 0., -9.0837}, {-114.61, 0., -9.4966}, {-111.48, 0., -28.231}, {-106.63, 0., -27.003}}], Polygon[{{-114.61, 0., -9.4966}, {-119.59, 0., -9.9095}, {-116.33, 0., -29.458}, {-111.48, 0., -28.231}}], Polygon[{{-96.94, 0., -24.549}, {-101.79, 0., -25.776}, {-96.156, 0., -42.178}, {-91.577, 0., -40.17}}], Polygon[{{-101.79, 0., -25.776}, {-106.63, 0., -27.003}, {-100.74, 0., -44.186}, {-96.156, 0., -42.178}}], Polygon[{{-106.63, 0., -27.003}, {-111.48, 0., -28.231}, {-105.31, 0., -46.195}, {-100.74, 0., -44.186}}], Polygon[{{-111.48, 0., -28.231}, {-116.33, 0., -29.458}, {-109.89, 0., -48.203}, {-105.31, 0., -46.195}}], Polygon[{{-91.577, 0., -40.17}, {-96.156, 0., -42.178}, {-87.902, 0., -57.43}, {-83.717, 0., -54.695}}], Polygon[{{-96.156, 0., -42.178}, {-100.74, 0., -44.186}, {-92.088, 0., -60.164}, {-87.902, 0., -57.43}}], Polygon[{{-100.74, 0., -44.186}, {-105.31, 0., -46.195}, {-96.274, 0., -62.899}, {-92.088, 0., -60.164}}], Polygon[{{-105.31, 0., -46.195}, {-109.89, 0., -48.203}, {-100.46, 0., -65.634}, {-96.274, 0., -62.899}}], Polygon[{{-83.717, 0., -54.695}, {-87.902, 0., -57.43}, {-77.251, 0., -71.115}, {-73.572, 0., -67.728}}], Polygon[{{-87.902, 0., -57.43}, {-92.088, 0., -60.164}, {-80.93, 0., -74.501}, {-77.251, 0., -71.115}}], Polygon[{{-92.088, 0., -60.164}, {-96.274, 0., -62.899}, {-84.608, 0., -77.887}, {-80.93, 0., -74.501}}], Polygon[{{-96.274, 0., -62.899}, {-100.46, 0., -65.634}, {-88.287, 0., -81.274}, {-84.608, 0., -77.887}}], Polygon[{{-73.572, 0., -67.728}, {-77.251, 0., -71.115}, {-64.492, 0., -82.86}, {-61.421, 0., -78.914}}], Polygon[{{-77.251, 0., -71.115}, {-80.93, 0., -74.501}, {-67.563, 0., -86.805}, {-64.492, 0., -82.86}}], Polygon[{{-80.93, 0., -74.501}, {-84.608, 0., -77.887}, {-70.634, 0., -90.751}, {-67.563, 0., -86.805}}], Polygon[{{-84.608, 0., -77.887}, {-88.287, 0., -81.274}, {-73.706, 0., -94.697}, {-70.634, 0., -90.751}}], Polygon[{{-61.421, 0., -78.914}, {-64.492, 0., -82.86}, {-49.974, 0., -92.345}, {-47.595, 0., -87.947}}], Polygon[{{-64.492, 0., -82.86}, {-67.563, 0., -86.805}, {-52.354, 0., -96.742}, {-49.974, 0., -92.345}}], Polygon[{{-67.563, 0., -86.805}, {-70.634, 0., -90.751}, {-54.734, 0., -101.14}, {-52.354, 0., -96.742}}], Polygon[{{-70.634, 0., -90.751}, {-73.706, 0., -94.697}, {-57.114, 0., -105.54}, {-54.734, 0., -101.14}}], Polygon[{{-47.595, 0., -87.947}, {-49.974, 0., -92.345}, {-34.093, 0., -99.311}, {-32.47, 0., -94.582}}], Polygon[{{-49.974, 0., -92.345}, {-52.354, 0., -96.742}, {-35.717, 0., -104.04}, {-34.093, 0., -99.311}}], Polygon[{{-52.354, 0., -96.742}, {-54.734, 0., -101.14}, {-37.34, 0., -108.77}, {-35.717, 0., -104.04}}], Polygon[{{-54.734, 0., -101.14}, {-57.114, 0., -105.54}, {-38.964, 0., -113.5}, {-37.34, 0., -108.77}}], Polygon[{{-32.47, 0., -94.582}, {-34.093, 0., -99.311}, {-17.282, 0., -103.57}, {-16.459, 0., -98.636}}], Polygon[{{-34.093, 0., -99.311}, {-35.717, 0., -104.04}, {-18.105, 0., -108.5}, {-17.282, 0., -103.57}}], Polygon[{{-35.717, 0., -104.04}, {-37.34, 0., -108.77}, {-18.928, 0., -113.43}, {-18.105, 0., -108.5}}], Polygon[{{-37.34, 0., -108.77}, {-38.964, 0., -113.5}, {-19.751, 0., -118.36}, {-18.928, 0., -113.43}}], Polygon[{{-16.459, 0., -98.636}, {-17.282, 0., -103.57}, {-1.2858*^-14, 0., -105.}, {-1.2246*^-14, 0., -100.}}], Polygon[{{-17.282, 0., -103.57}, {-18.105, 0., -108.5}, {-1.3471*^-14, 0., -110.}, {-1.2858*^-14, 0., -105.}}], Polygon[{{-18.105, 0., -108.5}, {-18.928, 0., -113.43}, {-1.4083*^-14, 0., -115.}, {-1.3471*^-14, 0., -110.}}], Polygon[{{-18.928, 0., -113.43}, {-19.751, 0., -118.36}, {-1.4695*^-14, 0., -120.}, {-1.4083*^-14, 0., -115.}}]}}, {AmbientLight -> GrayLevel[0.15], PlotRange -> Automatic, DisplayFunction :> $DisplayFunction, ColorOutput -> Automatic, Axes -> True, PlotLabel -> None, AxesLabel -> {"x", "y", "z"}, Ticks -> Automatic, Prolog -> {}, Epilog -> {}, AxesStyle -> Automatic, Background -> Automatic, DefaultColor -> Automatic, DefaultFont :> $DefaultFont, AspectRatio -> Automatic, ViewPoint -> {1.3, -2.4, 2.}, Boxed -> True, BoxRatios -> Automatic, Plot3Matrix -> Automatic, Lighting -> True, AmbientLight -> GrayLevel[0.], LightSources -> {{{1., 0., 1.}, RGBColor[1., 0., 0.]}, {{1., 1., 1.}, RGBColor[0., 1., 0.]}, {{0., 1., 1.}, RGBColor[0., 0., 1.]}}, ViewCenter -> Automatic, PlotRegion -> Automatic, ImageSize -> Automatic, TextStyle :> {FontFamily -> "Times", FontSize -> 16.}, FormatType :> $FormatType, ViewVertical -> {0., 0., 1.}, FaceGrids -> None, Shading -> True, RenderAll -> True, PolygonIntersections -> True, AxesEdge -> Automatic, BoxStyle -> Automatic, SphericalRegion -> False}]
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aTet.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aTet.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aTet.txt	(revision 904)
@@ -0,0 +1,1 @@
+Graphics3D[{Polygon[{{0., 0., 1.7321}, {0., 1.633, -0.57735}, {-1.4142, -0.8165, -0.57735}}], Polygon[{{0., 0., 1.7321}, {0., 1.633, -0.57735}, {1.4142, -0.8165, -0.57735}}], Polygon[{{0., 1.633, -0.57735}, {-1.4142, -0.8165, -0.57735}, {1.4142, -0.8165, -0.57735}}], Polygon[{{-1.4142, -0.8165, -0.57735}, {0., 0., 1.7321}, {1.4142, -0.8165, -0.57735}}]}, {AmbientLight -> GrayLevel[0.15], Axes -> True, PlotRange -> {{-2., 2.}, {-2., 2.}, {-1., 2.}}, AxesLabel -> {"x", "y", "z"}, TextStyle -> {FontFamily -> "Times", FontSize -> 16.}}]
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aTorus.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aTorus.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aTorus.txt	(revision 904)
@@ -0,0 +1,1 @@
+Graphics3D[{{Polygon[{{240., 0., 0.}, {237.83, 0., 12.988}, {237.02, 19.64, 12.988}, {239.18, 19.819, 0.}}], Polygon[{{237.83, 0., 12.988}, {231.57, 0., 24.569}, {230.77, 19.123, 24.569}, {237.02, 19.64, 12.988}}], Polygon[{{231.57, 0., 24.569}, {221.88, 0., 33.487}, {221.12, 18.323, 33.487}, {230.77, 19.123, 24.569}}], Polygon[{{221.88, 0., 33.487}, {209.82, 0., 38.776}, {209.1, 17.327, 38.776}, {221.12, 18.323, 33.487}}], Polygon[{{209.82, 0., 38.776}, {196.7, 0., 39.863}, {196.03, 16.243, 39.863}, {209.1, 17.327, 38.776}}], Polygon[{{196.7, 0., 39.863}, {183.93, 0., 36.631}, {183.3, 15.189, 36.631}, {196.03, 16.243, 39.863}}], Polygon[{{183.93, 0., 36.631}, {172.91, 0., 29.429}, {172.32, 14.279, 29.429}, {183.3, 15.189, 36.631}}], Polygon[{{172.91, 0., 29.429}, {164.82, 0., 19.038}, {164.26, 13.611, 19.038}, {172.32, 14.279, 29.429}}], Polygon[{{164.82, 0., 19.038}, {160.55, 0., 6.5838}, {160., 13.258, 6.5838}, {164.26, 13.611, 19.038}}], Polygon[{{160.55, 0., 6.5838}, {160.55, 0., -6.5838}, {160., 13.258, -6.5838}, {160., 13.258, 6.5838}}], Polygon[{{160.55, 0., -6.5838}, {164.82, 0., -19.038}, {164.26, 13.611, -19.038}, {160., 13.258, -6.5838}}], Polygon[{{164.82, 0., -19.038}, {172.91, 0., -29.429}, {172.32, 14.279, -29.429}, {164.26, 13.611, -19.038}}], Polygon[{{172.91, 0., -29.429}, {183.93, 0., -36.631}, {183.3, 15.189, -36.631}, {172.32, 14.279, -29.429}}], Polygon[{{183.93, 0., -36.631}, {196.7, 0., -39.863}, {196.03, 16.243, -39.863}, {183.3, 15.189, -36.631}}], Polygon[{{196.7, 0., -39.863}, {209.82, 0., -38.776}, {209.1, 17.327, -38.776}, {196.03, 16.243, -39.863}}], Polygon[{{209.82, 0., -38.776}, {221.88, 0., -33.487}, {221.12, 18.323, -33.487}, {209.1, 17.327, -38.776}}], Polygon[{{221.88, 0., -33.487}, {231.57, 0., -24.569}, {230.77, 19.123, -24.569}, {221.12, 18.323, -33.487}}], Polygon[{{231.57, 0., -24.569}, {237.83, 0., -12.988}, {237.02, 19.64, -12.988}, {230.77, 19.123, -24.569}}], Polygon[{{237.83, 0., -12.988}, {240., 0., -9.7969*^-15}, {239.18, 19.819, -9.7969*^-15}, {237.02, 19.64, -12.988}}], Polygon[{{239.18, 19.819, 0.}, {237.02, 19.64, 12.988}, {234.59, 39.146, 12.988}, {236.73, 39.503, 0.}}], Polygon[{{237.02, 19.64, 12.988}, {230.77, 19.123, 24.569}, {228.41, 38.114, 24.569}, {234.59, 39.146, 12.988}}], Polygon[{{230.77, 19.123, 24.569}, {221.12, 18.323, 33.487}, {218.85, 36.52, 33.487}, {228.41, 38.114, 24.569}}], Polygon[{{221.12, 18.323, 33.487}, {209.1, 17.327, 38.776}, {206.96, 34.535, 38.776}, {218.85, 36.52, 33.487}}], Polygon[{{209.1, 17.327, 38.776}, {196.03, 16.243, 39.863}, {194.01, 32.375, 39.863}, {206.96, 34.535, 38.776}}], Polygon[{{196.03, 16.243, 39.863}, {183.3, 15.189, 36.631}, {181.42, 30.274, 36.631}, {194.01, 32.375, 39.863}}], Polygon[{{183.3, 15.189, 36.631}, {172.32, 14.279, 29.429}, {170.55, 28.46, 29.429}, {181.42, 30.274, 36.631}}], Polygon[{{172.32, 14.279, 29.429}, {164.26, 13.611, 19.038}, {162.57, 27.129, 19.038}, {170.55, 28.46, 29.429}}], Polygon[{{164.26, 13.611, 19.038}, {160., 13.258, 6.5838}, {158.36, 26.425, 6.5838}, {162.57, 27.129, 19.038}}], Polygon[{{160., 13.258, 6.5838}, {160., 13.258, -6.5838}, {158.36, 26.425, -6.5838}, {158.36, 26.425, 6.5838}}], Polygon[{{160., 13.258, -6.5838}, {164.26, 13.611, -19.038}, {162.57, 27.129, -19.038}, {158.36, 26.425, -6.5838}}], Polygon[{{164.26, 13.611, -19.038}, {172.32, 14.279, -29.429}, {170.55, 28.46, -29.429}, {162.57, 27.129, -19.038}}], Polygon[{{172.32, 14.279, -29.429}, {183.3, 15.189, -36.631}, {181.42, 30.274, -36.631}, {170.55, 28.46, -29.429}}], Polygon[{{183.3, 15.189, -36.631}, {196.03, 16.243, -39.863}, {194.01, 32.375, -39.863}, {181.42, 30.274, -36.631}}], Polygon[{{196.03, 16.243, -39.863}, {209.1, 17.327, -38.776}, {206.96, 34.535, -38.776}, {194.01, 32.375, -39.863}}], Polygon[{{209.1, 17.327, -38.776}, {221.12, 18.323, -33.487}, {218.85, 36.52, -33.487}, {206.96, 34.535, -38.776}}], Polygon[{{221.12, 18.323, -33.487}, {230.77, 19.123, -24.569}, {228.41, 38.114, -24.569}, {218.85, 36.52, -33.487}}], Polygon[{{230.77, 19.123, -24.569}, {237.02, 19.64, -12.988}, {234.59, 39.146, -12.988}, {228.41, 38.114, -24.569}}], Polygon[{{237.02, 19.64, -12.988}, {239.18, 19.819, -9.7969*^-15}, {236.73, 39.503, -9.7969*^-15}, {234.59, 39.146, -12.988}}], Polygon[{{236.73, 39.503, 0.}, {234.59, 39.146, 12.988}, {230.56, 58.384, 12.988}, {232.66, 58.917, 0.}}], Polygon[{{234.59, 39.146, 12.988}, {228.41, 38.114, 24.569}, {224.48, 56.846, 24.569}, {230.56, 58.384, 12.988}}], Polygon[{{228.41, 38.114, 24.569}, {218.85, 36.52, 33.487}, {215.09, 54.468, 33.487}, {224.48, 56.846, 24.569}}], Polygon[{{218.85, 36.52, 33.487}, {206.96, 34.535, 38.776}, {203.4, 51.508, 38.776}, {215.09, 54.468, 33.487}}], Polygon[{{206.96, 34.535, 38.776}, {194.01, 32.375, 39.863}, {190.68, 48.286, 39.863}, {203.4, 51.508, 38.776}}], Polygon[{{194.01, 32.375, 39.863}, {181.42, 30.274, 36.631}, {178.3, 45.153, 36.631}, {190.68, 48.286, 39.863}}], Polygon[{{181.42, 30.274, 36.631}, {170.55, 28.46, 29.429}, {167.62, 42.447, 29.429}, {178.3, 45.153, 36.631}}], Polygon[{{170.55, 28.46, 29.429}, {162.57, 27.129, 19.038}, {159.78, 40.461, 19.038}, {167.62, 42.447, 29.429}}], Polygon[{{162.57, 27.129, 19.038}, {158.36, 26.425, 6.5838}, {155.63, 39.412, 6.5838}, {159.78, 40.461, 19.038}}], Polygon[{{158.36, 26.425, 6.5838}, {158.36, 26.425, -6.5838}, {155.63, 39.412, -6.5838}, {155.63, 39.412, 6.5838}}], Polygon[{{158.36, 26.425, -6.5838}, {162.57, 27.129, -19.038}, {159.78, 40.461, -19.038}, {155.63, 39.412, -6.5838}}], Polygon[{{162.57, 27.129, -19.038}, {170.55, 28.46, -29.429}, {167.62, 42.447, -29.429}, {159.78, 40.461, -19.038}}], Polygon[{{170.55, 28.46, -29.429}, {181.42, 30.274, -36.631}, {178.3, 45.153, -36.631}, {167.62, 42.447, -29.429}}], Polygon[{{181.42, 30.274, -36.631}, {194.01, 32.375, -39.863}, {190.68, 48.286, -39.863}, {178.3, 45.153, -36.631}}], Polygon[{{194.01, 32.375, -39.863}, {206.96, 34.535, -38.776}, {203.4, 51.508, -38.776}, {190.68, 48.286, -39.863}}], Polygon[{{206.96, 34.535, -38.776}, {218.85, 36.52, -33.487}, {215.09, 54.468, -33.487}, {203.4, 51.508, -38.776}}], Polygon[{{218.85, 36.52, -33.487}, {228.41, 38.114, -24.569}, {224.48, 56.846, -24.569}, {215.09, 54.468, -33.487}}], Polygon[{{228.41, 38.114, -24.569}, {234.59, 39.146, -12.988}, {230.56, 58.384, -12.988}, {224.48, 56.846, -24.569}}], Polygon[{{234.59, 39.146, -12.988}, {236.73, 39.503, -9.7969*^-15}, {232.66, 58.917, -9.7969*^-15}, {230.56, 58.384, -12.988}}], Polygon[{{232.66, 58.917, 0.}, {230.56, 58.384, 12.988}, {224.95, 77.224, 12.988}, {227., 77.928, 0.}}], Polygon[{{230.56, 58.384, 12.988}, {224.48, 56.846, 24.569}, {219.02, 75.189, 24.569}, {224.95, 77.224, 12.988}}], Polygon[{{224.48, 56.846, 24.569}, {215.09, 54.468, 33.487}, {209.86, 72.044, 33.487}, {219.02, 75.189, 24.569}}], Polygon[{{215.09, 54.468, 33.487}, {203.4, 51.508, 38.776}, {198.45, 68.128, 38.776}, {209.86, 72.044, 33.487}}], Polygon[{{203.4, 51.508, 38.776}, {190.68, 48.286, 39.863}, {186.04, 63.867, 39.863}, {198.45, 68.128, 38.776}}], Polygon[{{190.68, 48.286, 39.863}, {178.3, 45.153, 36.631}, {173.97, 59.723, 36.631}, {186.04, 63.867, 39.863}}], Polygon[{{178.3, 45.153, 36.631}, {167.62, 42.447, 29.429}, {163.54, 56.143, 29.429}, {173.97, 59.723, 36.631}}], Polygon[{{167.62, 42.447, 29.429}, {159.78, 40.461, 19.038}, {155.89, 53.517, 19.038}, {163.54, 56.143, 29.429}}], Polygon[{{159.78, 40.461, 19.038}, {155.63, 39.412, 6.5838}, {151.85, 52.129, 6.5838}, {155.89, 53.517, 19.038}}], Polygon[{{155.63, 39.412, 6.5838}, {155.63, 39.412, -6.5838}, {151.85, 52.129, -6.5838}, {151.85, 52.129, 6.5838}}], Polygon[{{155.63, 39.412, -6.5838}, {159.78, 40.461, -19.038}, {155.89, 53.517, -19.038}, {151.85, 52.129, -6.5838}}], Polygon[{{159.78, 40.461, -19.038}, {167.62, 42.447, -29.429}, {163.54, 56.143, -29.429}, {155.89, 53.517, -19.038}}], Polygon[{{167.62, 42.447, -29.429}, {178.3, 45.153, -36.631}, {173.97, 59.723, -36.631}, {163.54, 56.143, -29.429}}], Polygon[{{178.3, 45.153, -36.631}, {190.68, 48.286, -39.863}, {186.04, 63.867, -39.863}, {173.97, 59.723, -36.631}}], Polygon[{{190.68, 48.286, -39.863}, {203.4, 51.508, -38.776}, {198.45, 68.128, -38.776}, {186.04, 63.867, -39.863}}], Polygon[{{203.4, 51.508, -38.776}, {215.09, 54.468, -33.487}, {209.86, 72.044, -33.487}, {198.45, 68.128, -38.776}}], Polygon[{{215.09, 54.468, -33.487}, {224.48, 56.846, -24.569}, {219.02, 75.189, -24.569}, {209.86, 72.044, -33.487}}], Polygon[{{224.48, 56.846, -24.569}, {230.56, 58.384, -12.988}, {224.95, 77.224, -12.988}, {219.02, 75.189, -24.569}}], Polygon[{{230.56, 58.384, -12.988}, {232.66, 58.917, -9.7969*^-15}, {227., 77.928, -9.7969*^-15}, {224.95, 77.224, -12.988}}], Polygon[{{227., 77.928, 0.}, {224.95, 77.224, 12.988}, {217.8, 95.536, 12.988}, {219.79, 96.407, 0.}}], Polygon[{{224.95, 77.224, 12.988}, {219.02, 75.189, 24.569}, {212.06, 93.019, 24.569}, {217.8, 95.536, 12.988}}], Polygon[{{219.02, 75.189, 24.569}, {209.86, 72.044, 33.487}, {203.19, 89.127, 33.487}, {212.06, 93.019, 24.569}}], Polygon[{{209.86, 72.044, 33.487}, {198.45, 68.128, 38.776}, {192.15, 84.284, 38.776}, {203.19, 89.127, 33.487}}], Polygon[{{198.45, 68.128, 38.776}, {186.04, 63.867, 39.863}, {180.13, 79.012, 39.863}, {192.15, 84.284, 38.776}}], Polygon[{{186.04, 63.867, 39.863}, {173.97, 59.723, 36.631}, {168.44, 73.885, 36.631}, {180.13, 79.012, 39.863}}], Polygon[{{173.97, 59.723, 36.631}, {163.54, 56.143, 29.429}, {158.35, 69.457, 29.429}, {168.44, 73.885, 36.631}}], Polygon[{{163.54, 56.143, 29.429}, {155.89, 53.517, 19.038}, {150.94, 66.208, 19.038}, {158.35, 69.457, 29.429}}], Polygon[{{155.89, 53.517, 19.038}, {151.85, 52.129, 6.5838}, {147.02, 64.49, 6.5838}, {150.94, 66.208, 19.038}}], Polygon[{{151.85, 52.129, 6.5838}, {151.85, 52.129, -6.5838}, {147.02, 64.49, -6.5838}, {147.02, 64.49, 6.5838}}], Polygon[{{151.85, 52.129, -6.5838}, {155.89, 53.517, -19.038}, {150.94, 66.208, -19.038}, {147.02, 64.49, -6.5838}}], Polygon[{{155.89, 53.517, -19.038}, {163.54, 56.143, -29.429}, {158.35, 69.457, -29.429}, {150.94, 66.208, -19.038}}], Polygon[{{163.54, 56.143, -29.429}, {173.97, 59.723, -36.631}, {168.44, 73.885, -36.631}, {158.35, 69.457, -29.429}}], Polygon[{{173.97, 59.723, -36.631}, {186.04, 63.867, -39.863}, {180.13, 79.012, -39.863}, {168.44, 73.885, -36.631}}], Polygon[{{186.04, 63.867, -39.863}, {198.45, 68.128, -38.776}, {192.15, 84.284, -38.776}, {180.13, 79.012, -39.863}}], Polygon[{{198.45, 68.128, -38.776}, {209.86, 72.044, -33.487}, {203.19, 89.127, -33.487}, {192.15, 84.284, -38.776}}], Polygon[{{209.86, 72.044, -33.487}, {219.02, 75.189, -24.569}, {212.06, 93.019, -24.569}, {203.19, 89.127, -33.487}}], Polygon[{{219.02, 75.189, -24.569}, {224.95, 77.224, -12.988}, {217.8, 95.536, -12.988}, {212.06, 93.019, -24.569}}], Polygon[{{224.95, 77.224, -12.988}, {227., 77.928, -9.7969*^-15}, {219.79, 96.407, -9.7969*^-15}, {217.8, 95.536, -12.988}}], Polygon[{{219.79, 96.407, 0.}, {217.8, 95.536, 12.988}, {209.17, 113.2, 12.988}, {211.07, 114.23, 0.}}], Polygon[{{217.8, 95.536, 12.988}, {212.06, 93.019, 24.569}, {203.66, 110.21, 24.569}, {209.17, 113.2, 12.988}}], Polygon[{{212.06, 93.019, 24.569}, {203.19, 89.127, 33.487}, {195.14, 105.6, 33.487}, {203.66, 110.21, 24.569}}], Polygon[{{203.19, 89.127, 33.487}, {192.15, 84.284, 38.776}, {184.53, 99.863, 38.776}, {195.14, 105.6, 33.487}}], Polygon[{{192.15, 84.284, 38.776}, {180.13, 79.012, 39.863}, {172.99, 93.617, 39.863}, {184.53, 99.863, 38.776}}], Polygon[{{180.13, 79.012, 39.863}, {168.44, 73.885, 36.631}, {161.76, 87.542, 36.631}, {172.99, 93.617, 39.863}}], Polygon[{{168.44, 73.885, 36.631}, {158.35, 69.457, 29.429}, {152.07, 82.295, 29.429}, {161.76, 87.542, 36.631}}], Polygon[{{158.35, 69.457, 29.429}, {150.94, 66.208, 19.038}, {144.96, 78.446, 19.038}, {152.07, 82.295, 29.429}}], Polygon[{{150.94, 66.208, 19.038}, {147.02, 64.49, 6.5838}, {141.2, 76.411, 6.5838}, {144.96, 78.446, 19.038}}], Polygon[{{147.02, 64.49, 6.5838}, {147.02, 64.49, -6.5838}, {141.2, 76.411, -6.5838}, {141.2, 76.411, 6.5838}}], Polygon[{{147.02, 64.49, -6.5838}, {150.94, 66.208, -19.038}, {144.96, 78.446, -19.038}, {141.2, 76.411, -6.5838}}], Polygon[{{150.94, 66.208, -19.038}, {158.35, 69.457, -29.429}, {152.07, 82.295, -29.429}, {144.96, 78.446, -19.038}}], Polygon[{{158.35, 69.457, -29.429}, {168.44, 73.885, -36.631}, {161.76, 87.542, -36.631}, {152.07, 82.295, -29.429}}], Polygon[{{168.44, 73.885, -36.631}, {180.13, 79.012, -39.863}, {172.99, 93.617, -39.863}, {161.76, 87.542, -36.631}}], Polygon[{{180.13, 79.012, -39.863}, {192.15, 84.284, -38.776}, {184.53, 99.863, -38.776}, {172.99, 93.617, -39.863}}], Polygon[{{192.15, 84.284, -38.776}, {203.19, 89.127, -33.487}, {195.14, 105.6, -33.487}, {184.53, 99.863, -38.776}}], Polygon[{{203.19, 89.127, -33.487}, {212.06, 93.019, -24.569}, {203.66, 110.21, -24.569}, {195.14, 105.6, -33.487}}], Polygon[{{212.06, 93.019, -24.569}, {217.8, 95.536, -12.988}, {209.17, 113.2, -12.988}, {203.66, 110.21, -24.569}}], Polygon[{{217.8, 95.536, -12.988}, {219.79, 96.407, -9.7969*^-15}, {211.07, 114.23, -9.7969*^-15}, {209.17, 113.2, -12.988}}], Polygon[{{211.07, 114.23, 0.}, {209.17, 113.2, 12.988}, {199.11, 130.08, 12.988}, {200.92, 131.27, 0.}}], Polygon[{{209.17, 113.2, 12.988}, {203.66, 110.21, 24.569}, {193.86, 126.65, 24.569}, {199.11, 130.08, 12.988}}], Polygon[{{203.66, 110.21, 24.569}, {195.14, 105.6, 33.487}, {185.75, 121.36, 33.487}, {193.86, 126.65, 24.569}}], Polygon[{{195.14, 105.6, 33.487}, {184.53, 99.863, 38.776}, {175.65, 114.76, 38.776}, {185.75, 121.36, 33.487}}], Polygon[{{184.53, 99.863, 38.776}, {172.99, 93.617, 39.863}, {164.67, 107.58, 39.863}, {175.65, 114.76, 38.776}}], Polygon[{{172.99, 93.617, 39.863}, {161.76, 87.542, 36.631}, {153.98, 100.6, 36.631}, {164.67, 107.58, 39.863}}], Polygon[{{161.76, 87.542, 36.631}, {152.07, 82.295, 29.429}, {144.75, 94.572, 29.429}, {153.98, 100.6, 36.631}}], Polygon[{{152.07, 82.295, 29.429}, {144.96, 78.446, 19.038}, {137.98, 90.149, 19.038}, {144.75, 94.572, 29.429}}], Polygon[{{144.96, 78.446, 19.038}, {141.2, 76.411, 6.5838}, {134.4, 87.81, 6.5838}, {137.98, 90.149, 19.038}}], Polygon[{{141.2, 76.411, 6.5838}, {141.2, 76.411, -6.5838}, {134.4, 87.81, -6.5838}, {134.4, 87.81, 6.5838}}], Polygon[{{141.2, 76.411, -6.5838}, {144.96, 78.446, -19.038}, {137.98, 90.149, -19.038}, {134.4, 87.81, -6.5838}}], Polygon[{{144.96, 78.446, -19.038}, {152.07, 82.295, -29.429}, {144.75, 94.572, -29.429}, {137.98, 90.149, -19.038}}], Polygon[{{152.07, 82.295, -29.429}, {161.76, 87.542, -36.631}, {153.98, 100.6, -36.631}, {144.75, 94.572, -29.429}}], Polygon[{{161.76, 87.542, -36.631}, {172.99, 93.617, -39.863}, {164.67, 107.58, -39.863}, {153.98, 100.6, -36.631}}], Polygon[{{172.99, 93.617, -39.863}, {184.53, 99.863, -38.776}, {175.65, 114.76, -38.776}, {164.67, 107.58, -39.863}}], Polygon[{{184.53, 99.863, -38.776}, {195.14, 105.6, -33.487}, {185.75, 121.36, -33.487}, {175.65, 114.76, -38.776}}], Polygon[{{195.14, 105.6, -33.487}, {203.66, 110.21, -24.569}, {193.86, 126.65, -24.569}, {185.75, 121.36, -33.487}}], Polygon[{{203.66, 110.21, -24.569}, {209.17, 113.2, -12.988}, {199.11, 130.08, -12.988}, {193.86, 126.65, -24.569}}], Polygon[{{209.17, 113.2, -12.988}, {211.07, 114.23, -9.7969*^-15}, {200.92, 131.27, -9.7969*^-15}, {199.11, 130.08, -12.988}}], Polygon[{{200.92, 131.27, 0.}, {199.11, 130.08, 12.988}, {187.68, 146.08, 12.988}, {189.39, 147.41, 0.}}], Polygon[{{199.11, 130.08, 12.988}, {193.86, 126.65, 24.569}, {182.74, 142.23, 24.569}, {187.68, 146.08, 12.988}}], Polygon[{{193.86, 126.65, 24.569}, {185.75, 121.36, 33.487}, {175.09, 136.28, 33.487}, {182.74, 142.23, 24.569}}], Polygon[{{185.75, 121.36, 33.487}, {175.65, 114.76, 38.776}, {165.58, 128.87, 38.776}, {175.09, 136.28, 33.487}}], Polygon[{{175.65, 114.76, 38.776}, {164.67, 107.58, 39.863}, {155.22, 120.81, 39.863}, {165.58, 128.87, 38.776}}], Polygon[{{164.67, 107.58, 39.863}, {153.98, 100.6, 36.631}, {145.15, 112.97, 36.631}, {155.22, 120.81, 39.863}}], Polygon[{{153.98, 100.6, 36.631}, {144.75, 94.572, 29.429}, {136.45, 106.2, 29.429}, {145.15, 112.97, 36.631}}], Polygon[{{144.75, 94.572, 29.429}, {137.98, 90.149, 19.038}, {130.07, 101.24, 19.038}, {136.45, 106.2, 29.429}}], Polygon[{{137.98, 90.149, 19.038}, {134.4, 87.81, 6.5838}, {126.69, 98.609, 6.5838}, {130.07, 101.24, 19.038}}], Polygon[{{134.4, 87.81, 6.5838}, {134.4, 87.81, -6.5838}, {126.69, 98.609, -6.5838}, {126.69, 98.609, 6.5838}}], Polygon[{{134.4, 87.81, -6.5838}, {137.98, 90.149, -19.038}, {130.07, 101.24, -19.038}, {126.69, 98.609, -6.5838}}], Polygon[{{137.98, 90.149, -19.038}, {144.75, 94.572, -29.429}, {136.45, 106.2, -29.429}, {130.07, 101.24, -19.038}}], Polygon[{{144.75, 94.572, -29.429}, {153.98, 100.6, -36.631}, {145.15, 112.97, -36.631}, {136.45, 106.2, -29.429}}], Polygon[{{153.98, 100.6, -36.631}, {164.67, 107.58, -39.863}, {155.22, 120.81, -39.863}, {145.15, 112.97, -36.631}}], Polygon[{{164.67, 107.58, -39.863}, {175.65, 114.76, -38.776}, {165.58, 128.87, -38.776}, {155.22, 120.81, -39.863}}], Polygon[{{175.65, 114.76, -38.776}, {185.75, 121.36, -33.487}, {175.09, 136.28, -33.487}, {165.58, 128.87, -38.776}}], Polygon[{{185.75, 121.36, -33.487}, {193.86, 126.65, -24.569}, {182.74, 142.23, -24.569}, {175.09, 136.28, -33.487}}], Polygon[{{193.86, 126.65, -24.569}, {199.11, 130.08, -12.988}, {187.68, 146.08, -12.988}, {182.74, 142.23, -24.569}}], Polygon[{{199.11, 130.08, -12.988}, {200.92, 131.27, -9.7969*^-15}, {189.39, 147.41, -9.7969*^-15}, {187.68, 146.08, -12.988}}], Polygon[{{189.39, 147.41, 0.}, {187.68, 146.08, 12.988}, {174.98, 161.08, 12.988}, {176.57, 162.55, 0.}}], Polygon[{{187.68, 146.08, 12.988}, {182.74, 142.23, 24.569}, {170.37, 156.84, 24.569}, {174.98, 161.08, 12.988}}], Polygon[{{182.74, 142.23, 24.569}, {175.09, 136.28, 33.487}, {163.24, 150.27, 33.487}, {170.37, 156.84, 24.569}}], Polygon[{{175.09, 136.28, 33.487}, {165.58, 128.87, 38.776}, {154.37, 142.11, 38.776}, {163.24, 150.27, 33.487}}], Polygon[{{165.58, 128.87, 38.776}, {155.22, 120.81, 39.863}, {144.71, 133.22, 39.863}, {154.37, 142.11, 38.776}}], Polygon[{{155.22, 120.81, 39.863}, {145.15, 112.97, 36.631}, {135.32, 124.57, 36.631}, {144.71, 133.22, 39.863}}], Polygon[{{145.15, 112.97, 36.631}, {136.45, 106.2, 29.429}, {127.21, 117.11, 29.429}, {135.32, 124.57, 36.631}}], Polygon[{{136.45, 106.2, 29.429}, {130.07, 101.24, 19.038}, {121.26, 111.63, 19.038}, {127.21, 117.11, 29.429}}], Polygon[{{130.07, 101.24, 19.038}, {126.69, 98.609, 6.5838}, {118.12, 108.73, 6.5838}, {121.26, 111.63, 19.038}}], Polygon[{{126.69, 98.609, 6.5838}, {126.69, 98.609, -6.5838}, {118.12, 108.73, -6.5838}, {118.12, 108.73, 6.5838}}], Polygon[{{126.69, 98.609, -6.5838}, {130.07, 101.24, -19.038}, {121.26, 111.63, -19.038}, {118.12, 108.73, -6.5838}}], Polygon[{{130.07, 101.24, -19.038}, {136.45, 106.2, -29.429}, {127.21, 117.11, -29.429}, {121.26, 111.63, -19.038}}], Polygon[{{136.45, 106.2, -29.429}, {145.15, 112.97, -36.631}, {135.32, 124.57, -36.631}, {127.21, 117.11, -29.429}}], Polygon[{{145.15, 112.97, -36.631}, {155.22, 120.81, -39.863}, {144.71, 133.22, -39.863}, {135.32, 124.57, -36.631}}], Polygon[{{155.22, 120.81, -39.863}, {165.58, 128.87, -38.776}, {154.37, 142.11, -38.776}, {144.71, 133.22, -39.863}}], Polygon[{{165.58, 128.87, -38.776}, {175.09, 136.28, -33.487}, {163.24, 150.27, -33.487}, {154.37, 142.11, -38.776}}], Polygon[{{175.09, 136.28, -33.487}, {182.74, 142.23, -24.569}, {170.37, 156.84, -24.569}, {163.24, 150.27, -33.487}}], Polygon[{{182.74, 142.23, -24.569}, {187.68, 146.08, -12.988}, {174.98, 161.08, -12.988}, {170.37, 156.84, -24.569}}], Polygon[{{187.68, 146.08, -12.988}, {189.39, 147.41, -9.7969*^-15}, {176.57, 162.55, -9.7969*^-15}, {174.98, 161.08, -12.988}}], Polygon[{{176.57, 162.55, 0.}, {174.98, 161.08, 12.988}, {161.08, 174.98, 12.988}, {162.55, 176.57, 0.}}], Polygon[{{174.98, 161.08, 12.988}, {170.37, 156.84, 24.569}, {156.84, 170.37, 24.569}, {161.08, 174.98, 12.988}}], Polygon[{{170.37, 156.84, 24.569}, {163.24, 150.27, 33.487}, {150.27, 163.24, 33.487}, {156.84, 170.37, 24.569}}], Polygon[{{163.24, 150.27, 33.487}, {154.37, 142.11, 38.776}, {142.11, 154.37, 38.776}, {150.27, 163.24, 33.487}}], Polygon[{{154.37, 142.11, 38.776}, {144.71, 133.22, 39.863}, {133.22, 144.71, 39.863}, {142.11, 154.37, 38.776}}], Polygon[{{144.71, 133.22, 39.863}, {135.32, 124.57, 36.631}, {124.57, 135.32, 36.631}, {133.22, 144.71, 39.863}}], Polygon[{{135.32, 124.57, 36.631}, {127.21, 117.11, 29.429}, {117.11, 127.21, 29.429}, {124.57, 135.32, 36.631}}], Polygon[{{127.21, 117.11, 29.429}, {121.26, 111.63, 19.038}, {111.63, 121.26, 19.038}, {117.11, 127.21, 29.429}}], Polygon[{{121.26, 111.63, 19.038}, {118.12, 108.73, 6.5838}, {108.73, 118.12, 6.5838}, {111.63, 121.26, 19.038}}], Polygon[{{118.12, 108.73, 6.5838}, {118.12, 108.73, -6.5838}, {108.73, 118.12, -6.5838}, {108.73, 118.12, 6.5838}}], Polygon[{{118.12, 108.73, -6.5838}, {121.26, 111.63, -19.038}, {111.63, 121.26, -19.038}, {108.73, 118.12, -6.5838}}], Polygon[{{121.26, 111.63, -19.038}, {127.21, 117.11, -29.429}, {117.11, 127.21, -29.429}, {111.63, 121.26, -19.038}}], Polygon[{{127.21, 117.11, -29.429}, {135.32, 124.57, -36.631}, {124.57, 135.32, -36.631}, {117.11, 127.21, -29.429}}], Polygon[{{135.32, 124.57, -36.631}, {144.71, 133.22, -39.863}, {133.22, 144.71, -39.863}, {124.57, 135.32, -36.631}}], Polygon[{{144.71, 133.22, -39.863}, {154.37, 142.11, -38.776}, {142.11, 154.37, -38.776}, {133.22, 144.71, -39.863}}], Polygon[{{154.37, 142.11, -38.776}, {163.24, 150.27, -33.487}, {150.27, 163.24, -33.487}, {142.11, 154.37, -38.776}}], Polygon[{{163.24, 150.27, -33.487}, {170.37, 156.84, -24.569}, {156.84, 170.37, -24.569}, {150.27, 163.24, -33.487}}], Polygon[{{170.37, 156.84, -24.569}, {174.98, 161.08, -12.988}, {161.08, 174.98, -12.988}, {156.84, 170.37, -24.569}}], Polygon[{{174.98, 161.08, -12.988}, {176.57, 162.55, -9.7969*^-15}, {162.55, 176.57, -9.7969*^-15}, {161.08, 174.98, -12.988}}], Polygon[{{162.55, 176.57, 0.}, {161.08, 174.98, 12.988}, {146.08, 187.68, 12.988}, {147.41, 189.39, 0.}}], Polygon[{{161.08, 174.98, 12.988}, {156.84, 170.37, 24.569}, {142.23, 182.74, 24.569}, {146.08, 187.68, 12.988}}], Polygon[{{156.84, 170.37, 24.569}, {150.27, 163.24, 33.487}, {136.28, 175.09, 33.487}, {142.23, 182.74, 24.569}}], Polygon[{{150.27, 163.24, 33.487}, {142.11, 154.37, 38.776}, {128.87, 165.58, 38.776}, {136.28, 175.09, 33.487}}], Polygon[{{142.11, 154.37, 38.776}, {133.22, 144.71, 39.863}, {120.81, 155.22, 39.863}, {128.87, 165.58, 38.776}}], Polygon[{{133.22, 144.71, 39.863}, {124.57, 135.32, 36.631}, {112.97, 145.15, 36.631}, {120.81, 155.22, 39.863}}], Polygon[{{124.57, 135.32, 36.631}, {117.11, 127.21, 29.429}, {106.2, 136.45, 29.429}, {112.97, 145.15, 36.631}}], Polygon[{{117.11, 127.21, 29.429}, {111.63, 121.26, 19.038}, {101.24, 130.07, 19.038}, {106.2, 136.45, 29.429}}], Polygon[{{111.63, 121.26, 19.038}, {108.73, 118.12, 6.5838}, {98.609, 126.69, 6.5838}, {101.24, 130.07, 19.038}}], Polygon[{{108.73, 118.12, 6.5838}, {108.73, 118.12, -6.5838}, {98.609, 126.69, -6.5838}, {98.609, 126.69, 6.5838}}], Polygon[{{108.73, 118.12, -6.5838}, {111.63, 121.26, -19.038}, {101.24, 130.07, -19.038}, {98.609, 126.69, -6.5838}}], Polygon[{{111.63, 121.26, -19.038}, {117.11, 127.21, -29.429}, {106.2, 136.45, -29.429}, {101.24, 130.07, -19.038}}], Polygon[{{117.11, 127.21, -29.429}, {124.57, 135.32, -36.631}, {112.97, 145.15, -36.631}, {106.2, 136.45, -29.429}}], Polygon[{{124.57, 135.32, -36.631}, {133.22, 144.71, -39.863}, {120.81, 155.22, -39.863}, {112.97, 145.15, -36.631}}], Polygon[{{133.22, 144.71, -39.863}, {142.11, 154.37, -38.776}, {128.87, 165.58, -38.776}, {120.81, 155.22, -39.863}}], Polygon[{{142.11, 154.37, -38.776}, {150.27, 163.24, -33.487}, {136.28, 175.09, -33.487}, {128.87, 165.58, -38.776}}], Polygon[{{150.27, 163.24, -33.487}, {156.84, 170.37, -24.569}, {142.23, 182.74, -24.569}, {136.28, 175.09, -33.487}}], Polygon[{{156.84, 170.37, -24.569}, {161.08, 174.98, -12.988}, {146.08, 187.68, -12.988}, {142.23, 182.74, -24.569}}], Polygon[{{161.08, 174.98, -12.988}, {162.55, 176.57, -9.7969*^-15}, {147.41, 189.39, -9.7969*^-15}, {146.08, 187.68, -12.988}}], Polygon[{{147.41, 189.39, 0.}, {146.08, 187.68, 12.988}, {130.08, 199.11, 12.988}, {131.27, 200.92, 0.}}], Polygon[{{146.08, 187.68, 12.988}, {142.23, 182.74, 24.569}, {126.65, 193.86, 24.569}, {130.08, 199.11, 12.988}}], Polygon[{{142.23, 182.74, 24.569}, {136.28, 175.09, 33.487}, {121.36, 185.75, 33.487}, {126.65, 193.86, 24.569}}], Polygon[{{136.28, 175.09, 33.487}, {128.87, 165.58, 38.776}, {114.76, 175.65, 38.776}, {121.36, 185.75, 33.487}}], Polygon[{{128.87, 165.58, 38.776}, {120.81, 155.22, 39.863}, {107.58, 164.67, 39.863}, {114.76, 175.65, 38.776}}], Polygon[{{120.81, 155.22, 39.863}, {112.97, 145.15, 36.631}, {100.6, 153.98, 36.631}, {107.58, 164.67, 39.863}}], Polygon[{{112.97, 145.15, 36.631}, {106.2, 136.45, 29.429}, {94.572, 144.75, 29.429}, {100.6, 153.98, 36.631}}], Polygon[{{106.2, 136.45, 29.429}, {101.24, 130.07, 19.038}, {90.149, 137.98, 19.038}, {94.572, 144.75, 29.429}}], Polygon[{{101.24, 130.07, 19.038}, {98.609, 126.69, 6.5838}, {87.81, 134.4, 6.5838}, {90.149, 137.98, 19.038}}], Polygon[{{98.609, 126.69, 6.5838}, {98.609, 126.69, -6.5838}, {87.81, 134.4, -6.5838}, {87.81, 134.4, 6.5838}}], Polygon[{{98.609, 126.69, -6.5838}, {101.24, 130.07, -19.038}, {90.149, 137.98, -19.038}, {87.81, 134.4, -6.5838}}], Polygon[{{101.24, 130.07, -19.038}, {106.2, 136.45, -29.429}, {94.572, 144.75, -29.429}, {90.149, 137.98, -19.038}}], Polygon[{{106.2, 136.45, -29.429}, {112.97, 145.15, -36.631}, {100.6, 153.98, -36.631}, {94.572, 144.75, -29.429}}], Polygon[{{112.97, 145.15, -36.631}, {120.81, 155.22, -39.863}, {107.58, 164.67, -39.863}, {100.6, 153.98, -36.631}}], Polygon[{{120.81, 155.22, -39.863}, {128.87, 165.58, -38.776}, {114.76, 175.65, -38.776}, {107.58, 164.67, -39.863}}], Polygon[{{128.87, 165.58, -38.776}, {136.28, 175.09, -33.487}, {121.36, 185.75, -33.487}, {114.76, 175.65, -38.776}}], Polygon[{{136.28, 175.09, -33.487}, {142.23, 182.74, -24.569}, {126.65, 193.86, -24.569}, {121.36, 185.75, -33.487}}], Polygon[{{142.23, 182.74, -24.569}, {146.08, 187.68, -12.988}, {130.08, 199.11, -12.988}, {126.65, 193.86, -24.569}}], Polygon[{{146.08, 187.68, -12.988}, {147.41, 189.39, -9.7969*^-15}, {131.27, 200.92, -9.7969*^-15}, {130.08, 199.11, -12.988}}], Polygon[{{131.27, 200.92, 0.}, {130.08, 199.11, 12.988}, {113.2, 209.17, 12.988}, {114.23, 211.07, 0.}}], Polygon[{{130.08, 199.11, 12.988}, {126.65, 193.86, 24.569}, {110.21, 203.66, 24.569}, {113.2, 209.17, 12.988}}], Polygon[{{126.65, 193.86, 24.569}, {121.36, 185.75, 33.487}, {105.6, 195.14, 33.487}, {110.21, 203.66, 24.569}}], Polygon[{{121.36, 185.75, 33.487}, {114.76, 175.65, 38.776}, {99.863, 184.53, 38.776}, {105.6, 195.14, 33.487}}], Polygon[{{114.76, 175.65, 38.776}, {107.58, 164.67, 39.863}, {93.617, 172.99, 39.863}, {99.863, 184.53, 38.776}}], Polygon[{{107.58, 164.67, 39.863}, {100.6, 153.98, 36.631}, {87.542, 161.76, 36.631}, {93.617, 172.99, 39.863}}], Polygon[{{100.6, 153.98, 36.631}, {94.572, 144.75, 29.429}, {82.295, 152.07, 29.429}, {87.542, 161.76, 36.631}}], Polygon[{{94.572, 144.75, 29.429}, {90.149, 137.98, 19.038}, {78.446, 144.96, 19.038}, {82.295, 152.07, 29.429}}], Polygon[{{90.149, 137.98, 19.038}, {87.81, 134.4, 6.5838}, {76.411, 141.2, 6.5838}, {78.446, 144.96, 19.038}}], Polygon[{{87.81, 134.4, 6.5838}, {87.81, 134.4, -6.5838}, {76.411, 141.2, -6.5838}, {76.411, 141.2, 6.5838}}], Polygon[{{87.81, 134.4, -6.5838}, {90.149, 137.98, -19.038}, {78.446, 144.96, -19.038}, {76.411, 141.2, -6.5838}}], Polygon[{{90.149, 137.98, -19.038}, {94.572, 144.75, -29.429}, {82.295, 152.07, -29.429}, {78.446, 144.96, -19.038}}], Polygon[{{94.572, 144.75, -29.429}, {100.6, 153.98, -36.631}, {87.542, 161.76, -36.631}, {82.295, 152.07, -29.429}}], Polygon[{{100.6, 153.98, -36.631}, {107.58, 164.67, -39.863}, {93.617, 172.99, -39.863}, {87.542, 161.76, -36.631}}], Polygon[{{107.58, 164.67, -39.863}, {114.76, 175.65, -38.776}, {99.863, 184.53, -38.776}, {93.617, 172.99, -39.863}}], Polygon[{{114.76, 175.65, -38.776}, {121.36, 185.75, -33.487}, {105.6, 195.14, -33.487}, {99.863, 184.53, -38.776}}], Polygon[{{121.36, 185.75, -33.487}, {126.65, 193.86, -24.569}, {110.21, 203.66, -24.569}, {105.6, 195.14, -33.487}}], Polygon[{{126.65, 193.86, -24.569}, {130.08, 199.11, -12.988}, {113.2, 209.17, -12.988}, {110.21, 203.66, -24.569}}], Polygon[{{130.08, 199.11, -12.988}, {131.27, 200.92, -9.7969*^-15}, {114.23, 211.07, -9.7969*^-15}, {113.2, 209.17, -12.988}}], Polygon[{{114.23, 211.07, 0.}, {113.2, 209.17, 12.988}, {95.536, 217.8, 12.988}, {96.407, 219.79, 0.}}], Polygon[{{113.2, 209.17, 12.988}, {110.21, 203.66, 24.569}, {93.019, 212.06, 24.569}, {95.536, 217.8, 12.988}}], Polygon[{{110.21, 203.66, 24.569}, {105.6, 195.14, 33.487}, {89.127, 203.19, 33.487}, {93.019, 212.06, 24.569}}], Polygon[{{105.6, 195.14, 33.487}, {99.863, 184.53, 38.776}, {84.284, 192.15, 38.776}, {89.127, 203.19, 33.487}}], Polygon[{{99.863, 184.53, 38.776}, {93.617, 172.99, 39.863}, {79.012, 180.13, 39.863}, {84.284, 192.15, 38.776}}], Polygon[{{93.617, 172.99, 39.863}, {87.542, 161.76, 36.631}, {73.885, 168.44, 36.631}, {79.012, 180.13, 39.863}}], Polygon[{{87.542, 161.76, 36.631}, {82.295, 152.07, 29.429}, {69.457, 158.35, 29.429}, {73.885, 168.44, 36.631}}], Polygon[{{82.295, 152.07, 29.429}, {78.446, 144.96, 19.038}, {66.208, 150.94, 19.038}, {69.457, 158.35, 29.429}}], Polygon[{{78.446, 144.96, 19.038}, {76.411, 141.2, 6.5838}, {64.49, 147.02, 6.5838}, {66.208, 150.94, 19.038}}], Polygon[{{76.411, 141.2, 6.5838}, {76.411, 141.2, -6.5838}, {64.49, 147.02, -6.5838}, {64.49, 147.02, 6.5838}}], Polygon[{{76.411, 141.2, -6.5838}, {78.446, 144.96, -19.038}, {66.208, 150.94, -19.038}, {64.49, 147.02, -6.5838}}], Polygon[{{78.446, 144.96, -19.038}, {82.295, 152.07, -29.429}, {69.457, 158.35, -29.429}, {66.208, 150.94, -19.038}}], Polygon[{{82.295, 152.07, -29.429}, {87.542, 161.76, -36.631}, {73.885, 168.44, -36.631}, {69.457, 158.35, -29.429}}], Polygon[{{87.542, 161.76, -36.631}, {93.617, 172.99, -39.863}, {79.012, 180.13, -39.863}, {73.885, 168.44, -36.631}}], Polygon[{{93.617, 172.99, -39.863}, {99.863, 184.53, -38.776}, {84.284, 192.15, -38.776}, {79.012, 180.13, -39.863}}], Polygon[{{99.863, 184.53, -38.776}, {105.6, 195.14, -33.487}, {89.127, 203.19, -33.487}, {84.284, 192.15, -38.776}}], Polygon[{{105.6, 195.14, -33.487}, {110.21, 203.66, -24.569}, {93.019, 212.06, -24.569}, {89.127, 203.19, -33.487}}], Polygon[{{110.21, 203.66, -24.569}, {113.2, 209.17, -12.988}, {95.536, 217.8, -12.988}, {93.019, 212.06, -24.569}}], Polygon[{{113.2, 209.17, -12.988}, {114.23, 211.07, -9.7969*^-15}, {96.407, 219.79, -9.7969*^-15}, {95.536, 217.8, -12.988}}], Polygon[{{96.407, 219.79, 0.}, {95.536, 217.8, 12.988}, {77.224, 224.95, 12.988}, {77.928, 227., 0.}}], Polygon[{{95.536, 217.8, 12.988}, {93.019, 212.06, 24.569}, {75.189, 219.02, 24.569}, {77.224, 224.95, 12.988}}], Polygon[{{93.019, 212.06, 24.569}, {89.127, 203.19, 33.487}, {72.044, 209.86, 33.487}, {75.189, 219.02, 24.569}}], Polygon[{{89.127, 203.19, 33.487}, {84.284, 192.15, 38.776}, {68.128, 198.45, 38.776}, {72.044, 209.86, 33.487}}], Polygon[{{84.284, 192.15, 38.776}, {79.012, 180.13, 39.863}, {63.867, 186.04, 39.863}, {68.128, 198.45, 38.776}}], Polygon[{{79.012, 180.13, 39.863}, {73.885, 168.44, 36.631}, {59.723, 173.97, 36.631}, {63.867, 186.04, 39.863}}], Polygon[{{73.885, 168.44, 36.631}, {69.457, 158.35, 29.429}, {56.143, 163.54, 29.429}, {59.723, 173.97, 36.631}}], Polygon[{{69.457, 158.35, 29.429}, {66.208, 150.94, 19.038}, {53.517, 155.89, 19.038}, {56.143, 163.54, 29.429}}], Polygon[{{66.208, 150.94, 19.038}, {64.49, 147.02, 6.5838}, {52.129, 151.85, 6.5838}, {53.517, 155.89, 19.038}}], Polygon[{{64.49, 147.02, 6.5838}, {64.49, 147.02, -6.5838}, {52.129, 151.85, -6.5838}, {52.129, 151.85, 6.5838}}], Polygon[{{64.49, 147.02, -6.5838}, {66.208, 150.94, -19.038}, {53.517, 155.89, -19.038}, {52.129, 151.85, -6.5838}}], Polygon[{{66.208, 150.94, -19.038}, {69.457, 158.35, -29.429}, {56.143, 163.54, -29.429}, {53.517, 155.89, -19.038}}], Polygon[{{69.457, 158.35, -29.429}, {73.885, 168.44, -36.631}, {59.723, 173.97, -36.631}, {56.143, 163.54, -29.429}}], Polygon[{{73.885, 168.44, -36.631}, {79.012, 180.13, -39.863}, {63.867, 186.04, -39.863}, {59.723, 173.97, -36.631}}], Polygon[{{79.012, 180.13, -39.863}, {84.284, 192.15, -38.776}, {68.128, 198.45, -38.776}, {63.867, 186.04, -39.863}}], Polygon[{{84.284, 192.15, -38.776}, {89.127, 203.19, -33.487}, {72.044, 209.86, -33.487}, {68.128, 198.45, -38.776}}], Polygon[{{89.127, 203.19, -33.487}, {93.019, 212.06, -24.569}, {75.189, 219.02, -24.569}, {72.044, 209.86, -33.487}}], Polygon[{{93.019, 212.06, -24.569}, {95.536, 217.8, -12.988}, {77.224, 224.95, -12.988}, {75.189, 219.02, -24.569}}], Polygon[{{95.536, 217.8, -12.988}, {96.407, 219.79, -9.7969*^-15}, {77.928, 227., -9.7969*^-15}, {77.224, 224.95, -12.988}}], Polygon[{{77.928, 227., 0.}, {77.224, 224.95, 12.988}, {58.384, 230.56, 12.988}, {58.917, 232.66, 0.}}], Polygon[{{77.224, 224.95, 12.988}, {75.189, 219.02, 24.569}, {56.846, 224.48, 24.569}, {58.384, 230.56, 12.988}}], Polygon[{{75.189, 219.02, 24.569}, {72.044, 209.86, 33.487}, {54.468, 215.09, 33.487}, {56.846, 224.48, 24.569}}], Polygon[{{72.044, 209.86, 33.487}, {68.128, 198.45, 38.776}, {51.508, 203.4, 38.776}, {54.468, 215.09, 33.487}}], Polygon[{{68.128, 198.45, 38.776}, {63.867, 186.04, 39.863}, {48.286, 190.68, 39.863}, {51.508, 203.4, 38.776}}], Polygon[{{63.867, 186.04, 39.863}, {59.723, 173.97, 36.631}, {45.153, 178.3, 36.631}, {48.286, 190.68, 39.863}}], Polygon[{{59.723, 173.97, 36.631}, {56.143, 163.54, 29.429}, {42.447, 167.62, 29.429}, {45.153, 178.3, 36.631}}], Polygon[{{56.143, 163.54, 29.429}, {53.517, 155.89, 19.038}, {40.461, 159.78, 19.038}, {42.447, 167.62, 29.429}}], Polygon[{{53.517, 155.89, 19.038}, {52.129, 151.85, 6.5838}, {39.412, 155.63, 6.5838}, {40.461, 159.78, 19.038}}], Polygon[{{52.129, 151.85, 6.5838}, {52.129, 151.85, -6.5838}, {39.412, 155.63, -6.5838}, {39.412, 155.63, 6.5838}}], Polygon[{{52.129, 151.85, -6.5838}, {53.517, 155.89, -19.038}, {40.461, 159.78, -19.038}, {39.412, 155.63, -6.5838}}], Polygon[{{53.517, 155.89, -19.038}, {56.143, 163.54, -29.429}, {42.447, 167.62, -29.429}, {40.461, 159.78, -19.038}}], Polygon[{{56.143, 163.54, -29.429}, {59.723, 173.97, -36.631}, {45.153, 178.3, -36.631}, {42.447, 167.62, -29.429}}], Polygon[{{59.723, 173.97, -36.631}, {63.867, 186.04, -39.863}, {48.286, 190.68, -39.863}, {45.153, 178.3, -36.631}}], Polygon[{{63.867, 186.04, -39.863}, {68.128, 198.45, -38.776}, {51.508, 203.4, -38.776}, {48.286, 190.68, -39.863}}], Polygon[{{68.128, 198.45, -38.776}, {72.044, 209.86, -33.487}, {54.468, 215.09, -33.487}, {51.508, 203.4, -38.776}}], Polygon[{{72.044, 209.86, -33.487}, {75.189, 219.02, -24.569}, {56.846, 224.48, -24.569}, {54.468, 215.09, -33.487}}], Polygon[{{75.189, 219.02, -24.569}, {77.224, 224.95, -12.988}, {58.384, 230.56, -12.988}, {56.846, 224.48, -24.569}}], Polygon[{{77.224, 224.95, -12.988}, {77.928, 227., -9.7969*^-15}, {58.917, 232.66, -9.7969*^-15}, {58.384, 230.56, -12.988}}], Polygon[{{58.917, 232.66, 0.}, {58.384, 230.56, 12.988}, {39.146, 234.59, 12.988}, {39.503, 236.73, 0.}}], Polygon[{{58.384, 230.56, 12.988}, {56.846, 224.48, 24.569}, {38.114, 228.41, 24.569}, {39.146, 234.59, 12.988}}], Polygon[{{56.846, 224.48, 24.569}, {54.468, 215.09, 33.487}, {36.52, 218.85, 33.487}, {38.114, 228.41, 24.569}}], Polygon[{{54.468, 215.09, 33.487}, {51.508, 203.4, 38.776}, {34.535, 206.96, 38.776}, {36.52, 218.85, 33.487}}], Polygon[{{51.508, 203.4, 38.776}, {48.286, 190.68, 39.863}, {32.375, 194.01, 39.863}, {34.535, 206.96, 38.776}}], Polygon[{{48.286, 190.68, 39.863}, {45.153, 178.3, 36.631}, {30.274, 181.42, 36.631}, {32.375, 194.01, 39.863}}], Polygon[{{45.153, 178.3, 36.631}, {42.447, 167.62, 29.429}, {28.46, 170.55, 29.429}, {30.274, 181.42, 36.631}}], Polygon[{{42.447, 167.62, 29.429}, {40.461, 159.78, 19.038}, {27.129, 162.57, 19.038}, {28.46, 170.55, 29.429}}], Polygon[{{40.461, 159.78, 19.038}, {39.412, 155.63, 6.5838}, {26.425, 158.36, 6.5838}, {27.129, 162.57, 19.038}}], Polygon[{{39.412, 155.63, 6.5838}, {39.412, 155.63, -6.5838}, {26.425, 158.36, -6.5838}, {26.425, 158.36, 6.5838}}], Polygon[{{39.412, 155.63, -6.5838}, {40.461, 159.78, -19.038}, {27.129, 162.57, -19.038}, {26.425, 158.36, -6.5838}}], Polygon[{{40.461, 159.78, -19.038}, {42.447, 167.62, -29.429}, {28.46, 170.55, -29.429}, {27.129, 162.57, -19.038}}], Polygon[{{42.447, 167.62, -29.429}, {45.153, 178.3, -36.631}, {30.274, 181.42, -36.631}, {28.46, 170.55, -29.429}}], Polygon[{{45.153, 178.3, -36.631}, {48.286, 190.68, -39.863}, {32.375, 194.01, -39.863}, {30.274, 181.42, -36.631}}], Polygon[{{48.286, 190.68, -39.863}, {51.508, 203.4, -38.776}, {34.535, 206.96, -38.776}, {32.375, 194.01, -39.863}}], Polygon[{{51.508, 203.4, -38.776}, {54.468, 215.09, -33.487}, {36.52, 218.85, -33.487}, {34.535, 206.96, -38.776}}], Polygon[{{54.468, 215.09, -33.487}, {56.846, 224.48, -24.569}, {38.114, 228.41, -24.569}, {36.52, 218.85, -33.487}}], Polygon[{{56.846, 224.48, -24.569}, {58.384, 230.56, -12.988}, {39.146, 234.59, -12.988}, {38.114, 228.41, -24.569}}], Polygon[{{58.384, 230.56, -12.988}, {58.917, 232.66, -9.7969*^-15}, {39.503, 236.73, -9.7969*^-15}, {39.146, 234.59, -12.988}}], Polygon[{{39.503, 236.73, 0.}, {39.146, 234.59, 12.988}, {19.64, 237.02, 12.988}, {19.819, 239.18, 0.}}], Polygon[{{39.146, 234.59, 12.988}, {38.114, 228.41, 24.569}, {19.123, 230.77, 24.569}, {19.64, 237.02, 12.988}}], Polygon[{{38.114, 228.41, 24.569}, {36.52, 218.85, 33.487}, {18.323, 221.12, 33.487}, {19.123, 230.77, 24.569}}], Polygon[{{36.52, 218.85, 33.487}, {34.535, 206.96, 38.776}, {17.327, 209.1, 38.776}, {18.323, 221.12, 33.487}}], Polygon[{{34.535, 206.96, 38.776}, {32.375, 194.01, 39.863}, {16.243, 196.03, 39.863}, {17.327, 209.1, 38.776}}], Polygon[{{32.375, 194.01, 39.863}, {30.274, 181.42, 36.631}, {15.189, 183.3, 36.631}, {16.243, 196.03, 39.863}}], Polygon[{{30.274, 181.42, 36.631}, {28.46, 170.55, 29.429}, {14.279, 172.32, 29.429}, {15.189, 183.3, 36.631}}], Polygon[{{28.46, 170.55, 29.429}, {27.129, 162.57, 19.038}, {13.611, 164.26, 19.038}, {14.279, 172.32, 29.429}}], Polygon[{{27.129, 162.57, 19.038}, {26.425, 158.36, 6.5838}, {13.258, 160., 6.5838}, {13.611, 164.26, 19.038}}], Polygon[{{26.425, 158.36, 6.5838}, {26.425, 158.36, -6.5838}, {13.258, 160., -6.5838}, {13.258, 160., 6.5838}}], Polygon[{{26.425, 158.36, -6.5838}, {27.129, 162.57, -19.038}, {13.611, 164.26, -19.038}, {13.258, 160., -6.5838}}], Polygon[{{27.129, 162.57, -19.038}, {28.46, 170.55, -29.429}, {14.279, 172.32, -29.429}, {13.611, 164.26, -19.038}}], Polygon[{{28.46, 170.55, -29.429}, {30.274, 181.42, -36.631}, {15.189, 183.3, -36.631}, {14.279, 172.32, -29.429}}], Polygon[{{30.274, 181.42, -36.631}, {32.375, 194.01, -39.863}, {16.243, 196.03, -39.863}, {15.189, 183.3, -36.631}}], Polygon[{{32.375, 194.01, -39.863}, {34.535, 206.96, -38.776}, {17.327, 209.1, -38.776}, {16.243, 196.03, -39.863}}], Polygon[{{34.535, 206.96, -38.776}, {36.52, 218.85, -33.487}, {18.323, 221.12, -33.487}, {17.327, 209.1, -38.776}}], Polygon[{{36.52, 218.85, -33.487}, {38.114, 228.41, -24.569}, {19.123, 230.77, -24.569}, {18.323, 221.12, -33.487}}], Polygon[{{38.114, 228.41, -24.569}, {39.146, 234.59, -12.988}, {19.64, 237.02, -12.988}, {19.123, 230.77, -24.569}}], Polygon[{{39.146, 234.59, -12.988}, {39.503, 236.73, -9.7969*^-15}, {19.819, 239.18, -9.7969*^-15}, {19.64, 237.02, -12.988}}], Polygon[{{19.819, 239.18, 0.}, {19.64, 237.02, 12.988}, {1.4563*^-14, 237.83, 12.988}, {1.4695*^-14, 240., 0.}}], Polygon[{{19.64, 237.02, 12.988}, {19.123, 230.77, 24.569}, {1.4179*^-14, 231.57, 24.569}, {1.4563*^-14, 237.83, 12.988}}], Polygon[{{19.123, 230.77, 24.569}, {18.323, 221.12, 33.487}, {1.3586*^-14, 221.88, 33.487}, {1.4179*^-14, 231.57, 24.569}}], Polygon[{{18.323, 221.12, 33.487}, {17.327, 209.1, 38.776}, {1.2847*^-14, 209.82, 38.776}, {1.3586*^-14, 221.88, 33.487}}], Polygon[{{17.327, 209.1, 38.776}, {16.243, 196.03, 39.863}, {1.2044*^-14, 196.7, 39.863}, {1.2847*^-14, 209.82, 38.776}}], Polygon[{{16.243, 196.03, 39.863}, {15.189, 183.3, 36.631}, {1.1262*^-14, 183.93, 36.631}, {1.2044*^-14, 196.7, 39.863}}], Polygon[{{15.189, 183.3, 36.631}, {14.279, 172.32, 29.429}, {1.0587*^-14, 172.91, 29.429}, {1.1262*^-14, 183.93, 36.631}}], Polygon[{{14.279, 172.32, 29.429}, {13.611, 164.26, 19.038}, {1.0092*^-14, 164.82, 19.038}, {1.0587*^-14, 172.91, 29.429}}], Polygon[{{13.611, 164.26, 19.038}, {13.258, 160., 6.5838}, {9.8303*^-15, 160.55, 6.5838}, {1.0092*^-14, 164.82, 19.038}}], Polygon[{{13.258, 160., 6.5838}, {13.258, 160., -6.5838}, {9.8303*^-15, 160.55, -6.5838}, {9.8303*^-15, 160.55, 6.5838}}], Polygon[{{13.258, 160., -6.5838}, {13.611, 164.26, -19.038}, {1.0092*^-14, 164.82, -19.038}, {9.8303*^-15, 160.55, -6.5838}}], Polygon[{{13.611, 164.26, -19.038}, {14.279, 172.32, -29.429}, {1.0587*^-14, 172.91, -29.429}, {1.0092*^-14, 164.82, -19.038}}], Polygon[{{14.279, 172.32, -29.429}, {15.189, 183.3, -36.631}, {1.1262*^-14, 183.93, -36.631}, {1.0587*^-14, 172.91, -29.429}}], Polygon[{{15.189, 183.3, -36.631}, {16.243, 196.03, -39.863}, {1.2044*^-14, 196.7, -39.863}, {1.1262*^-14, 183.93, -36.631}}], Polygon[{{16.243, 196.03, -39.863}, {17.327, 209.1, -38.776}, {1.2847*^-14, 209.82, -38.776}, {1.2044*^-14, 196.7, -39.863}}], Polygon[{{17.327, 209.1, -38.776}, {18.323, 221.12, -33.487}, {1.3586*^-14, 221.88, -33.487}, {1.2847*^-14, 209.82, -38.776}}], Polygon[{{18.323, 221.12, -33.487}, {19.123, 230.77, -24.569}, {1.4179*^-14, 231.57, -24.569}, {1.3586*^-14, 221.88, -33.487}}], Polygon[{{19.123, 230.77, -24.569}, {19.64, 237.02, -12.988}, {1.4563*^-14, 237.83, -12.988}, {1.4179*^-14, 231.57, -24.569}}], Polygon[{{19.64, 237.02, -12.988}, {19.819, 239.18, -9.7969*^-15}, {1.4695*^-14, 240., -9.7969*^-15}, {1.4563*^-14, 237.83, -12.988}}]}, {Polygon[{{260., 0., 0.}, {256.75, 0., 19.482}, {255.87, 21.202, 19.482}, {259.11, 21.471, 0.}}], Polygon[{{256.75, 0., 19.482}, {247.35, 0., 36.853}, {246.5, 20.426, 36.853}, {255.87, 21.202, 19.482}}], Polygon[{{247.35, 0., 36.853}, {232.82, 0., 50.23}, {232.02, 19.226, 50.23}, {246.5, 20.426, 36.853}}], Polygon[{{232.82, 0., 50.23}, {214.73, 0., 58.164}, {214., 17.732, 58.164}, {232.02, 19.226, 50.23}}], Polygon[{{214.73, 0., 58.164}, {195.05, 0., 59.795}, {194.38, 16.107, 59.795}, {214., 17.732, 58.164}}], Polygon[{{195.05, 0., 59.795}, {175.9, 0., 54.946}, {175.3, 14.526, 54.946}, {194.38, 16.107, 59.795}}], Polygon[{{175.9, 0., 54.946}, {159.36, 0., 44.143}, {158.82, 13.16, 44.143}, {175.3, 14.526, 54.946}}], Polygon[{{159.36, 0., 44.143}, {147.23, 0., 28.557}, {146.73, 12.158, 28.557}, {158.82, 13.16, 44.143}}], Polygon[{{147.23, 0., 28.557}, {140.82, 0., 9.8757}, {140.34, 11.629, 9.8757}, {146.73, 12.158, 28.557}}], Polygon[{{140.82, 0., 9.8757}, {140.82, 0., -9.8757}, {140.34, 11.629, -9.8757}, {140.34, 11.629, 9.8757}}], Polygon[{{140.82, 0., -9.8757}, {147.23, 0., -28.557}, {146.73, 12.158, -28.557}, {140.34, 11.629, -9.8757}}], Polygon[{{147.23, 0., -28.557}, {159.36, 0., -44.143}, {158.82, 13.16, -44.143}, {146.73, 12.158, -28.557}}], Polygon[{{159.36, 0., -44.143}, {175.9, 0., -54.946}, {175.3, 14.526, -54.946}, {158.82, 13.16, -44.143}}], Polygon[{{175.9, 0., -54.946}, {195.05, 0., -59.795}, {194.38, 16.107, -59.795}, {175.3, 14.526, -54.946}}], Polygon[{{195.05, 0., -59.795}, {214.73, 0., -58.164}, {214., 17.732, -58.164}, {194.38, 16.107, -59.795}}], Polygon[{{214.73, 0., -58.164}, {232.82, 0., -50.23}, {232.02, 19.226, -50.23}, {214., 17.732, -58.164}}], Polygon[{{232.82, 0., -50.23}, {247.35, 0., -36.853}, {246.5, 20.426, -36.853}, {232.02, 19.226, -50.23}}], Polygon[{{247.35, 0., -36.853}, {256.75, 0., -19.482}, {255.87, 21.202, -19.482}, {246.5, 20.426, -36.853}}], Polygon[{{256.75, 0., -19.482}, {260., 0., -1.4695*^-14}, {259.11, 21.471, -1.4695*^-14}, {255.87, 21.202, -19.482}}], Polygon[{{259.11, 21.471, 0.}, {255.87, 21.202, 19.482}, {253.25, 42.26, 19.482}, {256.45, 42.795, 0.}}], Polygon[{{255.87, 21.202, 19.482}, {246.5, 20.426, 36.853}, {243.97, 40.712, 36.853}, {253.25, 42.26, 19.482}}], Polygon[{{246.5, 20.426, 36.853}, {232.02, 19.226, 50.23}, {229.64, 38.32, 50.23}, {243.97, 40.712, 36.853}}], Polygon[{{232.02, 19.226, 50.23}, {214., 17.732, 58.164}, {211.8, 35.343, 58.164}, {229.64, 38.32, 50.23}}], Polygon[{{214., 17.732, 58.164}, {194.38, 16.107, 59.795}, {192.39, 32.103, 59.795}, {211.8, 35.343, 58.164}}], Polygon[{{194.38, 16.107, 59.795}, {175.3, 14.526, 54.946}, {173.5, 28.952, 54.946}, {192.39, 32.103, 59.795}}], Polygon[{{175.3, 14.526, 54.946}, {158.82, 13.16, 44.143}, {157.19, 26.23, 44.143}, {173.5, 28.952, 54.946}}], Polygon[{{158.82, 13.16, 44.143}, {146.73, 12.158, 28.557}, {145.22, 24.234, 28.557}, {157.19, 26.23, 44.143}}], Polygon[{{146.73, 12.158, 28.557}, {140.34, 11.629, 9.8757}, {138.9, 23.178, 9.8757}, {145.22, 24.234, 28.557}}], Polygon[{{140.34, 11.629, 9.8757}, {140.34, 11.629, -9.8757}, {138.9, 23.178, -9.8757}, {138.9, 23.178, 9.8757}}], Polygon[{{140.34, 11.629, -9.8757}, {146.73, 12.158, -28.557}, {145.22, 24.234, -28.557}, {138.9, 23.178, -9.8757}}], Polygon[{{146.73, 12.158, -28.557}, {158.82, 13.16, -44.143}, {157.19, 26.23, -44.143}, {145.22, 24.234, -28.557}}], Polygon[{{158.82, 13.16, -44.143}, {175.3, 14.526, -54.946}, {173.5, 28.952, -54.946}, {157.19, 26.23, -44.143}}], Polygon[{{175.3, 14.526, -54.946}, {194.38, 16.107, -59.795}, {192.39, 32.103, -59.795}, {173.5, 28.952, -54.946}}], Polygon[{{194.38, 16.107, -59.795}, {214., 17.732, -58.164}, {211.8, 35.343, -58.164}, {192.39, 32.103, -59.795}}], Polygon[{{214., 17.732, -58.164}, {232.02, 19.226, -50.23}, {229.64, 38.32, -50.23}, {211.8, 35.343, -58.164}}], Polygon[{{232.02, 19.226, -50.23}, {246.5, 20.426, -36.853}, {243.97, 40.712, -36.853}, {229.64, 38.32, -50.23}}], Polygon[{{246.5, 20.426, -36.853}, {255.87, 21.202, -19.482}, {253.25, 42.26, -19.482}, {243.97, 40.712, -36.853}}], Polygon[{{255.87, 21.202, -19.482}, {259.11, 21.471, -1.4695*^-14}, {256.45, 42.795, -1.4695*^-14}, {253.25, 42.26, -19.482}}], Polygon[{{256.45, 42.795, 0.}, {253.25, 42.26, 19.482}, {248.89, 63.028, 19.482}, {252.04, 63.826, 0.}}], Polygon[{{253.25, 42.26, 19.482}, {243.97, 40.712, 36.853}, {239.78, 60.72, 36.853}, {248.89, 63.028, 19.482}}], Polygon[{{243.97, 40.712, 36.853}, {229.64, 38.32, 50.23}, {225.69, 57.153, 50.23}, {239.78, 60.72, 36.853}}], Polygon[{{229.64, 38.32, 50.23}, {211.8, 35.343, 58.164}, {208.16, 52.713, 58.164}, {225.69, 57.153, 50.23}}], Polygon[{{211.8, 35.343, 58.164}, {192.39, 32.103, 59.795}, {189.08, 47.881, 59.795}, {208.16, 52.713, 58.164}}], Polygon[{{192.39, 32.103, 59.795}, {173.5, 28.952, 54.946}, {170.52, 43.18, 54.946}, {189.08, 47.881, 59.795}}], Polygon[{{173.5, 28.952, 54.946}, {157.19, 26.23, 44.143}, {154.49, 39.121, 44.143}, {170.52, 43.18, 54.946}}], Polygon[{{157.19, 26.23, 44.143}, {145.22, 24.234, 28.557}, {142.73, 36.143, 28.557}, {154.49, 39.121, 44.143}}], Polygon[{{145.22, 24.234, 28.557}, {138.9, 23.178, 9.8757}, {136.51, 34.569, 9.8757}, {142.73, 36.143, 28.557}}], Polygon[{{138.9, 23.178, 9.8757}, {138.9, 23.178, -9.8757}, {136.51, 34.569, -9.8757}, {136.51, 34.569, 9.8757}}], Polygon[{{138.9, 23.178, -9.8757}, {145.22, 24.234, -28.557}, {142.73, 36.143, -28.557}, {136.51, 34.569, -9.8757}}], Polygon[{{145.22, 24.234, -28.557}, {157.19, 26.23, -44.143}, {154.49, 39.121, -44.143}, {142.73, 36.143, -28.557}}], Polygon[{{157.19, 26.23, -44.143}, {173.5, 28.952, -54.946}, {170.52, 43.18, -54.946}, {154.49, 39.121, -44.143}}], Polygon[{{173.5, 28.952, -54.946}, {192.39, 32.103, -59.795}, {189.08, 47.881, -59.795}, {170.52, 43.18, -54.946}}], Polygon[{{192.39, 32.103, -59.795}, {211.8, 35.343, -58.164}, {208.16, 52.713, -58.164}, {189.08, 47.881, -59.795}}], Polygon[{{211.8, 35.343, -58.164}, {229.64, 38.32, -50.23}, {225.69, 57.153, -50.23}, {208.16, 52.713, -58.164}}], Polygon[{{229.64, 38.32, -50.23}, {243.97, 40.712, -36.853}, {239.78, 60.72, -36.853}, {225.69, 57.153, -50.23}}], Polygon[{{243.97, 40.712, -36.853}, {253.25, 42.26, -19.482}, {248.89, 63.028, -19.482}, {239.78, 60.72, -36.853}}], Polygon[{{253.25, 42.26, -19.482}, {256.45, 42.795, -1.4695*^-14}, {252.04, 63.826, -1.4695*^-14}, {248.89, 63.028, -19.482}}], Polygon[{{252.04, 63.826, 0.}, {248.89, 63.028, 19.482}, {242.84, 83.366, 19.482}, {245.91, 84.422, 0.}}], Polygon[{{248.89, 63.028, 19.482}, {239.78, 60.72, 36.853}, {233.95, 80.314, 36.853}, {242.84, 83.366, 19.482}}], Polygon[{{239.78, 60.72, 36.853}, {225.69, 57.153, 50.23}, {220.2, 75.596, 50.23}, {233.95, 80.314, 36.853}}], Polygon[{{225.69, 57.153, 50.23}, {208.16, 52.713, 58.164}, {203.09, 69.722, 58.164}, {220.2, 75.596, 50.23}}], Polygon[{{208.16, 52.713, 58.164}, {189.08, 47.881, 59.795}, {184.48, 63.331, 59.795}, {203.09, 69.722, 58.164}}], Polygon[{{189.08, 47.881, 59.795}, {170.52, 43.18, 54.946}, {166.37, 57.114, 54.946}, {184.48, 63.331, 59.795}}], Polygon[{{170.52, 43.18, 54.946}, {154.49, 39.121, 44.143}, {150.73, 51.745, 44.143}, {166.37, 57.114, 54.946}}], Polygon[{{154.49, 39.121, 44.143}, {142.73, 36.143, 28.557}, {139.25, 47.806, 28.557}, {150.73, 51.745, 44.143}}], Polygon[{{142.73, 36.143, 28.557}, {136.51, 34.569, 9.8757}, {133.19, 45.724, 9.8757}, {139.25, 47.806, 28.557}}], Polygon[{{136.51, 34.569, 9.8757}, {136.51, 34.569, -9.8757}, {133.19, 45.724, -9.8757}, {133.19, 45.724, 9.8757}}], Polygon[{{136.51, 34.569, -9.8757}, {142.73, 36.143, -28.557}, {139.25, 47.806, -28.557}, {133.19, 45.724, -9.8757}}], Polygon[{{142.73, 36.143, -28.557}, {154.49, 39.121, -44.143}, {150.73, 51.745, -44.143}, {139.25, 47.806, -28.557}}], Polygon[{{154.49, 39.121, -44.143}, {170.52, 43.18, -54.946}, {166.37, 57.114, -54.946}, {150.73, 51.745, -44.143}}], Polygon[{{170.52, 43.18, -54.946}, {189.08, 47.881, -59.795}, {184.48, 63.331, -59.795}, {166.37, 57.114, -54.946}}], Polygon[{{189.08, 47.881, -59.795}, {208.16, 52.713, -58.164}, {203.09, 69.722, -58.164}, {184.48, 63.331, -59.795}}], Polygon[{{208.16, 52.713, -58.164}, {225.69, 57.153, -50.23}, {220.2, 75.596, -50.23}, {203.09, 69.722, -58.164}}], Polygon[{{225.69, 57.153, -50.23}, {239.78, 60.72, -36.853}, {233.95, 80.314, -36.853}, {220.2, 75.596, -50.23}}], Polygon[{{239.78, 60.72, -36.853}, {248.89, 63.028, -19.482}, {242.84, 83.366, -19.482}, {233.95, 80.314, -36.853}}], Polygon[{{248.89, 63.028, -19.482}, {252.04, 63.826, -1.4695*^-14}, {245.91, 84.422, -1.4695*^-14}, {242.84, 83.366, -19.482}}], Polygon[{{245.91, 84.422, 0.}, {242.84, 83.366, 19.482}, {235.12, 103.13, 19.482}, {238.1, 104.44, 0.}}], Polygon[{{242.84, 83.366, 19.482}, {233.95, 80.314, 36.853}, {226.52, 99.359, 36.853}, {235.12, 103.13, 19.482}}], Polygon[{{233.95, 80.314, 36.853}, {220.2, 75.596, 50.23}, {213.21, 93.521, 50.23}, {226.52, 99.359, 36.853}}], Polygon[{{220.2, 75.596, 50.23}, {203.09, 69.722, 58.164}, {196.64, 86.256, 58.164}, {213.21, 93.521, 50.23}}], Polygon[{{203.09, 69.722, 58.164}, {184.48, 63.331, 59.795}, {178.62, 78.349, 59.795}, {196.64, 86.256, 58.164}}], Polygon[{{184.48, 63.331, 59.795}, {166.37, 57.114, 54.946}, {161.08, 70.658, 54.946}, {178.62, 78.349, 59.795}}], Polygon[{{166.37, 57.114, 54.946}, {150.73, 51.745, 44.143}, {145.94, 64.015, 44.143}, {161.08, 70.658, 54.946}}], Polygon[{{150.73, 51.745, 44.143}, {139.25, 47.806, 28.557}, {134.83, 59.142, 28.557}, {145.94, 64.015, 44.143}}], Polygon[{{139.25, 47.806, 28.557}, {133.19, 45.724, 9.8757}, {128.96, 56.566, 9.8757}, {134.83, 59.142, 28.557}}], Polygon[{{133.19, 45.724, 9.8757}, {133.19, 45.724, -9.8757}, {128.96, 56.566, -9.8757}, {128.96, 56.566, 9.8757}}], Polygon[{{133.19, 45.724, -9.8757}, {139.25, 47.806, -28.557}, {134.83, 59.142, -28.557}, {128.96, 56.566, -9.8757}}], Polygon[{{139.25, 47.806, -28.557}, {150.73, 51.745, -44.143}, {145.94, 64.015, -44.143}, {134.83, 59.142, -28.557}}], Polygon[{{150.73, 51.745, -44.143}, {166.37, 57.114, -54.946}, {161.08, 70.658, -54.946}, {145.94, 64.015, -44.143}}], Polygon[{{166.37, 57.114, -54.946}, {184.48, 63.331, -59.795}, {178.62, 78.349, -59.795}, {161.08, 70.658, -54.946}}], Polygon[{{184.48, 63.331, -59.795}, {203.09, 69.722, -58.164}, {196.64, 86.256, -58.164}, {178.62, 78.349, -59.795}}], Polygon[{{203.09, 69.722, -58.164}, {220.2, 75.596, -50.23}, {213.21, 93.521, -50.23}, {196.64, 86.256, -58.164}}], Polygon[{{220.2, 75.596, -50.23}, {233.95, 80.314, -36.853}, {226.52, 99.359, -36.853}, {213.21, 93.521, -50.23}}], Polygon[{{233.95, 80.314, -36.853}, {242.84, 83.366, -19.482}, {235.12, 103.13, -19.482}, {226.52, 99.359, -36.853}}], Polygon[{{242.84, 83.366, -19.482}, {245.91, 84.422, -1.4695*^-14}, {238.1, 104.44, -1.4695*^-14}, {235.12, 103.13, -19.482}}], Polygon[{{238.1, 104.44, 0.}, {235.12, 103.13, 19.482}, {225.8, 122.2, 19.482}, {228.66, 123.75, 0.}}], Polygon[{{235.12, 103.13, 19.482}, {226.52, 99.359, 36.853}, {217.54, 117.72, 36.853}, {225.8, 122.2, 19.482}}], Polygon[{{226.52, 99.359, 36.853}, {213.21, 93.521, 50.23}, {204.76, 110.81, 50.23}, {217.54, 117.72, 36.853}}], Polygon[{{213.21, 93.521, 50.23}, {196.64, 86.256, 58.164}, {188.85, 102.2, 58.164}, {204.76, 110.81, 50.23}}], Polygon[{{196.64, 86.256, 58.164}, {178.62, 78.349, 59.795}, {171.54, 92.831, 59.795}, {188.85, 102.2, 58.164}}], Polygon[{{178.62, 78.349, 59.795}, {161.08, 70.658, 54.946}, {154.7, 83.718, 54.946}, {171.54, 92.831, 59.795}}], Polygon[{{161.08, 70.658, 54.946}, {145.94, 64.015, 44.143}, {140.16, 75.848, 44.143}, {154.7, 83.718, 54.946}}], Polygon[{{145.94, 64.015, 44.143}, {134.83, 59.142, 28.557}, {129.49, 70.074, 28.557}, {140.16, 75.848, 44.143}}], Polygon[{{134.83, 59.142, 28.557}, {128.96, 56.566, 9.8757}, {123.85, 67.022, 9.8757}, {129.49, 70.074, 28.557}}], Polygon[{{128.96, 56.566, 9.8757}, {128.96, 56.566, -9.8757}, {123.85, 67.022, -9.8757}, {123.85, 67.022, 9.8757}}], Polygon[{{128.96, 56.566, -9.8757}, {134.83, 59.142, -28.557}, {129.49, 70.074, -28.557}, {123.85, 67.022, -9.8757}}], Polygon[{{134.83, 59.142, -28.557}, {145.94, 64.015, -44.143}, {140.16, 75.848, -44.143}, {129.49, 70.074, -28.557}}], Polygon[{{145.94, 64.015, -44.143}, {161.08, 70.658, -54.946}, {154.7, 83.718, -54.946}, {140.16, 75.848, -44.143}}], Polygon[{{161.08, 70.658, -54.946}, {178.62, 78.349, -59.795}, {171.54, 92.831, -59.795}, {154.7, 83.718, -54.946}}], Polygon[{{178.62, 78.349, -59.795}, {196.64, 86.256, -58.164}, {188.85, 102.2, -58.164}, {171.54, 92.831, -59.795}}], Polygon[{{196.64, 86.256, -58.164}, {213.21, 93.521, -50.23}, {204.76, 110.81, -50.23}, {188.85, 102.2, -58.164}}], Polygon[{{213.21, 93.521, -50.23}, {226.52, 99.359, -36.853}, {217.54, 117.72, -36.853}, {204.76, 110.81, -50.23}}], Polygon[{{226.52, 99.359, -36.853}, {235.12, 103.13, -19.482}, {225.8, 122.2, -19.482}, {217.54, 117.72, -36.853}}], Polygon[{{235.12, 103.13, -19.482}, {238.1, 104.44, -1.4695*^-14}, {228.66, 123.75, -1.4695*^-14}, {225.8, 122.2, -19.482}}], Polygon[{{228.66, 123.75, 0.}, {225.8, 122.2, 19.482}, {214.94, 140.43, 19.482}, {217.66, 142.21, 0.}}], Polygon[{{225.8, 122.2, 19.482}, {217.54, 117.72, 36.853}, {207.07, 135.29, 36.853}, {214.94, 140.43, 19.482}}], Polygon[{{217.54, 117.72, 36.853}, {204.76, 110.81, 50.23}, {194.91, 127.34, 50.23}, {207.07, 135.29, 36.853}}], Polygon[{{204.76, 110.81, 50.23}, {188.85, 102.2, 58.164}, {179.76, 117.45, 58.164}, {194.91, 127.34, 50.23}}], Polygon[{{188.85, 102.2, 58.164}, {171.54, 92.831, 59.795}, {163.29, 106.68, 59.795}, {179.76, 117.45, 58.164}}], Polygon[{{171.54, 92.831, 59.795}, {154.7, 83.718, 54.946}, {147.26, 96.207, 54.946}, {163.29, 106.68, 59.795}}], Polygon[{{154.7, 83.718, 54.946}, {140.16, 75.848, 44.143}, {133.41, 87.163, 44.143}, {147.26, 96.207, 54.946}}], Polygon[{{140.16, 75.848, 44.143}, {129.49, 70.074, 28.557}, {123.26, 80.528, 28.557}, {133.41, 87.163, 44.143}}], Polygon[{{129.49, 70.074, 28.557}, {123.85, 67.022, 9.8757}, {117.89, 77.02, 9.8757}, {123.26, 80.528, 28.557}}], Polygon[{{123.85, 67.022, 9.8757}, {123.85, 67.022, -9.8757}, {117.89, 77.02, -9.8757}, {117.89, 77.02, 9.8757}}], Polygon[{{123.85, 67.022, -9.8757}, {129.49, 70.074, -28.557}, {123.26, 80.528, -28.557}, {117.89, 77.02, -9.8757}}], Polygon[{{129.49, 70.074, -28.557}, {140.16, 75.848, -44.143}, {133.41, 87.163, -44.143}, {123.26, 80.528, -28.557}}], Polygon[{{140.16, 75.848, -44.143}, {154.7, 83.718, -54.946}, {147.26, 96.207, -54.946}, {133.41, 87.163, -44.143}}], Polygon[{{154.7, 83.718, -54.946}, {171.54, 92.831, -59.795}, {163.29, 106.68, -59.795}, {147.26, 96.207, -54.946}}], Polygon[{{171.54, 92.831, -59.795}, {188.85, 102.2, -58.164}, {179.76, 117.45, -58.164}, {163.29, 106.68, -59.795}}], Polygon[{{188.85, 102.2, -58.164}, {204.76, 110.81, -50.23}, {194.91, 127.34, -50.23}, {179.76, 117.45, -58.164}}], Polygon[{{204.76, 110.81, -50.23}, {217.54, 117.72, -36.853}, {207.07, 135.29, -36.853}, {194.91, 127.34, -50.23}}], Polygon[{{217.54, 117.72, -36.853}, {225.8, 122.2, -19.482}, {214.94, 140.43, -19.482}, {207.07, 135.29, -36.853}}], Polygon[{{225.8, 122.2, -19.482}, {228.66, 123.75, -1.4695*^-14}, {217.66, 142.21, -1.4695*^-14}, {214.94, 140.43, -19.482}}], Polygon[{{217.66, 142.21, 0.}, {214.94, 140.43, 19.482}, {202.61, 157.7, 19.482}, {205.18, 159.7, 0.}}], Polygon[{{214.94, 140.43, 19.482}, {207.07, 135.29, 36.853}, {195.19, 151.92, 36.853}, {202.61, 157.7, 19.482}}], Polygon[{{207.07, 135.29, 36.853}, {194.91, 127.34, 50.23}, {183.73, 143., 50.23}, {195.19, 151.92, 36.853}}], Polygon[{{194.91, 127.34, 50.23}, {179.76, 117.45, 58.164}, {169.45, 131.89, 58.164}, {183.73, 143., 50.23}}], Polygon[{{179.76, 117.45, 58.164}, {163.29, 106.68, 59.795}, {153.92, 119.8, 59.795}, {169.45, 131.89, 58.164}}], Polygon[{{163.29, 106.68, 59.795}, {147.26, 96.207, 54.946}, {138.81, 108.04, 54.946}, {153.92, 119.8, 59.795}}], Polygon[{{147.26, 96.207, 54.946}, {133.41, 87.163, 44.143}, {125.76, 97.883, 44.143}, {138.81, 108.04, 54.946}}], Polygon[{{133.41, 87.163, 44.143}, {123.26, 80.528, 28.557}, {116.19, 90.432, 28.557}, {125.76, 97.883, 44.143}}], Polygon[{{123.26, 80.528, 28.557}, {117.89, 77.02, 9.8757}, {111.13, 86.492, 9.8757}, {116.19, 90.432, 28.557}}], Polygon[{{117.89, 77.02, 9.8757}, {117.89, 77.02, -9.8757}, {111.13, 86.492, -9.8757}, {111.13, 86.492, 9.8757}}], Polygon[{{117.89, 77.02, -9.8757}, {123.26, 80.528, -28.557}, {116.19, 90.432, -28.557}, {111.13, 86.492, -9.8757}}], Polygon[{{123.26, 80.528, -28.557}, {133.41, 87.163, -44.143}, {125.76, 97.883, -44.143}, {116.19, 90.432, -28.557}}], Polygon[{{133.41, 87.163, -44.143}, {147.26, 96.207, -54.946}, {138.81, 108.04, -54.946}, {125.76, 97.883, -44.143}}], Polygon[{{147.26, 96.207, -54.946}, {163.29, 106.68, -59.795}, {153.92, 119.8, -59.795}, {138.81, 108.04, -54.946}}], Polygon[{{163.29, 106.68, -59.795}, {179.76, 117.45, -58.164}, {169.45, 131.89, -58.164}, {153.92, 119.8, -59.795}}], Polygon[{{179.76, 117.45, -58.164}, {194.91, 127.34, -50.23}, {183.73, 143., -50.23}, {169.45, 131.89, -58.164}}], Polygon[{{194.91, 127.34, -50.23}, {207.07, 135.29, -36.853}, {195.19, 151.92, -36.853}, {183.73, 143., -50.23}}], Polygon[{{207.07, 135.29, -36.853}, {214.94, 140.43, -19.482}, {202.61, 157.7, -19.482}, {195.19, 151.92, -36.853}}], Polygon[{{214.94, 140.43, -19.482}, {217.66, 142.21, -1.4695*^-14}, {205.18, 159.7, -1.4695*^-14}, {202.61, 157.7, -19.482}}], Polygon[{{205.18, 159.7, 0.}, {202.61, 157.7, 19.482}, {188.9, 173.89, 19.482}, {191.29, 176.09, 0.}}], Polygon[{{202.61, 157.7, 19.482}, {195.19, 151.92, 36.853}, {181.98, 167.52, 36.853}, {188.9, 173.89, 19.482}}], Polygon[{{195.19, 151.92, 36.853}, {183.73, 143., 50.23}, {171.29, 157.68, 50.23}, {181.98, 167.52, 36.853}}], Polygon[{{183.73, 143., 50.23}, {169.45, 131.89, 58.164}, {157.98, 145.43, 58.164}, {171.29, 157.68, 50.23}}], Polygon[{{169.45, 131.89, 58.164}, {153.92, 119.8, 59.795}, {143.5, 132.1, 59.795}, {157.98, 145.43, 58.164}}], Polygon[{{153.92, 119.8, 59.795}, {138.81, 108.04, 54.946}, {129.41, 119.13, 54.946}, {143.5, 132.1, 59.795}}], Polygon[{{138.81, 108.04, 54.946}, {125.76, 97.883, 44.143}, {117.25, 107.93, 44.143}, {129.41, 119.13, 54.946}}], Polygon[{{125.76, 97.883, 44.143}, {116.19, 90.432, 28.557}, {108.32, 99.717, 28.557}, {117.25, 107.93, 44.143}}], Polygon[{{116.19, 90.432, 28.557}, {111.13, 86.492, 9.8757}, {103.6, 95.374, 9.8757}, {108.32, 99.717, 28.557}}], Polygon[{{111.13, 86.492, 9.8757}, {111.13, 86.492, -9.8757}, {103.6, 95.374, -9.8757}, {103.6, 95.374, 9.8757}}], Polygon[{{111.13, 86.492, -9.8757}, {116.19, 90.432, -28.557}, {108.32, 99.717, -28.557}, {103.6, 95.374, -9.8757}}], Polygon[{{116.19, 90.432, -28.557}, {125.76, 97.883, -44.143}, {117.25, 107.93, -44.143}, {108.32, 99.717, -28.557}}], Polygon[{{125.76, 97.883, -44.143}, {138.81, 108.04, -54.946}, {129.41, 119.13, -54.946}, {117.25, 107.93, -44.143}}], Polygon[{{138.81, 108.04, -54.946}, {153.92, 119.8, -59.795}, {143.5, 132.1, -59.795}, {129.41, 119.13, -54.946}}], Polygon[{{153.92, 119.8, -59.795}, {169.45, 131.89, -58.164}, {157.98, 145.43, -58.164}, {143.5, 132.1, -59.795}}], Polygon[{{169.45, 131.89, -58.164}, {183.73, 143., -50.23}, {171.29, 157.68, -50.23}, {157.98, 145.43, -58.164}}], Polygon[{{183.73, 143., -50.23}, {195.19, 151.92, -36.853}, {181.98, 167.52, -36.853}, {171.29, 157.68, -50.23}}], Polygon[{{195.19, 151.92, -36.853}, {202.61, 157.7, -19.482}, {188.9, 173.89, -19.482}, {181.98, 167.52, -36.853}}], Polygon[{{202.61, 157.7, -19.482}, {205.18, 159.7, -1.4695*^-14}, {191.29, 176.09, -1.4695*^-14}, {188.9, 173.89, -19.482}}], Polygon[{{191.29, 176.09, 0.}, {188.9, 173.89, 19.482}, {173.89, 188.9, 19.482}, {176.09, 191.29, 0.}}], Polygon[{{188.9, 173.89, 19.482}, {181.98, 167.52, 36.853}, {167.52, 181.98, 36.853}, {173.89, 188.9, 19.482}}], Polygon[{{181.98, 167.52, 36.853}, {171.29, 157.68, 50.23}, {157.68, 171.29, 50.23}, {167.52, 181.98, 36.853}}], Polygon[{{171.29, 157.68, 50.23}, {157.98, 145.43, 58.164}, {145.43, 157.98, 58.164}, {157.68, 171.29, 50.23}}], Polygon[{{157.98, 145.43, 58.164}, {143.5, 132.1, 59.795}, {132.1, 143.5, 59.795}, {145.43, 157.98, 58.164}}], Polygon[{{143.5, 132.1, 59.795}, {129.41, 119.13, 54.946}, {119.13, 129.41, 54.946}, {132.1, 143.5, 59.795}}], Polygon[{{129.41, 119.13, 54.946}, {117.25, 107.93, 44.143}, {107.93, 117.25, 44.143}, {119.13, 129.41, 54.946}}], Polygon[{{117.25, 107.93, 44.143}, {108.32, 99.717, 28.557}, {99.717, 108.32, 28.557}, {107.93, 117.25, 44.143}}], Polygon[{{108.32, 99.717, 28.557}, {103.6, 95.374, 9.8757}, {95.374, 103.6, 9.8757}, {99.717, 108.32, 28.557}}], Polygon[{{103.6, 95.374, 9.8757}, {103.6, 95.374, -9.8757}, {95.374, 103.6, -9.8757}, {95.374, 103.6, 9.8757}}], Polygon[{{103.6, 95.374, -9.8757}, {108.32, 99.717, -28.557}, {99.717, 108.32, -28.557}, {95.374, 103.6, -9.8757}}], Polygon[{{108.32, 99.717, -28.557}, {117.25, 107.93, -44.143}, {107.93, 117.25, -44.143}, {99.717, 108.32, -28.557}}], Polygon[{{117.25, 107.93, -44.143}, {129.41, 119.13, -54.946}, {119.13, 129.41, -54.946}, {107.93, 117.25, -44.143}}], Polygon[{{129.41, 119.13, -54.946}, {143.5, 132.1, -59.795}, {132.1, 143.5, -59.795}, {119.13, 129.41, -54.946}}], Polygon[{{143.5, 132.1, -59.795}, {157.98, 145.43, -58.164}, {145.43, 157.98, -58.164}, {132.1, 143.5, -59.795}}], Polygon[{{157.98, 145.43, -58.164}, {171.29, 157.68, -50.23}, {157.68, 171.29, -50.23}, {145.43, 157.98, -58.164}}], Polygon[{{171.29, 157.68, -50.23}, {181.98, 167.52, -36.853}, {167.52, 181.98, -36.853}, {157.68, 171.29, -50.23}}], Polygon[{{181.98, 167.52, -36.853}, {188.9, 173.89, -19.482}, {173.89, 188.9, -19.482}, {167.52, 181.98, -36.853}}], Polygon[{{188.9, 173.89, -19.482}, {191.29, 176.09, -1.4695*^-14}, {176.09, 191.29, -1.4695*^-14}, {173.89, 188.9, -19.482}}], Polygon[{{176.09, 191.29, 0.}, {173.89, 188.9, 19.482}, {157.7, 202.61, 19.482}, {159.7, 205.18, 0.}}], Polygon[{{173.89, 188.9, 19.482}, {167.52, 181.98, 36.853}, {151.92, 195.19, 36.853}, {157.7, 202.61, 19.482}}], Polygon[{{167.52, 181.98, 36.853}, {157.68, 171.29, 50.23}, {143., 183.73, 50.23}, {151.92, 195.19, 36.853}}], Polygon[{{157.68, 171.29, 50.23}, {145.43, 157.98, 58.164}, {131.89, 169.45, 58.164}, {143., 183.73, 50.23}}], Polygon[{{145.43, 157.98, 58.164}, {132.1, 143.5, 59.795}, {119.8, 153.92, 59.795}, {131.89, 169.45, 58.164}}], Polygon[{{132.1, 143.5, 59.795}, {119.13, 129.41, 54.946}, {108.04, 138.81, 54.946}, {119.8, 153.92, 59.795}}], Polygon[{{119.13, 129.41, 54.946}, {107.93, 117.25, 44.143}, {97.883, 125.76, 44.143}, {108.04, 138.81, 54.946}}], Polygon[{{107.93, 117.25, 44.143}, {99.717, 108.32, 28.557}, {90.432, 116.19, 28.557}, {97.883, 125.76, 44.143}}], Polygon[{{99.717, 108.32, 28.557}, {95.374, 103.6, 9.8757}, {86.492, 111.13, 9.8757}, {90.432, 116.19, 28.557}}], Polygon[{{95.374, 103.6, 9.8757}, {95.374, 103.6, -9.8757}, {86.492, 111.13, -9.8757}, {86.492, 111.13, 9.8757}}], Polygon[{{95.374, 103.6, -9.8757}, {99.717, 108.32, -28.557}, {90.432, 116.19, -28.557}, {86.492, 111.13, -9.8757}}], Polygon[{{99.717, 108.32, -28.557}, {107.93, 117.25, -44.143}, {97.883, 125.76, -44.143}, {90.432, 116.19, -28.557}}], Polygon[{{107.93, 117.25, -44.143}, {119.13, 129.41, -54.946}, {108.04, 138.81, -54.946}, {97.883, 125.76, -44.143}}], Polygon[{{119.13, 129.41, -54.946}, {132.1, 143.5, -59.795}, {119.8, 153.92, -59.795}, {108.04, 138.81, -54.946}}], Polygon[{{132.1, 143.5, -59.795}, {145.43, 157.98, -58.164}, {131.89, 169.45, -58.164}, {119.8, 153.92, -59.795}}], Polygon[{{145.43, 157.98, -58.164}, {157.68, 171.29, -50.23}, {143., 183.73, -50.23}, {131.89, 169.45, -58.164}}], Polygon[{{157.68, 171.29, -50.23}, {167.52, 181.98, -36.853}, {151.92, 195.19, -36.853}, {143., 183.73, -50.23}}], Polygon[{{167.52, 181.98, -36.853}, {173.89, 188.9, -19.482}, {157.7, 202.61, -19.482}, {151.92, 195.19, -36.853}}], Polygon[{{173.89, 188.9, -19.482}, {176.09, 191.29, -1.4695*^-14}, {159.7, 205.18, -1.4695*^-14}, {157.7, 202.61, -19.482}}], Polygon[{{159.7, 205.18, 0.}, {157.7, 202.61, 19.482}, {140.43, 214.94, 19.482}, {142.21, 217.66, 0.}}], Polygon[{{157.7, 202.61, 19.482}, {151.92, 195.19, 36.853}, {135.29, 207.07, 36.853}, {140.43, 214.94, 19.482}}], Polygon[{{151.92, 195.19, 36.853}, {143., 183.73, 50.23}, {127.34, 194.91, 50.23}, {135.29, 207.07, 36.853}}], Polygon[{{143., 183.73, 50.23}, {131.89, 169.45, 58.164}, {117.45, 179.76, 58.164}, {127.34, 194.91, 50.23}}], Polygon[{{131.89, 169.45, 58.164}, {119.8, 153.92, 59.795}, {106.68, 163.29, 59.795}, {117.45, 179.76, 58.164}}], Polygon[{{119.8, 153.92, 59.795}, {108.04, 138.81, 54.946}, {96.207, 147.26, 54.946}, {106.68, 163.29, 59.795}}], Polygon[{{108.04, 138.81, 54.946}, {97.883, 125.76, 44.143}, {87.163, 133.41, 44.143}, {96.207, 147.26, 54.946}}], Polygon[{{97.883, 125.76, 44.143}, {90.432, 116.19, 28.557}, {80.528, 123.26, 28.557}, {87.163, 133.41, 44.143}}], Polygon[{{90.432, 116.19, 28.557}, {86.492, 111.13, 9.8757}, {77.02, 117.89, 9.8757}, {80.528, 123.26, 28.557}}], Polygon[{{86.492, 111.13, 9.8757}, {86.492, 111.13, -9.8757}, {77.02, 117.89, -9.8757}, {77.02, 117.89, 9.8757}}], Polygon[{{86.492, 111.13, -9.8757}, {90.432, 116.19, -28.557}, {80.528, 123.26, -28.557}, {77.02, 117.89, -9.8757}}], Polygon[{{90.432, 116.19, -28.557}, {97.883, 125.76, -44.143}, {87.163, 133.41, -44.143}, {80.528, 123.26, -28.557}}], Polygon[{{97.883, 125.76, -44.143}, {108.04, 138.81, -54.946}, {96.207, 147.26, -54.946}, {87.163, 133.41, -44.143}}], Polygon[{{108.04, 138.81, -54.946}, {119.8, 153.92, -59.795}, {106.68, 163.29, -59.795}, {96.207, 147.26, -54.946}}], Polygon[{{119.8, 153.92, -59.795}, {131.89, 169.45, -58.164}, {117.45, 179.76, -58.164}, {106.68, 163.29, -59.795}}], Polygon[{{131.89, 169.45, -58.164}, {143., 183.73, -50.23}, {127.34, 194.91, -50.23}, {117.45, 179.76, -58.164}}], Polygon[{{143., 183.73, -50.23}, {151.92, 195.19, -36.853}, {135.29, 207.07, -36.853}, {127.34, 194.91, -50.23}}], Polygon[{{151.92, 195.19, -36.853}, {157.7, 202.61, -19.482}, {140.43, 214.94, -19.482}, {135.29, 207.07, -36.853}}], Polygon[{{157.7, 202.61, -19.482}, {159.7, 205.18, -1.4695*^-14}, {142.21, 217.66, -1.4695*^-14}, {140.43, 214.94, -19.482}}], Polygon[{{142.21, 217.66, 0.}, {140.43, 214.94, 19.482}, {122.2, 225.8, 19.482}, {123.75, 228.66, 0.}}], Polygon[{{140.43, 214.94, 19.482}, {135.29, 207.07, 36.853}, {117.72, 217.54, 36.853}, {122.2, 225.8, 19.482}}], Polygon[{{135.29, 207.07, 36.853}, {127.34, 194.91, 50.23}, {110.81, 204.76, 50.23}, {117.72, 217.54, 36.853}}], Polygon[{{127.34, 194.91, 50.23}, {117.45, 179.76, 58.164}, {102.2, 188.85, 58.164}, {110.81, 204.76, 50.23}}], Polygon[{{117.45, 179.76, 58.164}, {106.68, 163.29, 59.795}, {92.831, 171.54, 59.795}, {102.2, 188.85, 58.164}}], Polygon[{{106.68, 163.29, 59.795}, {96.207, 147.26, 54.946}, {83.718, 154.7, 54.946}, {92.831, 171.54, 59.795}}], Polygon[{{96.207, 147.26, 54.946}, {87.163, 133.41, 44.143}, {75.848, 140.16, 44.143}, {83.718, 154.7, 54.946}}], Polygon[{{87.163, 133.41, 44.143}, {80.528, 123.26, 28.557}, {70.074, 129.49, 28.557}, {75.848, 140.16, 44.143}}], Polygon[{{80.528, 123.26, 28.557}, {77.02, 117.89, 9.8757}, {67.022, 123.85, 9.8757}, {70.074, 129.49, 28.557}}], Polygon[{{77.02, 117.89, 9.8757}, {77.02, 117.89, -9.8757}, {67.022, 123.85, -9.8757}, {67.022, 123.85, 9.8757}}], Polygon[{{77.02, 117.89, -9.8757}, {80.528, 123.26, -28.557}, {70.074, 129.49, -28.557}, {67.022, 123.85, -9.8757}}], Polygon[{{80.528, 123.26, -28.557}, {87.163, 133.41, -44.143}, {75.848, 140.16, -44.143}, {70.074, 129.49, -28.557}}], Polygon[{{87.163, 133.41, -44.143}, {96.207, 147.26, -54.946}, {83.718, 154.7, -54.946}, {75.848, 140.16, -44.143}}], Polygon[{{96.207, 147.26, -54.946}, {106.68, 163.29, -59.795}, {92.831, 171.54, -59.795}, {83.718, 154.7, -54.946}}], Polygon[{{106.68, 163.29, -59.795}, {117.45, 179.76, -58.164}, {102.2, 188.85, -58.164}, {92.831, 171.54, -59.795}}], Polygon[{{117.45, 179.76, -58.164}, {127.34, 194.91, -50.23}, {110.81, 204.76, -50.23}, {102.2, 188.85, -58.164}}], Polygon[{{127.34, 194.91, -50.23}, {135.29, 207.07, -36.853}, {117.72, 217.54, -36.853}, {110.81, 204.76, -50.23}}], Polygon[{{135.29, 207.07, -36.853}, {140.43, 214.94, -19.482}, {122.2, 225.8, -19.482}, {117.72, 217.54, -36.853}}], Polygon[{{140.43, 214.94, -19.482}, {142.21, 217.66, -1.4695*^-14}, {123.75, 228.66, -1.4695*^-14}, {122.2, 225.8, -19.482}}], Polygon[{{123.75, 228.66, 0.}, {122.2, 225.8, 19.482}, {103.13, 235.12, 19.482}, {104.44, 238.1, 0.}}], Polygon[{{122.2, 225.8, 19.482}, {117.72, 217.54, 36.853}, {99.359, 226.52, 36.853}, {103.13, 235.12, 19.482}}], Polygon[{{117.72, 217.54, 36.853}, {110.81, 204.76, 50.23}, {93.521, 213.21, 50.23}, {99.359, 226.52, 36.853}}], Polygon[{{110.81, 204.76, 50.23}, {102.2, 188.85, 58.164}, {86.256, 196.64, 58.164}, {93.521, 213.21, 50.23}}], Polygon[{{102.2, 188.85, 58.164}, {92.831, 171.54, 59.795}, {78.349, 178.62, 59.795}, {86.256, 196.64, 58.164}}], Polygon[{{92.831, 171.54, 59.795}, {83.718, 154.7, 54.946}, {70.658, 161.08, 54.946}, {78.349, 178.62, 59.795}}], Polygon[{{83.718, 154.7, 54.946}, {75.848, 140.16, 44.143}, {64.015, 145.94, 44.143}, {70.658, 161.08, 54.946}}], Polygon[{{75.848, 140.16, 44.143}, {70.074, 129.49, 28.557}, {59.142, 134.83, 28.557}, {64.015, 145.94, 44.143}}], Polygon[{{70.074, 129.49, 28.557}, {67.022, 123.85, 9.8757}, {56.566, 128.96, 9.8757}, {59.142, 134.83, 28.557}}], Polygon[{{67.022, 123.85, 9.8757}, {67.022, 123.85, -9.8757}, {56.566, 128.96, -9.8757}, {56.566, 128.96, 9.8757}}], Polygon[{{67.022, 123.85, -9.8757}, {70.074, 129.49, -28.557}, {59.142, 134.83, -28.557}, {56.566, 128.96, -9.8757}}], Polygon[{{70.074, 129.49, -28.557}, {75.848, 140.16, -44.143}, {64.015, 145.94, -44.143}, {59.142, 134.83, -28.557}}], Polygon[{{75.848, 140.16, -44.143}, {83.718, 154.7, -54.946}, {70.658, 161.08, -54.946}, {64.015, 145.94, -44.143}}], Polygon[{{83.718, 154.7, -54.946}, {92.831, 171.54, -59.795}, {78.349, 178.62, -59.795}, {70.658, 161.08, -54.946}}], Polygon[{{92.831, 171.54, -59.795}, {102.2, 188.85, -58.164}, {86.256, 196.64, -58.164}, {78.349, 178.62, -59.795}}], Polygon[{{102.2, 188.85, -58.164}, {110.81, 204.76, -50.23}, {93.521, 213.21, -50.23}, {86.256, 196.64, -58.164}}], Polygon[{{110.81, 204.76, -50.23}, {117.72, 217.54, -36.853}, {99.359, 226.52, -36.853}, {93.521, 213.21, -50.23}}], Polygon[{{117.72, 217.54, -36.853}, {122.2, 225.8, -19.482}, {103.13, 235.12, -19.482}, {99.359, 226.52, -36.853}}], Polygon[{{122.2, 225.8, -19.482}, {123.75, 228.66, -1.4695*^-14}, {104.44, 238.1, -1.4695*^-14}, {103.13, 235.12, -19.482}}], Polygon[{{104.44, 238.1, 0.}, {103.13, 235.12, 19.482}, {83.366, 242.84, 19.482}, {84.422, 245.91, 0.}}], Polygon[{{103.13, 235.12, 19.482}, {99.359, 226.52, 36.853}, {80.314, 233.95, 36.853}, {83.366, 242.84, 19.482}}], Polygon[{{99.359, 226.52, 36.853}, {93.521, 213.21, 50.23}, {75.596, 220.2, 50.23}, {80.314, 233.95, 36.853}}], Polygon[{{93.521, 213.21, 50.23}, {86.256, 196.64, 58.164}, {69.722, 203.09, 58.164}, {75.596, 220.2, 50.23}}], Polygon[{{86.256, 196.64, 58.164}, {78.349, 178.62, 59.795}, {63.331, 184.48, 59.795}, {69.722, 203.09, 58.164}}], Polygon[{{78.349, 178.62, 59.795}, {70.658, 161.08, 54.946}, {57.114, 166.37, 54.946}, {63.331, 184.48, 59.795}}], Polygon[{{70.658, 161.08, 54.946}, {64.015, 145.94, 44.143}, {51.745, 150.73, 44.143}, {57.114, 166.37, 54.946}}], Polygon[{{64.015, 145.94, 44.143}, {59.142, 134.83, 28.557}, {47.806, 139.25, 28.557}, {51.745, 150.73, 44.143}}], Polygon[{{59.142, 134.83, 28.557}, {56.566, 128.96, 9.8757}, {45.724, 133.19, 9.8757}, {47.806, 139.25, 28.557}}], Polygon[{{56.566, 128.96, 9.8757}, {56.566, 128.96, -9.8757}, {45.724, 133.19, -9.8757}, {45.724, 133.19, 9.8757}}], Polygon[{{56.566, 128.96, -9.8757}, {59.142, 134.83, -28.557}, {47.806, 139.25, -28.557}, {45.724, 133.19, -9.8757}}], Polygon[{{59.142, 134.83, -28.557}, {64.015, 145.94, -44.143}, {51.745, 150.73, -44.143}, {47.806, 139.25, -28.557}}], Polygon[{{64.015, 145.94, -44.143}, {70.658, 161.08, -54.946}, {57.114, 166.37, -54.946}, {51.745, 150.73, -44.143}}], Polygon[{{70.658, 161.08, -54.946}, {78.349, 178.62, -59.795}, {63.331, 184.48, -59.795}, {57.114, 166.37, -54.946}}], Polygon[{{78.349, 178.62, -59.795}, {86.256, 196.64, -58.164}, {69.722, 203.09, -58.164}, {63.331, 184.48, -59.795}}], Polygon[{{86.256, 196.64, -58.164}, {93.521, 213.21, -50.23}, {75.596, 220.2, -50.23}, {69.722, 203.09, -58.164}}], Polygon[{{93.521, 213.21, -50.23}, {99.359, 226.52, -36.853}, {80.314, 233.95, -36.853}, {75.596, 220.2, -50.23}}], Polygon[{{99.359, 226.52, -36.853}, {103.13, 235.12, -19.482}, {83.366, 242.84, -19.482}, {80.314, 233.95, -36.853}}], Polygon[{{103.13, 235.12, -19.482}, {104.44, 238.1, -1.4695*^-14}, {84.422, 245.91, -1.4695*^-14}, {83.366, 242.84, -19.482}}], Polygon[{{84.422, 245.91, 0.}, {83.366, 242.84, 19.482}, {63.028, 248.89, 19.482}, {63.826, 252.04, 0.}}], Polygon[{{83.366, 242.84, 19.482}, {80.314, 233.95, 36.853}, {60.72, 239.78, 36.853}, {63.028, 248.89, 19.482}}], Polygon[{{80.314, 233.95, 36.853}, {75.596, 220.2, 50.23}, {57.153, 225.69, 50.23}, {60.72, 239.78, 36.853}}], Polygon[{{75.596, 220.2, 50.23}, {69.722, 203.09, 58.164}, {52.713, 208.16, 58.164}, {57.153, 225.69, 50.23}}], Polygon[{{69.722, 203.09, 58.164}, {63.331, 184.48, 59.795}, {47.881, 189.08, 59.795}, {52.713, 208.16, 58.164}}], Polygon[{{63.331, 184.48, 59.795}, {57.114, 166.37, 54.946}, {43.18, 170.52, 54.946}, {47.881, 189.08, 59.795}}], Polygon[{{57.114, 166.37, 54.946}, {51.745, 150.73, 44.143}, {39.121, 154.49, 44.143}, {43.18, 170.52, 54.946}}], Polygon[{{51.745, 150.73, 44.143}, {47.806, 139.25, 28.557}, {36.143, 142.73, 28.557}, {39.121, 154.49, 44.143}}], Polygon[{{47.806, 139.25, 28.557}, {45.724, 133.19, 9.8757}, {34.569, 136.51, 9.8757}, {36.143, 142.73, 28.557}}], Polygon[{{45.724, 133.19, 9.8757}, {45.724, 133.19, -9.8757}, {34.569, 136.51, -9.8757}, {34.569, 136.51, 9.8757}}], Polygon[{{45.724, 133.19, -9.8757}, {47.806, 139.25, -28.557}, {36.143, 142.73, -28.557}, {34.569, 136.51, -9.8757}}], Polygon[{{47.806, 139.25, -28.557}, {51.745, 150.73, -44.143}, {39.121, 154.49, -44.143}, {36.143, 142.73, -28.557}}], Polygon[{{51.745, 150.73, -44.143}, {57.114, 166.37, -54.946}, {43.18, 170.52, -54.946}, {39.121, 154.49, -44.143}}], Polygon[{{57.114, 166.37, -54.946}, {63.331, 184.48, -59.795}, {47.881, 189.08, -59.795}, {43.18, 170.52, -54.946}}], Polygon[{{63.331, 184.48, -59.795}, {69.722, 203.09, -58.164}, {52.713, 208.16, -58.164}, {47.881, 189.08, -59.795}}], Polygon[{{69.722, 203.09, -58.164}, {75.596, 220.2, -50.23}, {57.153, 225.69, -50.23}, {52.713, 208.16, -58.164}}], Polygon[{{75.596, 220.2, -50.23}, {80.314, 233.95, -36.853}, {60.72, 239.78, -36.853}, {57.153, 225.69, -50.23}}], Polygon[{{80.314, 233.95, -36.853}, {83.366, 242.84, -19.482}, {63.028, 248.89, -19.482}, {60.72, 239.78, -36.853}}], Polygon[{{83.366, 242.84, -19.482}, {84.422, 245.91, -1.4695*^-14}, {63.826, 252.04, -1.4695*^-14}, {63.028, 248.89, -19.482}}], Polygon[{{63.826, 252.04, 0.}, {63.028, 248.89, 19.482}, {42.26, 253.25, 19.482}, {42.795, 256.45, 0.}}], Polygon[{{63.028, 248.89, 19.482}, {60.72, 239.78, 36.853}, {40.712, 243.97, 36.853}, {42.26, 253.25, 19.482}}], Polygon[{{60.72, 239.78, 36.853}, {57.153, 225.69, 50.23}, {38.32, 229.64, 50.23}, {40.712, 243.97, 36.853}}], Polygon[{{57.153, 225.69, 50.23}, {52.713, 208.16, 58.164}, {35.343, 211.8, 58.164}, {38.32, 229.64, 50.23}}], Polygon[{{52.713, 208.16, 58.164}, {47.881, 189.08, 59.795}, {32.103, 192.39, 59.795}, {35.343, 211.8, 58.164}}], Polygon[{{47.881, 189.08, 59.795}, {43.18, 170.52, 54.946}, {28.952, 173.5, 54.946}, {32.103, 192.39, 59.795}}], Polygon[{{43.18, 170.52, 54.946}, {39.121, 154.49, 44.143}, {26.23, 157.19, 44.143}, {28.952, 173.5, 54.946}}], Polygon[{{39.121, 154.49, 44.143}, {36.143, 142.73, 28.557}, {24.234, 145.22, 28.557}, {26.23, 157.19, 44.143}}], Polygon[{{36.143, 142.73, 28.557}, {34.569, 136.51, 9.8757}, {23.178, 138.9, 9.8757}, {24.234, 145.22, 28.557}}], Polygon[{{34.569, 136.51, 9.8757}, {34.569, 136.51, -9.8757}, {23.178, 138.9, -9.8757}, {23.178, 138.9, 9.8757}}], Polygon[{{34.569, 136.51, -9.8757}, {36.143, 142.73, -28.557}, {24.234, 145.22, -28.557}, {23.178, 138.9, -9.8757}}], Polygon[{{36.143, 142.73, -28.557}, {39.121, 154.49, -44.143}, {26.23, 157.19, -44.143}, {24.234, 145.22, -28.557}}], Polygon[{{39.121, 154.49, -44.143}, {43.18, 170.52, -54.946}, {28.952, 173.5, -54.946}, {26.23, 157.19, -44.143}}], Polygon[{{43.18, 170.52, -54.946}, {47.881, 189.08, -59.795}, {32.103, 192.39, -59.795}, {28.952, 173.5, -54.946}}], Polygon[{{47.881, 189.08, -59.795}, {52.713, 208.16, -58.164}, {35.343, 211.8, -58.164}, {32.103, 192.39, -59.795}}], Polygon[{{52.713, 208.16, -58.164}, {57.153, 225.69, -50.23}, {38.32, 229.64, -50.23}, {35.343, 211.8, -58.164}}], Polygon[{{57.153, 225.69, -50.23}, {60.72, 239.78, -36.853}, {40.712, 243.97, -36.853}, {38.32, 229.64, -50.23}}], Polygon[{{60.72, 239.78, -36.853}, {63.028, 248.89, -19.482}, {42.26, 253.25, -19.482}, {40.712, 243.97, -36.853}}], Polygon[{{63.028, 248.89, -19.482}, {63.826, 252.04, -1.4695*^-14}, {42.795, 256.45, -1.4695*^-14}, {42.26, 253.25, -19.482}}], Polygon[{{42.795, 256.45, 0.}, {42.26, 253.25, 19.482}, {21.202, 255.87, 19.482}, {21.471, 259.11, 0.}}], Polygon[{{42.26, 253.25, 19.482}, {40.712, 243.97, 36.853}, {20.426, 246.5, 36.853}, {21.202, 255.87, 19.482}}], Polygon[{{40.712, 243.97, 36.853}, {38.32, 229.64, 50.23}, {19.226, 232.02, 50.23}, {20.426, 246.5, 36.853}}], Polygon[{{38.32, 229.64, 50.23}, {35.343, 211.8, 58.164}, {17.732, 214., 58.164}, {19.226, 232.02, 50.23}}], Polygon[{{35.343, 211.8, 58.164}, {32.103, 192.39, 59.795}, {16.107, 194.38, 59.795}, {17.732, 214., 58.164}}], Polygon[{{32.103, 192.39, 59.795}, {28.952, 173.5, 54.946}, {14.526, 175.3, 54.946}, {16.107, 194.38, 59.795}}], Polygon[{{28.952, 173.5, 54.946}, {26.23, 157.19, 44.143}, {13.16, 158.82, 44.143}, {14.526, 175.3, 54.946}}], Polygon[{{26.23, 157.19, 44.143}, {24.234, 145.22, 28.557}, {12.158, 146.73, 28.557}, {13.16, 158.82, 44.143}}], Polygon[{{24.234, 145.22, 28.557}, {23.178, 138.9, 9.8757}, {11.629, 140.34, 9.8757}, {12.158, 146.73, 28.557}}], Polygon[{{23.178, 138.9, 9.8757}, {23.178, 138.9, -9.8757}, {11.629, 140.34, -9.8757}, {11.629, 140.34, 9.8757}}], Polygon[{{23.178, 138.9, -9.8757}, {24.234, 145.22, -28.557}, {12.158, 146.73, -28.557}, {11.629, 140.34, -9.8757}}], Polygon[{{24.234, 145.22, -28.557}, {26.23, 157.19, -44.143}, {13.16, 158.82, -44.143}, {12.158, 146.73, -28.557}}], Polygon[{{26.23, 157.19, -44.143}, {28.952, 173.5, -54.946}, {14.526, 175.3, -54.946}, {13.16, 158.82, -44.143}}], Polygon[{{28.952, 173.5, -54.946}, {32.103, 192.39, -59.795}, {16.107, 194.38, -59.795}, {14.526, 175.3, -54.946}}], Polygon[{{32.103, 192.39, -59.795}, {35.343, 211.8, -58.164}, {17.732, 214., -58.164}, {16.107, 194.38, -59.795}}], Polygon[{{35.343, 211.8, -58.164}, {38.32, 229.64, -50.23}, {19.226, 232.02, -50.23}, {17.732, 214., -58.164}}], Polygon[{{38.32, 229.64, -50.23}, {40.712, 243.97, -36.853}, {20.426, 246.5, -36.853}, {19.226, 232.02, -50.23}}], Polygon[{{40.712, 243.97, -36.853}, {42.26, 253.25, -19.482}, {21.202, 255.87, -19.482}, {20.426, 246.5, -36.853}}], Polygon[{{42.26, 253.25, -19.482}, {42.795, 256.45, -1.4695*^-14}, {21.471, 259.11, -1.4695*^-14}, {21.202, 255.87, -19.482}}], Polygon[{{21.471, 259.11, 0.}, {21.202, 255.87, 19.482}, {1.5721*^-14, 256.75, 19.482}, {1.592*^-14, 260., 0.}}], Polygon[{{21.202, 255.87, 19.482}, {20.426, 246.5, 36.853}, {1.5145*^-14, 247.35, 36.853}, {1.5721*^-14, 256.75, 19.482}}], Polygon[{{20.426, 246.5, 36.853}, {19.226, 232.02, 50.23}, {1.4255*^-14, 232.82, 50.23}, {1.5145*^-14, 247.35, 36.853}}], Polygon[{{19.226, 232.02, 50.23}, {17.732, 214., 58.164}, {1.3148*^-14, 214.73, 58.164}, {1.4255*^-14, 232.82, 50.23}}], Polygon[{{17.732, 214., 58.164}, {16.107, 194.38, 59.795}, {1.1943*^-14, 195.05, 59.795}, {1.3148*^-14, 214.73, 58.164}}], Polygon[{{16.107, 194.38, 59.795}, {14.526, 175.3, 54.946}, {1.077*^-14, 175.9, 54.946}, {1.1943*^-14, 195.05, 59.795}}], Polygon[{{14.526, 175.3, 54.946}, {13.16, 158.82, 44.143}, {9.7579*^-15, 159.36, 44.143}, {1.077*^-14, 175.9, 54.946}}], Polygon[{{13.16, 158.82, 44.143}, {12.158, 146.73, 28.557}, {9.015*^-15, 147.23, 28.557}, {9.7579*^-15, 159.36, 44.143}}], Polygon[{{12.158, 146.73, 28.557}, {11.629, 140.34, 9.8757}, {8.6224*^-15, 140.82, 9.8757}, {9.015*^-15, 147.23, 28.557}}], Polygon[{{11.629, 140.34, 9.8757}, {11.629, 140.34, -9.8757}, {8.6224*^-15, 140.82, -9.8757}, {8.6224*^-15, 140.82, 9.8757}}], Polygon[{{11.629, 140.34, -9.8757}, {12.158, 146.73, -28.557}, {9.015*^-15, 147.23, -28.557}, {8.6224*^-15, 140.82, -9.8757}}], Polygon[{{12.158, 146.73, -28.557}, {13.16, 158.82, -44.143}, {9.7579*^-15, 159.36, -44.143}, {9.015*^-15, 147.23, -28.557}}], Polygon[{{13.16, 158.82, -44.143}, {14.526, 175.3, -54.946}, {1.077*^-14, 175.9, -54.946}, {9.7579*^-15, 159.36, -44.143}}], Polygon[{{14.526, 175.3, -54.946}, {16.107, 194.38, -59.795}, {1.1943*^-14, 195.05, -59.795}, {1.077*^-14, 175.9, -54.946}}], Polygon[{{16.107, 194.38, -59.795}, {17.732, 214., -58.164}, {1.3148*^-14, 214.73, -58.164}, {1.1943*^-14, 195.05, -59.795}}], Polygon[{{17.732, 214., -58.164}, {19.226, 232.02, -50.23}, {1.4255*^-14, 232.82, -50.23}, {1.3148*^-14, 214.73, -58.164}}], Polygon[{{19.226, 232.02, -50.23}, {20.426, 246.5, -36.853}, {1.5145*^-14, 247.35, -36.853}, {1.4255*^-14, 232.82, -50.23}}], Polygon[{{20.426, 246.5, -36.853}, {21.202, 255.87, -19.482}, {1.5721*^-14, 256.75, -19.482}, {1.5145*^-14, 247.35, -36.853}}], Polygon[{{21.202, 255.87, -19.482}, {21.471, 259.11, -1.4695*^-14}, {1.592*^-14, 260., -1.4695*^-14}, {1.5721*^-14, 256.75, -19.482}}]}, {Polygon[{{0., 240., 0.}, {0., 237.83, 12.988}, {0., 242.56, 14.611}, {0., 245., 0.}}], Polygon[{{0., 237.83, 12.988}, {0., 231.57, 24.569}, {0., 235.51, 27.64}, {0., 242.56, 14.611}}], Polygon[{{0., 231.57, 24.569}, {0., 221.88, 33.487}, {0., 224.61, 37.672}, {0., 235.51, 27.64}}], Polygon[{{0., 221.88, 33.487}, {0., 209.82, 38.776}, {0., 211.05, 43.623}, {0., 224.61, 37.672}}], Polygon[{{0., 209.82, 38.776}, {0., 196.7, 39.863}, {0., 196.28, 44.846}, {0., 211.05, 43.623}}], Polygon[{{0., 196.7, 39.863}, {0., 183.93, 36.631}, {0., 181.92, 41.21}, {0., 196.28, 44.846}}], Polygon[{{0., 183.93, 36.631}, {0., 172.91, 29.429}, {0., 169.52, 33.108}, {0., 181.92, 41.21}}], Polygon[{{0., 172.91, 29.429}, {0., 164.82, 19.038}, {0., 160.42, 21.418}, {0., 169.52, 33.108}}], Polygon[{{0., 164.82, 19.038}, {0., 160.55, 6.5838}, {0., 155.61, 7.4068}, {0., 160.42, 21.418}}], Polygon[{{0., 160.55, 6.5838}, {0., 160.55, -6.5838}, {0., 155.61, -7.4068}, {0., 155.61, 7.4068}}], Polygon[{{0., 160.55, -6.5838}, {0., 164.82, -19.038}, {0., 160.42, -21.418}, {0., 155.61, -7.4068}}], Polygon[{{0., 164.82, -19.038}, {0., 172.91, -29.429}, {0., 169.52, -33.108}, {0., 160.42, -21.418}}], Polygon[{{0., 172.91, -29.429}, {0., 183.93, -36.631}, {0., 181.92, -41.21}, {0., 169.52, -33.108}}], Polygon[{{0., 183.93, -36.631}, {0., 196.7, -39.863}, {0., 196.28, -44.846}, {0., 181.92, -41.21}}], Polygon[{{0., 196.7, -39.863}, {0., 209.82, -38.776}, {0., 211.05, -43.623}, {0., 196.28, -44.846}}], Polygon[{{0., 209.82, -38.776}, {0., 221.88, -33.487}, {0., 224.61, -37.672}, {0., 211.05, -43.623}}], Polygon[{{0., 221.88, -33.487}, {0., 231.57, -24.569}, {0., 235.51, -27.64}, {0., 224.61, -37.672}}], Polygon[{{0., 231.57, -24.569}, {0., 237.83, -12.988}, {0., 242.56, -14.611}, {0., 235.51, -27.64}}], Polygon[{{0., 237.83, -12.988}, {0., 240., -9.7969*^-15}, {0., 245., -1.1021*^-14}, {0., 242.56, -14.611}}], Polygon[{{0., 245., 0.}, {0., 242.56, 14.611}, {0., 247.29, 16.235}, {0., 250., 0.}}], Polygon[{{0., 242.56, 14.611}, {0., 235.51, 27.64}, {0., 239.46, 30.711}, {0., 247.29, 16.235}}], Polygon[{{0., 235.51, 27.64}, {0., 224.61, 37.672}, {0., 227.35, 41.858}, {0., 239.46, 30.711}}], Polygon[{{0., 224.61, 37.672}, {0., 211.05, 43.623}, {0., 212.27, 48.47}, {0., 227.35, 41.858}}], Polygon[{{0., 211.05, 43.623}, {0., 196.28, 44.846}, {0., 195.87, 49.829}, {0., 212.27, 48.47}}], Polygon[{{0., 196.28, 44.846}, {0., 181.92, 41.21}, {0., 179.92, 45.789}, {0., 195.87, 49.829}}], Polygon[{{0., 181.92, 41.21}, {0., 169.52, 33.108}, {0., 166.14, 36.786}, {0., 179.92, 45.789}}], Polygon[{{0., 169.52, 33.108}, {0., 160.42, 21.418}, {0., 156.03, 23.797}, {0., 166.14, 36.786}}], Polygon[{{0., 160.42, 21.418}, {0., 155.61, 7.4068}, {0., 150.68, 8.2297}, {0., 156.03, 23.797}}], Polygon[{{0., 155.61, 7.4068}, {0., 155.61, -7.4068}, {0., 150.68, -8.2297}, {0., 150.68, 8.2297}}], Polygon[{{0., 155.61, -7.4068}, {0., 160.42, -21.418}, {0., 156.03, -23.797}, {0., 150.68, -8.2297}}], Polygon[{{0., 160.42, -21.418}, {0., 169.52, -33.108}, {0., 166.14, -36.786}, {0., 156.03, -23.797}}], Polygon[{{0., 169.52, -33.108}, {0., 181.92, -41.21}, {0., 179.92, -45.789}, {0., 166.14, -36.786}}], Polygon[{{0., 181.92, -41.21}, {0., 196.28, -44.846}, {0., 195.87, -49.829}, {0., 179.92, -45.789}}], Polygon[{{0., 196.28, -44.846}, {0., 211.05, -43.623}, {0., 212.27, -48.47}, {0., 195.87, -49.829}}], Polygon[{{0., 211.05, -43.623}, {0., 224.61, -37.672}, {0., 227.35, -41.858}, {0., 212.27, -48.47}}], Polygon[{{0., 224.61, -37.672}, {0., 235.51, -27.64}, {0., 239.46, -30.711}, {0., 227.35, -41.858}}], Polygon[{{0., 235.51, -27.64}, {0., 242.56, -14.611}, {0., 247.29, -16.235}, {0., 239.46, -30.711}}], Polygon[{{0., 242.56, -14.611}, {0., 245., -1.1021*^-14}, {0., 250., -1.2246*^-14}, {0., 247.29, -16.235}}], Polygon[{{0., 250., 0.}, {0., 247.29, 16.235}, {0., 252.02, 17.858}, {0., 255., 0.}}], Polygon[{{0., 247.29, 16.235}, {0., 239.46, 30.711}, {0., 243.4, 33.782}, {0., 252.02, 17.858}}], Polygon[{{0., 239.46, 30.711}, {0., 227.35, 41.858}, {0., 230.08, 46.044}, {0., 243.4, 33.782}}], Polygon[{{0., 227.35, 41.858}, {0., 212.27, 48.47}, {0., 213.5, 53.317}, {0., 230.08, 46.044}}], Polygon[{{0., 212.27, 48.47}, {0., 195.87, 49.829}, {0., 195.46, 54.812}, {0., 213.5, 53.317}}], Polygon[{{0., 195.87, 49.829}, {0., 179.92, 45.789}, {0., 177.91, 50.368}, {0., 195.46, 54.812}}], Polygon[{{0., 179.92, 45.789}, {0., 166.14, 36.786}, {0., 162.75, 40.465}, {0., 177.91, 50.368}}], Polygon[{{0., 166.14, 36.786}, {0., 156.03, 23.797}, {0., 151.63, 26.177}, {0., 162.75, 40.465}}], Polygon[{{0., 156.03, 23.797}, {0., 150.68, 8.2297}, {0., 145.75, 9.0527}, {0., 151.63, 26.177}}], Polygon[{{0., 150.68, 8.2297}, {0., 150.68, -8.2297}, {0., 145.75, -9.0527}, {0., 145.75, 9.0527}}], Polygon[{{0., 150.68, -8.2297}, {0., 156.03, -23.797}, {0., 151.63, -26.177}, {0., 145.75, -9.0527}}], Polygon[{{0., 156.03, -23.797}, {0., 166.14, -36.786}, {0., 162.75, -40.465}, {0., 151.63, -26.177}}], Polygon[{{0., 166.14, -36.786}, {0., 179.92, -45.789}, {0., 177.91, -50.368}, {0., 162.75, -40.465}}], Polygon[{{0., 179.92, -45.789}, {0., 195.87, -49.829}, {0., 195.46, -54.812}, {0., 177.91, -50.368}}], Polygon[{{0., 195.87, -49.829}, {0., 212.27, -48.47}, {0., 213.5, -53.317}, {0., 195.46, -54.812}}], Polygon[{{0., 212.27, -48.47}, {0., 227.35, -41.858}, {0., 230.08, -46.044}, {0., 213.5, -53.317}}], Polygon[{{0., 227.35, -41.858}, {0., 239.46, -30.711}, {0., 243.4, -33.782}, {0., 230.08, -46.044}}], Polygon[{{0., 239.46, -30.711}, {0., 247.29, -16.235}, {0., 252.02, -17.858}, {0., 243.4, -33.782}}], Polygon[{{0., 247.29, -16.235}, {0., 250., -1.2246*^-14}, {0., 255., -1.3471*^-14}, {0., 252.02, -17.858}}], Polygon[{{0., 255., 0.}, {0., 252.02, 17.858}, {0., 256.75, 19.482}, {0., 260., 0.}}], Polygon[{{0., 252.02, 17.858}, {0., 243.4, 33.782}, {0., 247.35, 36.853}, {0., 256.75, 19.482}}], Polygon[{{0., 243.4, 33.782}, {0., 230.08, 46.044}, {0., 232.82, 50.23}, {0., 247.35, 36.853}}], Polygon[{{0., 230.08, 46.044}, {0., 213.5, 53.317}, {0., 214.73, 58.164}, {0., 232.82, 50.23}}], Polygon[{{0., 213.5, 53.317}, {0., 195.46, 54.812}, {0., 195.05, 59.795}, {0., 214.73, 58.164}}], Polygon[{{0., 195.46, 54.812}, {0., 177.91, 50.368}, {0., 175.9, 54.946}, {0., 195.05, 59.795}}], Polygon[{{0., 177.91, 50.368}, {0., 162.75, 40.465}, {0., 159.36, 44.143}, {0., 175.9, 54.946}}], Polygon[{{0., 162.75, 40.465}, {0., 151.63, 26.177}, {0., 147.23, 28.557}, {0., 159.36, 44.143}}], Polygon[{{0., 151.63, 26.177}, {0., 145.75, 9.0527}, {0., 140.82, 9.8757}, {0., 147.23, 28.557}}], Polygon[{{0., 145.75, 9.0527}, {0., 145.75, -9.0527}, {0., 140.82, -9.8757}, {0., 140.82, 9.8757}}], Polygon[{{0., 145.75, -9.0527}, {0., 151.63, -26.177}, {0., 147.23, -28.557}, {0., 140.82, -9.8757}}], Polygon[{{0., 151.63, -26.177}, {0., 162.75, -40.465}, {0., 159.36, -44.143}, {0., 147.23, -28.557}}], Polygon[{{0., 162.75, -40.465}, {0., 177.91, -50.368}, {0., 175.9, -54.946}, {0., 159.36, -44.143}}], Polygon[{{0., 177.91, -50.368}, {0., 195.46, -54.812}, {0., 195.05, -59.795}, {0., 175.9, -54.946}}], Polygon[{{0., 195.46, -54.812}, {0., 213.5, -53.317}, {0., 214.73, -58.164}, {0., 195.05, -59.795}}], Polygon[{{0., 213.5, -53.317}, {0., 230.08, -46.044}, {0., 232.82, -50.23}, {0., 214.73, -58.164}}], Polygon[{{0., 230.08, -46.044}, {0., 243.4, -33.782}, {0., 247.35, -36.853}, {0., 232.82, -50.23}}], Polygon[{{0., 243.4, -33.782}, {0., 252.02, -17.858}, {0., 256.75, -19.482}, {0., 247.35, -36.853}}], Polygon[{{0., 252.02, -17.858}, {0., 255., -1.3471*^-14}, {0., 260., -1.4695*^-14}, {0., 256.75, -19.482}}]}, {RGBColor[1., 0., 0.], Thickness[0.005], Line[{{0., 0., 0.}, {200., 0., 0.}}]}, {RGBColor[1., 0., 0.], Thickness[0.005], Line[{{200., 0., 0.}, {239.39, 0., 6.9459}}]}, {RGBColor[1., 0., 0.], Thickness[0.005], Line[{{200., 0., 0.}, {245.96, 0., 38.567}}]}, {RGBColor[1., 0., 0.], Text["R", {100., 0., 8.}]}, {RGBColor[1., 0., 0.], Text["ri", {243.33, 0., 7.6405}]}, {RGBColor[1., 0., 0.], Text[StyleForm["ra", FontFamily -> "TimesRoman", FontSize -> 20.], {250.56, 0., 42.424}]}}, {AmbientLight -> GrayLevel[0.15], PlotRange -> Automatic, DisplayFunction :> $DisplayFunction, ColorOutput -> Automatic, Axes -> True, PlotLabel -> None, AxesLabel -> {"x", "y", "z"}, Ticks -> Automatic, Prolog -> {}, Epilog -> {}, AxesStyle -> Automatic, Background -> Automatic, DefaultColor -> Automatic, DefaultFont :> $DefaultFont, AspectRatio -> Automatic, ViewPoint -> {1.3, -2.4, 2.}, Boxed -> True, BoxRatios -> Automatic, Plot3Matrix -> Automatic, Lighting -> True, AmbientLight -> GrayLevel[0.], LightSources -> {{{1., 0., 1.}, RGBColor[1., 0., 0.]}, {{1., 1., 1.}, RGBColor[0., 1., 0.]}, {{0., 1., 1.}, RGBColor[0., 0., 1.]}}, ViewCenter -> Automatic, PlotRegion -> Automatic, ImageSize -> Automatic, TextStyle :> {FontFamily -> "Times", FontSize -> 16.}, FormatType :> $FormatType, ViewVertical -> {0., 0., 1.}, FaceGrids -> None, Shading -> True, RenderAll -> True, PolygonIntersections -> True, AxesEdge -> Automatic, BoxStyle -> Automatic, SphericalRegion -> False}]
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aTrap.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aTrap.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aTrap.txt	(revision 904)
@@ -0,0 +1,1 @@
+Graphics3D[{Polygon[{{-58.808, -41.903, -60.}, {1.1918, -41.903, -60.}, {25.298, 38.097, -60.}, {-54.702, 38.097, -60.}}], Polygon[{{8.9339, -14.097, 60.}, {28.934, -14.097, 60.}, {38.576, 17.903, 60.}, {10.576, 17.903, 60.}}], Polygon[{{-58.808, -41.903, -60.}, {1.1918, -41.903, -60.}, {28.934, -14.097, 60.}, {8.9339, -14.097, 60.}}], Polygon[{{-54.702, 38.097, -60.}, {25.298, 38.097, -60.}, {38.576, 17.903, 60.}, {10.576, 17.903, 60.}}], Polygon[{{1.1918, -41.903, -60.}, {25.298, 38.097, -60.}, {38.576, 17.903, 60.}, {28.934, -14.097, 60.}}], Polygon[{{-58.808, -41.903, -60.}, {-54.702, 38.097, -60.}, {10.576, 17.903, 60.}, {8.9339, -14.097, 60.}}]}, {Axes -> True, AxesLabel -> {"x", "y", "z"}, TextStyle -> {FontFamily -> "Times", FontSize -> 16.}, AmbientLight -> GrayLevel[0.15]}]
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aTrd.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aTrd.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aTrd.txt	(revision 904)
@@ -0,0 +1,1 @@
+Graphics3D[{Polygon[{{-30., -40., -60.}, {30., -40., -60.}, {30., 40., -60.}, {-30., 40., -60.}}], Polygon[{{-10., -15., 60.}, {10., -15., 60.}, {10., 15., 60.}, {-10., 15., 60.}}], Polygon[{{-30., -40., -60.}, {-30., 40., -60.}, {-10., 15., 60.}, {-10., -15., 60.}}], Polygon[{{30., -40., -60.}, {30., 40., -60.}, {10., 15., 60.}, {10., -15., 60.}}], Polygon[{{-30., -40., -60.}, {30., -40., -60.}, {10., -15., 60.}, {-10., -15., 60.}}], Polygon[{{30., 40., -60.}, {-30., 40., -60.}, {-10., 15., 60.}, {10., 15., 60.}}]}, {Axes -> True, AxesLabel -> {"x", "y", "z"}, TextStyle -> {FontFamily -> "Times", FontSize -> 16.}, AmbientLight -> GrayLevel[0.15]}]
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aTubs.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aTubs.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aTubs.txt	(revision 904)
@@ -0,0 +1,1 @@
+Graphics3D[{{Polygon[{{10., 0., -20.}, {9.9658, 0.82579, -20.}, {9.9658, 0.82579, -17.895}, {10., 0., -17.895}}], Polygon[{{9.9658, 0.82579, -20.}, {9.8636, 1.6459, -20.}, {9.8636, 1.6459, -17.895}, {9.9658, 0.82579, -17.895}}], Polygon[{{9.8636, 1.6459, -20.}, {9.694, 2.4549, -20.}, {9.694, 2.4549, -17.895}, {9.8636, 1.6459, -17.895}}], Polygon[{{9.694, 2.4549, -20.}, {9.4582, 3.247, -20.}, {9.4582, 3.247, -17.895}, {9.694, 2.4549, -17.895}}], Polygon[{{9.4582, 3.247, -20.}, {9.1577, 4.017, -20.}, {9.1577, 4.017, -17.895}, {9.4582, 3.247, -17.895}}], Polygon[{{9.1577, 4.017, -20.}, {8.7947, 4.7595, -20.}, {8.7947, 4.7595, -17.895}, {9.1577, 4.017, -17.895}}], Polygon[{{8.7947, 4.7595, -20.}, {8.3717, 5.4695, -20.}, {8.3717, 5.4695, -17.895}, {8.7947, 4.7595, -17.895}}], Polygon[{{8.3717, 5.4695, -20.}, {7.8914, 6.1421, -20.}, {7.8914, 6.1421, -17.895}, {8.3717, 5.4695, -17.895}}], Polygon[{{7.8914, 6.1421, -20.}, {7.3572, 6.7728, -20.}, {7.3572, 6.7728, -17.895}, {7.8914, 6.1421, -17.895}}], Polygon[{{7.3572, 6.7728, -20.}, {6.7728, 7.3572, -20.}, {6.7728, 7.3572, -17.895}, {7.3572, 6.7728, -17.895}}], Polygon[{{6.7728, 7.3572, -20.}, {6.1421, 7.8914, -20.}, {6.1421, 7.8914, -17.895}, {6.7728, 7.3572, -17.895}}], Polygon[{{6.1421, 7.8914, -20.}, {5.4695, 8.3717, -20.}, {5.4695, 8.3717, -17.895}, {6.1421, 7.8914, -17.895}}], Polygon[{{5.4695, 8.3717, -20.}, {4.7595, 8.7947, -20.}, {4.7595, 8.7947, -17.895}, {5.4695, 8.3717, -17.895}}], Polygon[{{4.7595, 8.7947, -20.}, {4.017, 9.1577, -20.}, {4.017, 9.1577, -17.895}, {4.7595, 8.7947, -17.895}}], Polygon[{{4.017, 9.1577, -20.}, {3.247, 9.4582, -20.}, {3.247, 9.4582, -17.895}, {4.017, 9.1577, -17.895}}], Polygon[{{3.247, 9.4582, -20.}, {2.4549, 9.694, -20.}, {2.4549, 9.694, -17.895}, {3.247, 9.4582, -17.895}}], Polygon[{{2.4549, 9.694, -20.}, {1.6459, 9.8636, -20.}, {1.6459, 9.8636, -17.895}, {2.4549, 9.694, -17.895}}], Polygon[{{1.6459, 9.8636, -20.}, {0.82579, 9.9658, -20.}, {0.82579, 9.9658, -17.895}, {1.6459, 9.8636, -17.895}}], Polygon[{{0.82579, 9.9658, -20.}, {6.123*^-16, 10., -20.}, {6.123*^-16, 10., -17.895}, {0.82579, 9.9658, -17.895}}], Polygon[{{10., 0., -17.895}, {9.9658, 0.82579, -17.895}, {9.9658, 0.82579, -15.789}, {10., 0., -15.789}}], Polygon[{{9.9658, 0.82579, -17.895}, {9.8636, 1.6459, -17.895}, {9.8636, 1.6459, -15.789}, {9.9658, 0.82579, -15.789}}], Polygon[{{9.8636, 1.6459, -17.895}, {9.694, 2.4549, -17.895}, {9.694, 2.4549, -15.789}, {9.8636, 1.6459, -15.789}}], Polygon[{{9.694, 2.4549, -17.895}, {9.4582, 3.247, -17.895}, {9.4582, 3.247, -15.789}, {9.694, 2.4549, -15.789}}], Polygon[{{9.4582, 3.247, -17.895}, {9.1577, 4.017, -17.895}, {9.1577, 4.017, -15.789}, {9.4582, 3.247, -15.789}}], Polygon[{{9.1577, 4.017, -17.895}, {8.7947, 4.7595, -17.895}, {8.7947, 4.7595, -15.789}, {9.1577, 4.017, -15.789}}], Polygon[{{8.7947, 4.7595, -17.895}, {8.3717, 5.4695, -17.895}, {8.3717, 5.4695, -15.789}, {8.7947, 4.7595, -15.789}}], Polygon[{{8.3717, 5.4695, -17.895}, {7.8914, 6.1421, -17.895}, {7.8914, 6.1421, -15.789}, {8.3717, 5.4695, -15.789}}], Polygon[{{7.8914, 6.1421, -17.895}, {7.3572, 6.7728, -17.895}, {7.3572, 6.7728, -15.789}, {7.8914, 6.1421, -15.789}}], Polygon[{{7.3572, 6.7728, -17.895}, {6.7728, 7.3572, -17.895}, {6.7728, 7.3572, -15.789}, {7.3572, 6.7728, -15.789}}], Polygon[{{6.7728, 7.3572, -17.895}, {6.1421, 7.8914, -17.895}, {6.1421, 7.8914, -15.789}, {6.7728, 7.3572, -15.789}}], Polygon[{{6.1421, 7.8914, -17.895}, {5.4695, 8.3717, -17.895}, {5.4695, 8.3717, -15.789}, {6.1421, 7.8914, -15.789}}], Polygon[{{5.4695, 8.3717, -17.895}, {4.7595, 8.7947, -17.895}, {4.7595, 8.7947, -15.789}, {5.4695, 8.3717, -15.789}}], Polygon[{{4.7595, 8.7947, -17.895}, {4.017, 9.1577, -17.895}, {4.017, 9.1577, -15.789}, {4.7595, 8.7947, -15.789}}], Polygon[{{4.017, 9.1577, -17.895}, {3.247, 9.4582, -17.895}, {3.247, 9.4582, -15.789}, {4.017, 9.1577, -15.789}}], Polygon[{{3.247, 9.4582, -17.895}, {2.4549, 9.694, -17.895}, {2.4549, 9.694, -15.789}, {3.247, 9.4582, -15.789}}], Polygon[{{2.4549, 9.694, -17.895}, {1.6459, 9.8636, -17.895}, {1.6459, 9.8636, -15.789}, {2.4549, 9.694, -15.789}}], Polygon[{{1.6459, 9.8636, -17.895}, {0.82579, 9.9658, -17.895}, {0.82579, 9.9658, -15.789}, {1.6459, 9.8636, -15.789}}], Polygon[{{0.82579, 9.9658, -17.895}, {6.123*^-16, 10., -17.895}, {6.123*^-16, 10., -15.789}, {0.82579, 9.9658, -15.789}}], Polygon[{{10., 0., -15.789}, {9.9658, 0.82579, -15.789}, {9.9658, 0.82579, -13.684}, {10., 0., -13.684}}], Polygon[{{9.9658, 0.82579, -15.789}, {9.8636, 1.6459, -15.789}, {9.8636, 1.6459, -13.684}, {9.9658, 0.82579, -13.684}}], Polygon[{{9.8636, 1.6459, -15.789}, {9.694, 2.4549, -15.789}, {9.694, 2.4549, -13.684}, {9.8636, 1.6459, -13.684}}], Polygon[{{9.694, 2.4549, -15.789}, {9.4582, 3.247, -15.789}, {9.4582, 3.247, -13.684}, {9.694, 2.4549, -13.684}}], Polygon[{{9.4582, 3.247, -15.789}, {9.1577, 4.017, -15.789}, {9.1577, 4.017, -13.684}, {9.4582, 3.247, -13.684}}], Polygon[{{9.1577, 4.017, -15.789}, {8.7947, 4.7595, -15.789}, {8.7947, 4.7595, -13.684}, {9.1577, 4.017, -13.684}}], Polygon[{{8.7947, 4.7595, -15.789}, {8.3717, 5.4695, -15.789}, {8.3717, 5.4695, -13.684}, {8.7947, 4.7595, -13.684}}], Polygon[{{8.3717, 5.4695, -15.789}, {7.8914, 6.1421, -15.789}, {7.8914, 6.1421, -13.684}, {8.3717, 5.4695, -13.684}}], Polygon[{{7.8914, 6.1421, -15.789}, {7.3572, 6.7728, -15.789}, {7.3572, 6.7728, -13.684}, {7.8914, 6.1421, -13.684}}], Polygon[{{7.3572, 6.7728, -15.789}, {6.7728, 7.3572, -15.789}, {6.7728, 7.3572, -13.684}, {7.3572, 6.7728, -13.684}}], Polygon[{{6.7728, 7.3572, -15.789}, {6.1421, 7.8914, -15.789}, {6.1421, 7.8914, -13.684}, {6.7728, 7.3572, -13.684}}], Polygon[{{6.1421, 7.8914, -15.789}, {5.4695, 8.3717, -15.789}, {5.4695, 8.3717, -13.684}, {6.1421, 7.8914, -13.684}}], Polygon[{{5.4695, 8.3717, -15.789}, {4.7595, 8.7947, -15.789}, {4.7595, 8.7947, -13.684}, {5.4695, 8.3717, -13.684}}], Polygon[{{4.7595, 8.7947, -15.789}, {4.017, 9.1577, -15.789}, {4.017, 9.1577, -13.684}, {4.7595, 8.7947, -13.684}}], Polygon[{{4.017, 9.1577, -15.789}, {3.247, 9.4582, -15.789}, {3.247, 9.4582, -13.684}, {4.017, 9.1577, -13.684}}], Polygon[{{3.247, 9.4582, -15.789}, {2.4549, 9.694, -15.789}, {2.4549, 9.694, -13.684}, {3.247, 9.4582, -13.684}}], Polygon[{{2.4549, 9.694, -15.789}, {1.6459, 9.8636, -15.789}, {1.6459, 9.8636, -13.684}, {2.4549, 9.694, -13.684}}], Polygon[{{1.6459, 9.8636, -15.789}, {0.82579, 9.9658, -15.789}, {0.82579, 9.9658, -13.684}, {1.6459, 9.8636, -13.684}}], Polygon[{{0.82579, 9.9658, -15.789}, {6.123*^-16, 10., -15.789}, {6.123*^-16, 10., -13.684}, {0.82579, 9.9658, -13.684}}], Polygon[{{10., 0., -13.684}, {9.9658, 0.82579, -13.684}, {9.9658, 0.82579, -11.579}, {10., 0., -11.579}}], Polygon[{{9.9658, 0.82579, -13.684}, {9.8636, 1.6459, -13.684}, {9.8636, 1.6459, -11.579}, {9.9658, 0.82579, -11.579}}], Polygon[{{9.8636, 1.6459, -13.684}, {9.694, 2.4549, -13.684}, {9.694, 2.4549, -11.579}, {9.8636, 1.6459, -11.579}}], Polygon[{{9.694, 2.4549, -13.684}, {9.4582, 3.247, -13.684}, {9.4582, 3.247, -11.579}, {9.694, 2.4549, -11.579}}], Polygon[{{9.4582, 3.247, -13.684}, {9.1577, 4.017, -13.684}, {9.1577, 4.017, -11.579}, {9.4582, 3.247, -11.579}}], Polygon[{{9.1577, 4.017, -13.684}, {8.7947, 4.7595, -13.684}, {8.7947, 4.7595, -11.579}, {9.1577, 4.017, -11.579}}], Polygon[{{8.7947, 4.7595, -13.684}, {8.3717, 5.4695, -13.684}, {8.3717, 5.4695, -11.579}, {8.7947, 4.7595, -11.579}}], Polygon[{{8.3717, 5.4695, -13.684}, {7.8914, 6.1421, -13.684}, {7.8914, 6.1421, -11.579}, {8.3717, 5.4695, -11.579}}], Polygon[{{7.8914, 6.1421, -13.684}, {7.3572, 6.7728, -13.684}, {7.3572, 6.7728, -11.579}, {7.8914, 6.1421, -11.579}}], Polygon[{{7.3572, 6.7728, -13.684}, {6.7728, 7.3572, -13.684}, {6.7728, 7.3572, -11.579}, {7.3572, 6.7728, -11.579}}], Polygon[{{6.7728, 7.3572, -13.684}, {6.1421, 7.8914, -13.684}, {6.1421, 7.8914, -11.579}, {6.7728, 7.3572, -11.579}}], Polygon[{{6.1421, 7.8914, -13.684}, {5.4695, 8.3717, -13.684}, {5.4695, 8.3717, -11.579}, {6.1421, 7.8914, -11.579}}], Polygon[{{5.4695, 8.3717, -13.684}, {4.7595, 8.7947, -13.684}, {4.7595, 8.7947, -11.579}, {5.4695, 8.3717, -11.579}}], Polygon[{{4.7595, 8.7947, -13.684}, {4.017, 9.1577, -13.684}, {4.017, 9.1577, -11.579}, {4.7595, 8.7947, -11.579}}], Polygon[{{4.017, 9.1577, -13.684}, {3.247, 9.4582, -13.684}, {3.247, 9.4582, -11.579}, {4.017, 9.1577, -11.579}}], Polygon[{{3.247, 9.4582, -13.684}, {2.4549, 9.694, -13.684}, {2.4549, 9.694, -11.579}, {3.247, 9.4582, -11.579}}], Polygon[{{2.4549, 9.694, -13.684}, {1.6459, 9.8636, -13.684}, {1.6459, 9.8636, -11.579}, {2.4549, 9.694, -11.579}}], Polygon[{{1.6459, 9.8636, -13.684}, {0.82579, 9.9658, -13.684}, {0.82579, 9.9658, -11.579}, {1.6459, 9.8636, -11.579}}], Polygon[{{0.82579, 9.9658, -13.684}, {6.123*^-16, 10., -13.684}, {6.123*^-16, 10., -11.579}, {0.82579, 9.9658, -11.579}}], Polygon[{{10., 0., -11.579}, {9.9658, 0.82579, -11.579}, {9.9658, 0.82579, -9.4737}, {10., 0., -9.4737}}], Polygon[{{9.9658, 0.82579, -11.579}, {9.8636, 1.6459, -11.579}, {9.8636, 1.6459, -9.4737}, {9.9658, 0.82579, -9.4737}}], Polygon[{{9.8636, 1.6459, -11.579}, {9.694, 2.4549, -11.579}, {9.694, 2.4549, -9.4737}, {9.8636, 1.6459, -9.4737}}], Polygon[{{9.694, 2.4549, -11.579}, {9.4582, 3.247, -11.579}, {9.4582, 3.247, -9.4737}, {9.694, 2.4549, -9.4737}}], Polygon[{{9.4582, 3.247, -11.579}, {9.1577, 4.017, -11.579}, {9.1577, 4.017, -9.4737}, {9.4582, 3.247, -9.4737}}], Polygon[{{9.1577, 4.017, -11.579}, {8.7947, 4.7595, -11.579}, {8.7947, 4.7595, -9.4737}, {9.1577, 4.017, -9.4737}}], Polygon[{{8.7947, 4.7595, -11.579}, {8.3717, 5.4695, -11.579}, {8.3717, 5.4695, -9.4737}, {8.7947, 4.7595, -9.4737}}], Polygon[{{8.3717, 5.4695, -11.579}, {7.8914, 6.1421, -11.579}, {7.8914, 6.1421, -9.4737}, {8.3717, 5.4695, -9.4737}}], Polygon[{{7.8914, 6.1421, -11.579}, {7.3572, 6.7728, -11.579}, {7.3572, 6.7728, -9.4737}, {7.8914, 6.1421, -9.4737}}], Polygon[{{7.3572, 6.7728, -11.579}, {6.7728, 7.3572, -11.579}, {6.7728, 7.3572, -9.4737}, {7.3572, 6.7728, -9.4737}}], Polygon[{{6.7728, 7.3572, -11.579}, {6.1421, 7.8914, -11.579}, {6.1421, 7.8914, -9.4737}, {6.7728, 7.3572, -9.4737}}], Polygon[{{6.1421, 7.8914, -11.579}, {5.4695, 8.3717, -11.579}, {5.4695, 8.3717, -9.4737}, {6.1421, 7.8914, -9.4737}}], Polygon[{{5.4695, 8.3717, -11.579}, {4.7595, 8.7947, -11.579}, {4.7595, 8.7947, -9.4737}, {5.4695, 8.3717, -9.4737}}], Polygon[{{4.7595, 8.7947, -11.579}, {4.017, 9.1577, -11.579}, {4.017, 9.1577, -9.4737}, {4.7595, 8.7947, -9.4737}}], Polygon[{{4.017, 9.1577, -11.579}, {3.247, 9.4582, -11.579}, {3.247, 9.4582, -9.4737}, {4.017, 9.1577, -9.4737}}], Polygon[{{3.247, 9.4582, -11.579}, {2.4549, 9.694, -11.579}, {2.4549, 9.694, -9.4737}, {3.247, 9.4582, -9.4737}}], Polygon[{{2.4549, 9.694, -11.579}, {1.6459, 9.8636, -11.579}, {1.6459, 9.8636, -9.4737}, {2.4549, 9.694, -9.4737}}], Polygon[{{1.6459, 9.8636, -11.579}, {0.82579, 9.9658, -11.579}, {0.82579, 9.9658, -9.4737}, {1.6459, 9.8636, -9.4737}}], Polygon[{{0.82579, 9.9658, -11.579}, {6.123*^-16, 10., -11.579}, {6.123*^-16, 10., -9.4737}, {0.82579, 9.9658, -9.4737}}], Polygon[{{10., 0., -9.4737}, {9.9658, 0.82579, -9.4737}, {9.9658, 0.82579, -7.3684}, {10., 0., -7.3684}}], Polygon[{{9.9658, 0.82579, -9.4737}, {9.8636, 1.6459, -9.4737}, {9.8636, 1.6459, -7.3684}, {9.9658, 0.82579, -7.3684}}], Polygon[{{9.8636, 1.6459, -9.4737}, {9.694, 2.4549, -9.4737}, {9.694, 2.4549, -7.3684}, {9.8636, 1.6459, -7.3684}}], Polygon[{{9.694, 2.4549, -9.4737}, {9.4582, 3.247, -9.4737}, {9.4582, 3.247, -7.3684}, {9.694, 2.4549, -7.3684}}], Polygon[{{9.4582, 3.247, -9.4737}, {9.1577, 4.017, -9.4737}, {9.1577, 4.017, -7.3684}, {9.4582, 3.247, -7.3684}}], Polygon[{{9.1577, 4.017, -9.4737}, {8.7947, 4.7595, -9.4737}, {8.7947, 4.7595, -7.3684}, {9.1577, 4.017, -7.3684}}], Polygon[{{8.7947, 4.7595, -9.4737}, {8.3717, 5.4695, -9.4737}, {8.3717, 5.4695, -7.3684}, {8.7947, 4.7595, -7.3684}}], Polygon[{{8.3717, 5.4695, -9.4737}, {7.8914, 6.1421, -9.4737}, {7.8914, 6.1421, -7.3684}, {8.3717, 5.4695, -7.3684}}], Polygon[{{7.8914, 6.1421, -9.4737}, {7.3572, 6.7728, -9.4737}, {7.3572, 6.7728, -7.3684}, {7.8914, 6.1421, -7.3684}}], Polygon[{{7.3572, 6.7728, -9.4737}, {6.7728, 7.3572, -9.4737}, {6.7728, 7.3572, -7.3684}, {7.3572, 6.7728, -7.3684}}], Polygon[{{6.7728, 7.3572, -9.4737}, {6.1421, 7.8914, -9.4737}, {6.1421, 7.8914, -7.3684}, {6.7728, 7.3572, -7.3684}}], Polygon[{{6.1421, 7.8914, -9.4737}, {5.4695, 8.3717, -9.4737}, {5.4695, 8.3717, -7.3684}, {6.1421, 7.8914, -7.3684}}], Polygon[{{5.4695, 8.3717, -9.4737}, {4.7595, 8.7947, -9.4737}, {4.7595, 8.7947, -7.3684}, {5.4695, 8.3717, -7.3684}}], Polygon[{{4.7595, 8.7947, -9.4737}, {4.017, 9.1577, -9.4737}, {4.017, 9.1577, -7.3684}, {4.7595, 8.7947, -7.3684}}], Polygon[{{4.017, 9.1577, -9.4737}, {3.247, 9.4582, -9.4737}, {3.247, 9.4582, -7.3684}, {4.017, 9.1577, -7.3684}}], Polygon[{{3.247, 9.4582, -9.4737}, {2.4549, 9.694, -9.4737}, {2.4549, 9.694, -7.3684}, {3.247, 9.4582, -7.3684}}], Polygon[{{2.4549, 9.694, -9.4737}, {1.6459, 9.8636, -9.4737}, {1.6459, 9.8636, -7.3684}, {2.4549, 9.694, -7.3684}}], Polygon[{{1.6459, 9.8636, -9.4737}, {0.82579, 9.9658, -9.4737}, {0.82579, 9.9658, -7.3684}, {1.6459, 9.8636, -7.3684}}], Polygon[{{0.82579, 9.9658, -9.4737}, {6.123*^-16, 10., -9.4737}, {6.123*^-16, 10., -7.3684}, {0.82579, 9.9658, -7.3684}}], Polygon[{{10., 0., -7.3684}, {9.9658, 0.82579, -7.3684}, {9.9658, 0.82579, -5.2632}, {10., 0., -5.2632}}], Polygon[{{9.9658, 0.82579, -7.3684}, {9.8636, 1.6459, -7.3684}, {9.8636, 1.6459, -5.2632}, {9.9658, 0.82579, -5.2632}}], Polygon[{{9.8636, 1.6459, -7.3684}, {9.694, 2.4549, -7.3684}, {9.694, 2.4549, -5.2632}, {9.8636, 1.6459, -5.2632}}], Polygon[{{9.694, 2.4549, -7.3684}, {9.4582, 3.247, -7.3684}, {9.4582, 3.247, -5.2632}, {9.694, 2.4549, -5.2632}}], Polygon[{{9.4582, 3.247, -7.3684}, {9.1577, 4.017, -7.3684}, {9.1577, 4.017, -5.2632}, {9.4582, 3.247, -5.2632}}], Polygon[{{9.1577, 4.017, -7.3684}, {8.7947, 4.7595, -7.3684}, {8.7947, 4.7595, -5.2632}, {9.1577, 4.017, -5.2632}}], Polygon[{{8.7947, 4.7595, -7.3684}, {8.3717, 5.4695, -7.3684}, {8.3717, 5.4695, -5.2632}, {8.7947, 4.7595, -5.2632}}], Polygon[{{8.3717, 5.4695, -7.3684}, {7.8914, 6.1421, -7.3684}, {7.8914, 6.1421, -5.2632}, {8.3717, 5.4695, -5.2632}}], Polygon[{{7.8914, 6.1421, -7.3684}, {7.3572, 6.7728, -7.3684}, {7.3572, 6.7728, -5.2632}, {7.8914, 6.1421, -5.2632}}], Polygon[{{7.3572, 6.7728, -7.3684}, {6.7728, 7.3572, -7.3684}, {6.7728, 7.3572, -5.2632}, {7.3572, 6.7728, -5.2632}}], Polygon[{{6.7728, 7.3572, -7.3684}, {6.1421, 7.8914, -7.3684}, {6.1421, 7.8914, -5.2632}, {6.7728, 7.3572, -5.2632}}], Polygon[{{6.1421, 7.8914, -7.3684}, {5.4695, 8.3717, -7.3684}, {5.4695, 8.3717, -5.2632}, {6.1421, 7.8914, -5.2632}}], Polygon[{{5.4695, 8.3717, -7.3684}, {4.7595, 8.7947, -7.3684}, {4.7595, 8.7947, -5.2632}, {5.4695, 8.3717, -5.2632}}], Polygon[{{4.7595, 8.7947, -7.3684}, {4.017, 9.1577, -7.3684}, {4.017, 9.1577, -5.2632}, {4.7595, 8.7947, -5.2632}}], Polygon[{{4.017, 9.1577, -7.3684}, {3.247, 9.4582, -7.3684}, {3.247, 9.4582, -5.2632}, {4.017, 9.1577, -5.2632}}], Polygon[{{3.247, 9.4582, -7.3684}, {2.4549, 9.694, -7.3684}, {2.4549, 9.694, -5.2632}, {3.247, 9.4582, -5.2632}}], Polygon[{{2.4549, 9.694, -7.3684}, {1.6459, 9.8636, -7.3684}, {1.6459, 9.8636, -5.2632}, {2.4549, 9.694, -5.2632}}], Polygon[{{1.6459, 9.8636, -7.3684}, {0.82579, 9.9658, -7.3684}, {0.82579, 9.9658, -5.2632}, {1.6459, 9.8636, -5.2632}}], Polygon[{{0.82579, 9.9658, -7.3684}, {6.123*^-16, 10., -7.3684}, {6.123*^-16, 10., -5.2632}, {0.82579, 9.9658, -5.2632}}], Polygon[{{10., 0., -5.2632}, {9.9658, 0.82579, -5.2632}, {9.9658, 0.82579, -3.1579}, {10., 0., -3.1579}}], Polygon[{{9.9658, 0.82579, -5.2632}, {9.8636, 1.6459, -5.2632}, {9.8636, 1.6459, -3.1579}, {9.9658, 0.82579, -3.1579}}], Polygon[{{9.8636, 1.6459, -5.2632}, {9.694, 2.4549, -5.2632}, {9.694, 2.4549, -3.1579}, {9.8636, 1.6459, -3.1579}}], Polygon[{{9.694, 2.4549, -5.2632}, {9.4582, 3.247, -5.2632}, {9.4582, 3.247, -3.1579}, {9.694, 2.4549, -3.1579}}], Polygon[{{9.4582, 3.247, -5.2632}, {9.1577, 4.017, -5.2632}, {9.1577, 4.017, -3.1579}, {9.4582, 3.247, -3.1579}}], Polygon[{{9.1577, 4.017, -5.2632}, {8.7947, 4.7595, -5.2632}, {8.7947, 4.7595, -3.1579}, {9.1577, 4.017, -3.1579}}], Polygon[{{8.7947, 4.7595, -5.2632}, {8.3717, 5.4695, -5.2632}, {8.3717, 5.4695, -3.1579}, {8.7947, 4.7595, -3.1579}}], Polygon[{{8.3717, 5.4695, -5.2632}, {7.8914, 6.1421, -5.2632}, {7.8914, 6.1421, -3.1579}, {8.3717, 5.4695, -3.1579}}], Polygon[{{7.8914, 6.1421, -5.2632}, {7.3572, 6.7728, -5.2632}, {7.3572, 6.7728, -3.1579}, {7.8914, 6.1421, -3.1579}}], Polygon[{{7.3572, 6.7728, -5.2632}, {6.7728, 7.3572, -5.2632}, {6.7728, 7.3572, -3.1579}, {7.3572, 6.7728, -3.1579}}], Polygon[{{6.7728, 7.3572, -5.2632}, {6.1421, 7.8914, -5.2632}, {6.1421, 7.8914, -3.1579}, {6.7728, 7.3572, -3.1579}}], Polygon[{{6.1421, 7.8914, -5.2632}, {5.4695, 8.3717, -5.2632}, {5.4695, 8.3717, -3.1579}, {6.1421, 7.8914, -3.1579}}], Polygon[{{5.4695, 8.3717, -5.2632}, {4.7595, 8.7947, -5.2632}, {4.7595, 8.7947, -3.1579}, {5.4695, 8.3717, -3.1579}}], Polygon[{{4.7595, 8.7947, -5.2632}, {4.017, 9.1577, -5.2632}, {4.017, 9.1577, -3.1579}, {4.7595, 8.7947, -3.1579}}], Polygon[{{4.017, 9.1577, -5.2632}, {3.247, 9.4582, -5.2632}, {3.247, 9.4582, -3.1579}, {4.017, 9.1577, -3.1579}}], Polygon[{{3.247, 9.4582, -5.2632}, {2.4549, 9.694, -5.2632}, {2.4549, 9.694, -3.1579}, {3.247, 9.4582, -3.1579}}], Polygon[{{2.4549, 9.694, -5.2632}, {1.6459, 9.8636, -5.2632}, {1.6459, 9.8636, -3.1579}, {2.4549, 9.694, -3.1579}}], Polygon[{{1.6459, 9.8636, -5.2632}, {0.82579, 9.9658, -5.2632}, {0.82579, 9.9658, -3.1579}, {1.6459, 9.8636, -3.1579}}], Polygon[{{0.82579, 9.9658, -5.2632}, {6.123*^-16, 10., -5.2632}, {6.123*^-16, 10., -3.1579}, {0.82579, 9.9658, -3.1579}}], Polygon[{{10., 0., -3.1579}, {9.9658, 0.82579, -3.1579}, {9.9658, 0.82579, -1.0526}, {10., 0., -1.0526}}], Polygon[{{9.9658, 0.82579, -3.1579}, {9.8636, 1.6459, -3.1579}, {9.8636, 1.6459, -1.0526}, {9.9658, 0.82579, -1.0526}}], Polygon[{{9.8636, 1.6459, -3.1579}, {9.694, 2.4549, -3.1579}, {9.694, 2.4549, -1.0526}, {9.8636, 1.6459, -1.0526}}], Polygon[{{9.694, 2.4549, -3.1579}, {9.4582, 3.247, -3.1579}, {9.4582, 3.247, -1.0526}, {9.694, 2.4549, -1.0526}}], Polygon[{{9.4582, 3.247, -3.1579}, {9.1577, 4.017, -3.1579}, {9.1577, 4.017, -1.0526}, {9.4582, 3.247, -1.0526}}], Polygon[{{9.1577, 4.017, -3.1579}, {8.7947, 4.7595, -3.1579}, {8.7947, 4.7595, -1.0526}, {9.1577, 4.017, -1.0526}}], Polygon[{{8.7947, 4.7595, -3.1579}, {8.3717, 5.4695, -3.1579}, {8.3717, 5.4695, -1.0526}, {8.7947, 4.7595, -1.0526}}], Polygon[{{8.3717, 5.4695, -3.1579}, {7.8914, 6.1421, -3.1579}, {7.8914, 6.1421, -1.0526}, {8.3717, 5.4695, -1.0526}}], Polygon[{{7.8914, 6.1421, -3.1579}, {7.3572, 6.7728, -3.1579}, {7.3572, 6.7728, -1.0526}, {7.8914, 6.1421, -1.0526}}], Polygon[{{7.3572, 6.7728, -3.1579}, {6.7728, 7.3572, -3.1579}, {6.7728, 7.3572, -1.0526}, {7.3572, 6.7728, -1.0526}}], Polygon[{{6.7728, 7.3572, -3.1579}, {6.1421, 7.8914, -3.1579}, {6.1421, 7.8914, -1.0526}, {6.7728, 7.3572, -1.0526}}], Polygon[{{6.1421, 7.8914, -3.1579}, {5.4695, 8.3717, -3.1579}, {5.4695, 8.3717, -1.0526}, {6.1421, 7.8914, -1.0526}}], Polygon[{{5.4695, 8.3717, -3.1579}, {4.7595, 8.7947, -3.1579}, {4.7595, 8.7947, -1.0526}, {5.4695, 8.3717, -1.0526}}], Polygon[{{4.7595, 8.7947, -3.1579}, {4.017, 9.1577, -3.1579}, {4.017, 9.1577, -1.0526}, {4.7595, 8.7947, -1.0526}}], Polygon[{{4.017, 9.1577, -3.1579}, {3.247, 9.4582, -3.1579}, {3.247, 9.4582, -1.0526}, {4.017, 9.1577, -1.0526}}], Polygon[{{3.247, 9.4582, -3.1579}, {2.4549, 9.694, -3.1579}, {2.4549, 9.694, -1.0526}, {3.247, 9.4582, -1.0526}}], Polygon[{{2.4549, 9.694, -3.1579}, {1.6459, 9.8636, -3.1579}, {1.6459, 9.8636, -1.0526}, {2.4549, 9.694, -1.0526}}], Polygon[{{1.6459, 9.8636, -3.1579}, {0.82579, 9.9658, -3.1579}, {0.82579, 9.9658, -1.0526}, {1.6459, 9.8636, -1.0526}}], Polygon[{{0.82579, 9.9658, -3.1579}, {6.123*^-16, 10., -3.1579}, {6.123*^-16, 10., -1.0526}, {0.82579, 9.9658, -1.0526}}], Polygon[{{10., 0., -1.0526}, {9.9658, 0.82579, -1.0526}, {9.9658, 0.82579, 1.0526}, {10., 0., 1.0526}}], Polygon[{{9.9658, 0.82579, -1.0526}, {9.8636, 1.6459, -1.0526}, {9.8636, 1.6459, 1.0526}, {9.9658, 0.82579, 1.0526}}], Polygon[{{9.8636, 1.6459, -1.0526}, {9.694, 2.4549, -1.0526}, {9.694, 2.4549, 1.0526}, {9.8636, 1.6459, 1.0526}}], Polygon[{{9.694, 2.4549, -1.0526}, {9.4582, 3.247, -1.0526}, {9.4582, 3.247, 1.0526}, {9.694, 2.4549, 1.0526}}], Polygon[{{9.4582, 3.247, -1.0526}, {9.1577, 4.017, -1.0526}, {9.1577, 4.017, 1.0526}, {9.4582, 3.247, 1.0526}}], Polygon[{{9.1577, 4.017, -1.0526}, {8.7947, 4.7595, -1.0526}, {8.7947, 4.7595, 1.0526}, {9.1577, 4.017, 1.0526}}], Polygon[{{8.7947, 4.7595, -1.0526}, {8.3717, 5.4695, -1.0526}, {8.3717, 5.4695, 1.0526}, {8.7947, 4.7595, 1.0526}}], Polygon[{{8.3717, 5.4695, -1.0526}, {7.8914, 6.1421, -1.0526}, {7.8914, 6.1421, 1.0526}, {8.3717, 5.4695, 1.0526}}], Polygon[{{7.8914, 6.1421, -1.0526}, {7.3572, 6.7728, -1.0526}, {7.3572, 6.7728, 1.0526}, {7.8914, 6.1421, 1.0526}}], Polygon[{{7.3572, 6.7728, -1.0526}, {6.7728, 7.3572, -1.0526}, {6.7728, 7.3572, 1.0526}, {7.3572, 6.7728, 1.0526}}], Polygon[{{6.7728, 7.3572, -1.0526}, {6.1421, 7.8914, -1.0526}, {6.1421, 7.8914, 1.0526}, {6.7728, 7.3572, 1.0526}}], Polygon[{{6.1421, 7.8914, -1.0526}, {5.4695, 8.3717, -1.0526}, {5.4695, 8.3717, 1.0526}, {6.1421, 7.8914, 1.0526}}], Polygon[{{5.4695, 8.3717, -1.0526}, {4.7595, 8.7947, -1.0526}, {4.7595, 8.7947, 1.0526}, {5.4695, 8.3717, 1.0526}}], Polygon[{{4.7595, 8.7947, -1.0526}, {4.017, 9.1577, -1.0526}, {4.017, 9.1577, 1.0526}, {4.7595, 8.7947, 1.0526}}], Polygon[{{4.017, 9.1577, -1.0526}, {3.247, 9.4582, -1.0526}, {3.247, 9.4582, 1.0526}, {4.017, 9.1577, 1.0526}}], Polygon[{{3.247, 9.4582, -1.0526}, {2.4549, 9.694, -1.0526}, {2.4549, 9.694, 1.0526}, {3.247, 9.4582, 1.0526}}], Polygon[{{2.4549, 9.694, -1.0526}, {1.6459, 9.8636, -1.0526}, {1.6459, 9.8636, 1.0526}, {2.4549, 9.694, 1.0526}}], Polygon[{{1.6459, 9.8636, -1.0526}, {0.82579, 9.9658, -1.0526}, {0.82579, 9.9658, 1.0526}, {1.6459, 9.8636, 1.0526}}], Polygon[{{0.82579, 9.9658, -1.0526}, {6.123*^-16, 10., -1.0526}, {6.123*^-16, 10., 1.0526}, {0.82579, 9.9658, 1.0526}}], Polygon[{{10., 0., 1.0526}, {9.9658, 0.82579, 1.0526}, {9.9658, 0.82579, 3.1579}, {10., 0., 3.1579}}], Polygon[{{9.9658, 0.82579, 1.0526}, {9.8636, 1.6459, 1.0526}, {9.8636, 1.6459, 3.1579}, {9.9658, 0.82579, 3.1579}}], Polygon[{{9.8636, 1.6459, 1.0526}, {9.694, 2.4549, 1.0526}, {9.694, 2.4549, 3.1579}, {9.8636, 1.6459, 3.1579}}], Polygon[{{9.694, 2.4549, 1.0526}, {9.4582, 3.247, 1.0526}, {9.4582, 3.247, 3.1579}, {9.694, 2.4549, 3.1579}}], Polygon[{{9.4582, 3.247, 1.0526}, {9.1577, 4.017, 1.0526}, {9.1577, 4.017, 3.1579}, {9.4582, 3.247, 3.1579}}], Polygon[{{9.1577, 4.017, 1.0526}, {8.7947, 4.7595, 1.0526}, {8.7947, 4.7595, 3.1579}, {9.1577, 4.017, 3.1579}}], Polygon[{{8.7947, 4.7595, 1.0526}, {8.3717, 5.4695, 1.0526}, {8.3717, 5.4695, 3.1579}, {8.7947, 4.7595, 3.1579}}], Polygon[{{8.3717, 5.4695, 1.0526}, {7.8914, 6.1421, 1.0526}, {7.8914, 6.1421, 3.1579}, {8.3717, 5.4695, 3.1579}}], Polygon[{{7.8914, 6.1421, 1.0526}, {7.3572, 6.7728, 1.0526}, {7.3572, 6.7728, 3.1579}, {7.8914, 6.1421, 3.1579}}], Polygon[{{7.3572, 6.7728, 1.0526}, {6.7728, 7.3572, 1.0526}, {6.7728, 7.3572, 3.1579}, {7.3572, 6.7728, 3.1579}}], Polygon[{{6.7728, 7.3572, 1.0526}, {6.1421, 7.8914, 1.0526}, {6.1421, 7.8914, 3.1579}, {6.7728, 7.3572, 3.1579}}], Polygon[{{6.1421, 7.8914, 1.0526}, {5.4695, 8.3717, 1.0526}, {5.4695, 8.3717, 3.1579}, {6.1421, 7.8914, 3.1579}}], Polygon[{{5.4695, 8.3717, 1.0526}, {4.7595, 8.7947, 1.0526}, {4.7595, 8.7947, 3.1579}, {5.4695, 8.3717, 3.1579}}], Polygon[{{4.7595, 8.7947, 1.0526}, {4.017, 9.1577, 1.0526}, {4.017, 9.1577, 3.1579}, {4.7595, 8.7947, 3.1579}}], Polygon[{{4.017, 9.1577, 1.0526}, {3.247, 9.4582, 1.0526}, {3.247, 9.4582, 3.1579}, {4.017, 9.1577, 3.1579}}], Polygon[{{3.247, 9.4582, 1.0526}, {2.4549, 9.694, 1.0526}, {2.4549, 9.694, 3.1579}, {3.247, 9.4582, 3.1579}}], Polygon[{{2.4549, 9.694, 1.0526}, {1.6459, 9.8636, 1.0526}, {1.6459, 9.8636, 3.1579}, {2.4549, 9.694, 3.1579}}], Polygon[{{1.6459, 9.8636, 1.0526}, {0.82579, 9.9658, 1.0526}, {0.82579, 9.9658, 3.1579}, {1.6459, 9.8636, 3.1579}}], Polygon[{{0.82579, 9.9658, 1.0526}, {6.123*^-16, 10., 1.0526}, {6.123*^-16, 10., 3.1579}, {0.82579, 9.9658, 3.1579}}], Polygon[{{10., 0., 3.1579}, {9.9658, 0.82579, 3.1579}, {9.9658, 0.82579, 5.2632}, {10., 0., 5.2632}}], Polygon[{{9.9658, 0.82579, 3.1579}, {9.8636, 1.6459, 3.1579}, {9.8636, 1.6459, 5.2632}, {9.9658, 0.82579, 5.2632}}], Polygon[{{9.8636, 1.6459, 3.1579}, {9.694, 2.4549, 3.1579}, {9.694, 2.4549, 5.2632}, {9.8636, 1.6459, 5.2632}}], Polygon[{{9.694, 2.4549, 3.1579}, {9.4582, 3.247, 3.1579}, {9.4582, 3.247, 5.2632}, {9.694, 2.4549, 5.2632}}], Polygon[{{9.4582, 3.247, 3.1579}, {9.1577, 4.017, 3.1579}, {9.1577, 4.017, 5.2632}, {9.4582, 3.247, 5.2632}}], Polygon[{{9.1577, 4.017, 3.1579}, {8.7947, 4.7595, 3.1579}, {8.7947, 4.7595, 5.2632}, {9.1577, 4.017, 5.2632}}], Polygon[{{8.7947, 4.7595, 3.1579}, {8.3717, 5.4695, 3.1579}, {8.3717, 5.4695, 5.2632}, {8.7947, 4.7595, 5.2632}}], Polygon[{{8.3717, 5.4695, 3.1579}, {7.8914, 6.1421, 3.1579}, {7.8914, 6.1421, 5.2632}, {8.3717, 5.4695, 5.2632}}], Polygon[{{7.8914, 6.1421, 3.1579}, {7.3572, 6.7728, 3.1579}, {7.3572, 6.7728, 5.2632}, {7.8914, 6.1421, 5.2632}}], Polygon[{{7.3572, 6.7728, 3.1579}, {6.7728, 7.3572, 3.1579}, {6.7728, 7.3572, 5.2632}, {7.3572, 6.7728, 5.2632}}], Polygon[{{6.7728, 7.3572, 3.1579}, {6.1421, 7.8914, 3.1579}, {6.1421, 7.8914, 5.2632}, {6.7728, 7.3572, 5.2632}}], Polygon[{{6.1421, 7.8914, 3.1579}, {5.4695, 8.3717, 3.1579}, {5.4695, 8.3717, 5.2632}, {6.1421, 7.8914, 5.2632}}], Polygon[{{5.4695, 8.3717, 3.1579}, {4.7595, 8.7947, 3.1579}, {4.7595, 8.7947, 5.2632}, {5.4695, 8.3717, 5.2632}}], Polygon[{{4.7595, 8.7947, 3.1579}, {4.017, 9.1577, 3.1579}, {4.017, 9.1577, 5.2632}, {4.7595, 8.7947, 5.2632}}], Polygon[{{4.017, 9.1577, 3.1579}, {3.247, 9.4582, 3.1579}, {3.247, 9.4582, 5.2632}, {4.017, 9.1577, 5.2632}}], Polygon[{{3.247, 9.4582, 3.1579}, {2.4549, 9.694, 3.1579}, {2.4549, 9.694, 5.2632}, {3.247, 9.4582, 5.2632}}], Polygon[{{2.4549, 9.694, 3.1579}, {1.6459, 9.8636, 3.1579}, {1.6459, 9.8636, 5.2632}, {2.4549, 9.694, 5.2632}}], Polygon[{{1.6459, 9.8636, 3.1579}, {0.82579, 9.9658, 3.1579}, {0.82579, 9.9658, 5.2632}, {1.6459, 9.8636, 5.2632}}], Polygon[{{0.82579, 9.9658, 3.1579}, {6.123*^-16, 10., 3.1579}, {6.123*^-16, 10., 5.2632}, {0.82579, 9.9658, 5.2632}}], Polygon[{{10., 0., 5.2632}, {9.9658, 0.82579, 5.2632}, {9.9658, 0.82579, 7.3684}, {10., 0., 7.3684}}], Polygon[{{9.9658, 0.82579, 5.2632}, {9.8636, 1.6459, 5.2632}, {9.8636, 1.6459, 7.3684}, {9.9658, 0.82579, 7.3684}}], Polygon[{{9.8636, 1.6459, 5.2632}, {9.694, 2.4549, 5.2632}, {9.694, 2.4549, 7.3684}, {9.8636, 1.6459, 7.3684}}], Polygon[{{9.694, 2.4549, 5.2632}, {9.4582, 3.247, 5.2632}, {9.4582, 3.247, 7.3684}, {9.694, 2.4549, 7.3684}}], Polygon[{{9.4582, 3.247, 5.2632}, {9.1577, 4.017, 5.2632}, {9.1577, 4.017, 7.3684}, {9.4582, 3.247, 7.3684}}], Polygon[{{9.1577, 4.017, 5.2632}, {8.7947, 4.7595, 5.2632}, {8.7947, 4.7595, 7.3684}, {9.1577, 4.017, 7.3684}}], Polygon[{{8.7947, 4.7595, 5.2632}, {8.3717, 5.4695, 5.2632}, {8.3717, 5.4695, 7.3684}, {8.7947, 4.7595, 7.3684}}], Polygon[{{8.3717, 5.4695, 5.2632}, {7.8914, 6.1421, 5.2632}, {7.8914, 6.1421, 7.3684}, {8.3717, 5.4695, 7.3684}}], Polygon[{{7.8914, 6.1421, 5.2632}, {7.3572, 6.7728, 5.2632}, {7.3572, 6.7728, 7.3684}, {7.8914, 6.1421, 7.3684}}], Polygon[{{7.3572, 6.7728, 5.2632}, {6.7728, 7.3572, 5.2632}, {6.7728, 7.3572, 7.3684}, {7.3572, 6.7728, 7.3684}}], Polygon[{{6.7728, 7.3572, 5.2632}, {6.1421, 7.8914, 5.2632}, {6.1421, 7.8914, 7.3684}, {6.7728, 7.3572, 7.3684}}], Polygon[{{6.1421, 7.8914, 5.2632}, {5.4695, 8.3717, 5.2632}, {5.4695, 8.3717, 7.3684}, {6.1421, 7.8914, 7.3684}}], Polygon[{{5.4695, 8.3717, 5.2632}, {4.7595, 8.7947, 5.2632}, {4.7595, 8.7947, 7.3684}, {5.4695, 8.3717, 7.3684}}], Polygon[{{4.7595, 8.7947, 5.2632}, {4.017, 9.1577, 5.2632}, {4.017, 9.1577, 7.3684}, {4.7595, 8.7947, 7.3684}}], Polygon[{{4.017, 9.1577, 5.2632}, {3.247, 9.4582, 5.2632}, {3.247, 9.4582, 7.3684}, {4.017, 9.1577, 7.3684}}], Polygon[{{3.247, 9.4582, 5.2632}, {2.4549, 9.694, 5.2632}, {2.4549, 9.694, 7.3684}, {3.247, 9.4582, 7.3684}}], Polygon[{{2.4549, 9.694, 5.2632}, {1.6459, 9.8636, 5.2632}, {1.6459, 9.8636, 7.3684}, {2.4549, 9.694, 7.3684}}], Polygon[{{1.6459, 9.8636, 5.2632}, {0.82579, 9.9658, 5.2632}, {0.82579, 9.9658, 7.3684}, {1.6459, 9.8636, 7.3684}}], Polygon[{{0.82579, 9.9658, 5.2632}, {6.123*^-16, 10., 5.2632}, {6.123*^-16, 10., 7.3684}, {0.82579, 9.9658, 7.3684}}], Polygon[{{10., 0., 7.3684}, {9.9658, 0.82579, 7.3684}, {9.9658, 0.82579, 9.4737}, {10., 0., 9.4737}}], Polygon[{{9.9658, 0.82579, 7.3684}, {9.8636, 1.6459, 7.3684}, {9.8636, 1.6459, 9.4737}, {9.9658, 0.82579, 9.4737}}], Polygon[{{9.8636, 1.6459, 7.3684}, {9.694, 2.4549, 7.3684}, {9.694, 2.4549, 9.4737}, {9.8636, 1.6459, 9.4737}}], Polygon[{{9.694, 2.4549, 7.3684}, {9.4582, 3.247, 7.3684}, {9.4582, 3.247, 9.4737}, {9.694, 2.4549, 9.4737}}], Polygon[{{9.4582, 3.247, 7.3684}, {9.1577, 4.017, 7.3684}, {9.1577, 4.017, 9.4737}, {9.4582, 3.247, 9.4737}}], Polygon[{{9.1577, 4.017, 7.3684}, {8.7947, 4.7595, 7.3684}, {8.7947, 4.7595, 9.4737}, {9.1577, 4.017, 9.4737}}], Polygon[{{8.7947, 4.7595, 7.3684}, {8.3717, 5.4695, 7.3684}, {8.3717, 5.4695, 9.4737}, {8.7947, 4.7595, 9.4737}}], Polygon[{{8.3717, 5.4695, 7.3684}, {7.8914, 6.1421, 7.3684}, {7.8914, 6.1421, 9.4737}, {8.3717, 5.4695, 9.4737}}], Polygon[{{7.8914, 6.1421, 7.3684}, {7.3572, 6.7728, 7.3684}, {7.3572, 6.7728, 9.4737}, {7.8914, 6.1421, 9.4737}}], Polygon[{{7.3572, 6.7728, 7.3684}, {6.7728, 7.3572, 7.3684}, {6.7728, 7.3572, 9.4737}, {7.3572, 6.7728, 9.4737}}], Polygon[{{6.7728, 7.3572, 7.3684}, {6.1421, 7.8914, 7.3684}, {6.1421, 7.8914, 9.4737}, {6.7728, 7.3572, 9.4737}}], Polygon[{{6.1421, 7.8914, 7.3684}, {5.4695, 8.3717, 7.3684}, {5.4695, 8.3717, 9.4737}, {6.1421, 7.8914, 9.4737}}], Polygon[{{5.4695, 8.3717, 7.3684}, {4.7595, 8.7947, 7.3684}, {4.7595, 8.7947, 9.4737}, {5.4695, 8.3717, 9.4737}}], Polygon[{{4.7595, 8.7947, 7.3684}, {4.017, 9.1577, 7.3684}, {4.017, 9.1577, 9.4737}, {4.7595, 8.7947, 9.4737}}], Polygon[{{4.017, 9.1577, 7.3684}, {3.247, 9.4582, 7.3684}, {3.247, 9.4582, 9.4737}, {4.017, 9.1577, 9.4737}}], Polygon[{{3.247, 9.4582, 7.3684}, {2.4549, 9.694, 7.3684}, {2.4549, 9.694, 9.4737}, {3.247, 9.4582, 9.4737}}], Polygon[{{2.4549, 9.694, 7.3684}, {1.6459, 9.8636, 7.3684}, {1.6459, 9.8636, 9.4737}, {2.4549, 9.694, 9.4737}}], Polygon[{{1.6459, 9.8636, 7.3684}, {0.82579, 9.9658, 7.3684}, {0.82579, 9.9658, 9.4737}, {1.6459, 9.8636, 9.4737}}], Polygon[{{0.82579, 9.9658, 7.3684}, {6.123*^-16, 10., 7.3684}, {6.123*^-16, 10., 9.4737}, {0.82579, 9.9658, 9.4737}}], Polygon[{{10., 0., 9.4737}, {9.9658, 0.82579, 9.4737}, {9.9658, 0.82579, 11.579}, {10., 0., 11.579}}], Polygon[{{9.9658, 0.82579, 9.4737}, {9.8636, 1.6459, 9.4737}, {9.8636, 1.6459, 11.579}, {9.9658, 0.82579, 11.579}}], Polygon[{{9.8636, 1.6459, 9.4737}, {9.694, 2.4549, 9.4737}, {9.694, 2.4549, 11.579}, {9.8636, 1.6459, 11.579}}], Polygon[{{9.694, 2.4549, 9.4737}, {9.4582, 3.247, 9.4737}, {9.4582, 3.247, 11.579}, {9.694, 2.4549, 11.579}}], Polygon[{{9.4582, 3.247, 9.4737}, {9.1577, 4.017, 9.4737}, {9.1577, 4.017, 11.579}, {9.4582, 3.247, 11.579}}], Polygon[{{9.1577, 4.017, 9.4737}, {8.7947, 4.7595, 9.4737}, {8.7947, 4.7595, 11.579}, {9.1577, 4.017, 11.579}}], Polygon[{{8.7947, 4.7595, 9.4737}, {8.3717, 5.4695, 9.4737}, {8.3717, 5.4695, 11.579}, {8.7947, 4.7595, 11.579}}], Polygon[{{8.3717, 5.4695, 9.4737}, {7.8914, 6.1421, 9.4737}, {7.8914, 6.1421, 11.579}, {8.3717, 5.4695, 11.579}}], Polygon[{{7.8914, 6.1421, 9.4737}, {7.3572, 6.7728, 9.4737}, {7.3572, 6.7728, 11.579}, {7.8914, 6.1421, 11.579}}], Polygon[{{7.3572, 6.7728, 9.4737}, {6.7728, 7.3572, 9.4737}, {6.7728, 7.3572, 11.579}, {7.3572, 6.7728, 11.579}}], Polygon[{{6.7728, 7.3572, 9.4737}, {6.1421, 7.8914, 9.4737}, {6.1421, 7.8914, 11.579}, {6.7728, 7.3572, 11.579}}], Polygon[{{6.1421, 7.8914, 9.4737}, {5.4695, 8.3717, 9.4737}, {5.4695, 8.3717, 11.579}, {6.1421, 7.8914, 11.579}}], Polygon[{{5.4695, 8.3717, 9.4737}, {4.7595, 8.7947, 9.4737}, {4.7595, 8.7947, 11.579}, {5.4695, 8.3717, 11.579}}], Polygon[{{4.7595, 8.7947, 9.4737}, {4.017, 9.1577, 9.4737}, {4.017, 9.1577, 11.579}, {4.7595, 8.7947, 11.579}}], Polygon[{{4.017, 9.1577, 9.4737}, {3.247, 9.4582, 9.4737}, {3.247, 9.4582, 11.579}, {4.017, 9.1577, 11.579}}], Polygon[{{3.247, 9.4582, 9.4737}, {2.4549, 9.694, 9.4737}, {2.4549, 9.694, 11.579}, {3.247, 9.4582, 11.579}}], Polygon[{{2.4549, 9.694, 9.4737}, {1.6459, 9.8636, 9.4737}, {1.6459, 9.8636, 11.579}, {2.4549, 9.694, 11.579}}], Polygon[{{1.6459, 9.8636, 9.4737}, {0.82579, 9.9658, 9.4737}, {0.82579, 9.9658, 11.579}, {1.6459, 9.8636, 11.579}}], Polygon[{{0.82579, 9.9658, 9.4737}, {6.123*^-16, 10., 9.4737}, {6.123*^-16, 10., 11.579}, {0.82579, 9.9658, 11.579}}], Polygon[{{10., 0., 11.579}, {9.9658, 0.82579, 11.579}, {9.9658, 0.82579, 13.684}, {10., 0., 13.684}}], Polygon[{{9.9658, 0.82579, 11.579}, {9.8636, 1.6459, 11.579}, {9.8636, 1.6459, 13.684}, {9.9658, 0.82579, 13.684}}], Polygon[{{9.8636, 1.6459, 11.579}, {9.694, 2.4549, 11.579}, {9.694, 2.4549, 13.684}, {9.8636, 1.6459, 13.684}}], Polygon[{{9.694, 2.4549, 11.579}, {9.4582, 3.247, 11.579}, {9.4582, 3.247, 13.684}, {9.694, 2.4549, 13.684}}], Polygon[{{9.4582, 3.247, 11.579}, {9.1577, 4.017, 11.579}, {9.1577, 4.017, 13.684}, {9.4582, 3.247, 13.684}}], Polygon[{{9.1577, 4.017, 11.579}, {8.7947, 4.7595, 11.579}, {8.7947, 4.7595, 13.684}, {9.1577, 4.017, 13.684}}], Polygon[{{8.7947, 4.7595, 11.579}, {8.3717, 5.4695, 11.579}, {8.3717, 5.4695, 13.684}, {8.7947, 4.7595, 13.684}}], Polygon[{{8.3717, 5.4695, 11.579}, {7.8914, 6.1421, 11.579}, {7.8914, 6.1421, 13.684}, {8.3717, 5.4695, 13.684}}], Polygon[{{7.8914, 6.1421, 11.579}, {7.3572, 6.7728, 11.579}, {7.3572, 6.7728, 13.684}, {7.8914, 6.1421, 13.684}}], Polygon[{{7.3572, 6.7728, 11.579}, {6.7728, 7.3572, 11.579}, {6.7728, 7.3572, 13.684}, {7.3572, 6.7728, 13.684}}], Polygon[{{6.7728, 7.3572, 11.579}, {6.1421, 7.8914, 11.579}, {6.1421, 7.8914, 13.684}, {6.7728, 7.3572, 13.684}}], Polygon[{{6.1421, 7.8914, 11.579}, {5.4695, 8.3717, 11.579}, {5.4695, 8.3717, 13.684}, {6.1421, 7.8914, 13.684}}], Polygon[{{5.4695, 8.3717, 11.579}, {4.7595, 8.7947, 11.579}, {4.7595, 8.7947, 13.684}, {5.4695, 8.3717, 13.684}}], Polygon[{{4.7595, 8.7947, 11.579}, {4.017, 9.1577, 11.579}, {4.017, 9.1577, 13.684}, {4.7595, 8.7947, 13.684}}], Polygon[{{4.017, 9.1577, 11.579}, {3.247, 9.4582, 11.579}, {3.247, 9.4582, 13.684}, {4.017, 9.1577, 13.684}}], Polygon[{{3.247, 9.4582, 11.579}, {2.4549, 9.694, 11.579}, {2.4549, 9.694, 13.684}, {3.247, 9.4582, 13.684}}], Polygon[{{2.4549, 9.694, 11.579}, {1.6459, 9.8636, 11.579}, {1.6459, 9.8636, 13.684}, {2.4549, 9.694, 13.684}}], Polygon[{{1.6459, 9.8636, 11.579}, {0.82579, 9.9658, 11.579}, {0.82579, 9.9658, 13.684}, {1.6459, 9.8636, 13.684}}], Polygon[{{0.82579, 9.9658, 11.579}, {6.123*^-16, 10., 11.579}, {6.123*^-16, 10., 13.684}, {0.82579, 9.9658, 13.684}}], Polygon[{{10., 0., 13.684}, {9.9658, 0.82579, 13.684}, {9.9658, 0.82579, 15.789}, {10., 0., 15.789}}], Polygon[{{9.9658, 0.82579, 13.684}, {9.8636, 1.6459, 13.684}, {9.8636, 1.6459, 15.789}, {9.9658, 0.82579, 15.789}}], Polygon[{{9.8636, 1.6459, 13.684}, {9.694, 2.4549, 13.684}, {9.694, 2.4549, 15.789}, {9.8636, 1.6459, 15.789}}], Polygon[{{9.694, 2.4549, 13.684}, {9.4582, 3.247, 13.684}, {9.4582, 3.247, 15.789}, {9.694, 2.4549, 15.789}}], Polygon[{{9.4582, 3.247, 13.684}, {9.1577, 4.017, 13.684}, {9.1577, 4.017, 15.789}, {9.4582, 3.247, 15.789}}], Polygon[{{9.1577, 4.017, 13.684}, {8.7947, 4.7595, 13.684}, {8.7947, 4.7595, 15.789}, {9.1577, 4.017, 15.789}}], Polygon[{{8.7947, 4.7595, 13.684}, {8.3717, 5.4695, 13.684}, {8.3717, 5.4695, 15.789}, {8.7947, 4.7595, 15.789}}], Polygon[{{8.3717, 5.4695, 13.684}, {7.8914, 6.1421, 13.684}, {7.8914, 6.1421, 15.789}, {8.3717, 5.4695, 15.789}}], Polygon[{{7.8914, 6.1421, 13.684}, {7.3572, 6.7728, 13.684}, {7.3572, 6.7728, 15.789}, {7.8914, 6.1421, 15.789}}], Polygon[{{7.3572, 6.7728, 13.684}, {6.7728, 7.3572, 13.684}, {6.7728, 7.3572, 15.789}, {7.3572, 6.7728, 15.789}}], Polygon[{{6.7728, 7.3572, 13.684}, {6.1421, 7.8914, 13.684}, {6.1421, 7.8914, 15.789}, {6.7728, 7.3572, 15.789}}], Polygon[{{6.1421, 7.8914, 13.684}, {5.4695, 8.3717, 13.684}, {5.4695, 8.3717, 15.789}, {6.1421, 7.8914, 15.789}}], Polygon[{{5.4695, 8.3717, 13.684}, {4.7595, 8.7947, 13.684}, {4.7595, 8.7947, 15.789}, {5.4695, 8.3717, 15.789}}], Polygon[{{4.7595, 8.7947, 13.684}, {4.017, 9.1577, 13.684}, {4.017, 9.1577, 15.789}, {4.7595, 8.7947, 15.789}}], Polygon[{{4.017, 9.1577, 13.684}, {3.247, 9.4582, 13.684}, {3.247, 9.4582, 15.789}, {4.017, 9.1577, 15.789}}], Polygon[{{3.247, 9.4582, 13.684}, {2.4549, 9.694, 13.684}, {2.4549, 9.694, 15.789}, {3.247, 9.4582, 15.789}}], Polygon[{{2.4549, 9.694, 13.684}, {1.6459, 9.8636, 13.684}, {1.6459, 9.8636, 15.789}, {2.4549, 9.694, 15.789}}], Polygon[{{1.6459, 9.8636, 13.684}, {0.82579, 9.9658, 13.684}, {0.82579, 9.9658, 15.789}, {1.6459, 9.8636, 15.789}}], Polygon[{{0.82579, 9.9658, 13.684}, {6.123*^-16, 10., 13.684}, {6.123*^-16, 10., 15.789}, {0.82579, 9.9658, 15.789}}], Polygon[{{10., 0., 15.789}, {9.9658, 0.82579, 15.789}, {9.9658, 0.82579, 17.895}, {10., 0., 17.895}}], Polygon[{{9.9658, 0.82579, 15.789}, {9.8636, 1.6459, 15.789}, {9.8636, 1.6459, 17.895}, {9.9658, 0.82579, 17.895}}], Polygon[{{9.8636, 1.6459, 15.789}, {9.694, 2.4549, 15.789}, {9.694, 2.4549, 17.895}, {9.8636, 1.6459, 17.895}}], Polygon[{{9.694, 2.4549, 15.789}, {9.4582, 3.247, 15.789}, {9.4582, 3.247, 17.895}, {9.694, 2.4549, 17.895}}], Polygon[{{9.4582, 3.247, 15.789}, {9.1577, 4.017, 15.789}, {9.1577, 4.017, 17.895}, {9.4582, 3.247, 17.895}}], Polygon[{{9.1577, 4.017, 15.789}, {8.7947, 4.7595, 15.789}, {8.7947, 4.7595, 17.895}, {9.1577, 4.017, 17.895}}], Polygon[{{8.7947, 4.7595, 15.789}, {8.3717, 5.4695, 15.789}, {8.3717, 5.4695, 17.895}, {8.7947, 4.7595, 17.895}}], Polygon[{{8.3717, 5.4695, 15.789}, {7.8914, 6.1421, 15.789}, {7.8914, 6.1421, 17.895}, {8.3717, 5.4695, 17.895}}], Polygon[{{7.8914, 6.1421, 15.789}, {7.3572, 6.7728, 15.789}, {7.3572, 6.7728, 17.895}, {7.8914, 6.1421, 17.895}}], Polygon[{{7.3572, 6.7728, 15.789}, {6.7728, 7.3572, 15.789}, {6.7728, 7.3572, 17.895}, {7.3572, 6.7728, 17.895}}], Polygon[{{6.7728, 7.3572, 15.789}, {6.1421, 7.8914, 15.789}, {6.1421, 7.8914, 17.895}, {6.7728, 7.3572, 17.895}}], Polygon[{{6.1421, 7.8914, 15.789}, {5.4695, 8.3717, 15.789}, {5.4695, 8.3717, 17.895}, {6.1421, 7.8914, 17.895}}], Polygon[{{5.4695, 8.3717, 15.789}, {4.7595, 8.7947, 15.789}, {4.7595, 8.7947, 17.895}, {5.4695, 8.3717, 17.895}}], Polygon[{{4.7595, 8.7947, 15.789}, {4.017, 9.1577, 15.789}, {4.017, 9.1577, 17.895}, {4.7595, 8.7947, 17.895}}], Polygon[{{4.017, 9.1577, 15.789}, {3.247, 9.4582, 15.789}, {3.247, 9.4582, 17.895}, {4.017, 9.1577, 17.895}}], Polygon[{{3.247, 9.4582, 15.789}, {2.4549, 9.694, 15.789}, {2.4549, 9.694, 17.895}, {3.247, 9.4582, 17.895}}], Polygon[{{2.4549, 9.694, 15.789}, {1.6459, 9.8636, 15.789}, {1.6459, 9.8636, 17.895}, {2.4549, 9.694, 17.895}}], Polygon[{{1.6459, 9.8636, 15.789}, {0.82579, 9.9658, 15.789}, {0.82579, 9.9658, 17.895}, {1.6459, 9.8636, 17.895}}], Polygon[{{0.82579, 9.9658, 15.789}, {6.123*^-16, 10., 15.789}, {6.123*^-16, 10., 17.895}, {0.82579, 9.9658, 17.895}}], Polygon[{{10., 0., 17.895}, {9.9658, 0.82579, 17.895}, {9.9658, 0.82579, 20.}, {10., 0., 20.}}], Polygon[{{9.9658, 0.82579, 17.895}, {9.8636, 1.6459, 17.895}, {9.8636, 1.6459, 20.}, {9.9658, 0.82579, 20.}}], Polygon[{{9.8636, 1.6459, 17.895}, {9.694, 2.4549, 17.895}, {9.694, 2.4549, 20.}, {9.8636, 1.6459, 20.}}], Polygon[{{9.694, 2.4549, 17.895}, {9.4582, 3.247, 17.895}, {9.4582, 3.247, 20.}, {9.694, 2.4549, 20.}}], Polygon[{{9.4582, 3.247, 17.895}, {9.1577, 4.017, 17.895}, {9.1577, 4.017, 20.}, {9.4582, 3.247, 20.}}], Polygon[{{9.1577, 4.017, 17.895}, {8.7947, 4.7595, 17.895}, {8.7947, 4.7595, 20.}, {9.1577, 4.017, 20.}}], Polygon[{{8.7947, 4.7595, 17.895}, {8.3717, 5.4695, 17.895}, {8.3717, 5.4695, 20.}, {8.7947, 4.7595, 20.}}], Polygon[{{8.3717, 5.4695, 17.895}, {7.8914, 6.1421, 17.895}, {7.8914, 6.1421, 20.}, {8.3717, 5.4695, 20.}}], Polygon[{{7.8914, 6.1421, 17.895}, {7.3572, 6.7728, 17.895}, {7.3572, 6.7728, 20.}, {7.8914, 6.1421, 20.}}], Polygon[{{7.3572, 6.7728, 17.895}, {6.7728, 7.3572, 17.895}, {6.7728, 7.3572, 20.}, {7.3572, 6.7728, 20.}}], Polygon[{{6.7728, 7.3572, 17.895}, {6.1421, 7.8914, 17.895}, {6.1421, 7.8914, 20.}, {6.7728, 7.3572, 20.}}], Polygon[{{6.1421, 7.8914, 17.895}, {5.4695, 8.3717, 17.895}, {5.4695, 8.3717, 20.}, {6.1421, 7.8914, 20.}}], Polygon[{{5.4695, 8.3717, 17.895}, {4.7595, 8.7947, 17.895}, {4.7595, 8.7947, 20.}, {5.4695, 8.3717, 20.}}], Polygon[{{4.7595, 8.7947, 17.895}, {4.017, 9.1577, 17.895}, {4.017, 9.1577, 20.}, {4.7595, 8.7947, 20.}}], Polygon[{{4.017, 9.1577, 17.895}, {3.247, 9.4582, 17.895}, {3.247, 9.4582, 20.}, {4.017, 9.1577, 20.}}], Polygon[{{3.247, 9.4582, 17.895}, {2.4549, 9.694, 17.895}, {2.4549, 9.694, 20.}, {3.247, 9.4582, 20.}}], Polygon[{{2.4549, 9.694, 17.895}, {1.6459, 9.8636, 17.895}, {1.6459, 9.8636, 20.}, {2.4549, 9.694, 20.}}], Polygon[{{1.6459, 9.8636, 17.895}, {0.82579, 9.9658, 17.895}, {0.82579, 9.9658, 20.}, {1.6459, 9.8636, 20.}}], Polygon[{{0.82579, 9.9658, 17.895}, {6.123*^-16, 10., 17.895}, {6.123*^-16, 10., 20.}, {0.82579, 9.9658, 20.}}]}, {Polygon[{{15., 0., -20.}, {14.949, 1.2387, -20.}, {14.949, 1.2387, -17.895}, {15., 0., -17.895}}], Polygon[{{14.949, 1.2387, -20.}, {14.795, 2.4689, -20.}, {14.795, 2.4689, -17.895}, {14.949, 1.2387, -17.895}}], Polygon[{{14.795, 2.4689, -20.}, {14.541, 3.6823, -20.}, {14.541, 3.6823, -17.895}, {14.795, 2.4689, -17.895}}], Polygon[{{14.541, 3.6823, -20.}, {14.187, 4.8705, -20.}, {14.187, 4.8705, -17.895}, {14.541, 3.6823, -17.895}}], Polygon[{{14.187, 4.8705, -20.}, {13.737, 6.0254, -20.}, {13.737, 6.0254, -17.895}, {14.187, 4.8705, -17.895}}], Polygon[{{13.737, 6.0254, -20.}, {13.192, 7.1392, -20.}, {13.192, 7.1392, -17.895}, {13.737, 6.0254, -17.895}}], Polygon[{{13.192, 7.1392, -20.}, {12.557, 8.2042, -20.}, {12.557, 8.2042, -17.895}, {13.192, 7.1392, -17.895}}], Polygon[{{12.557, 8.2042, -20.}, {11.837, 9.2132, -20.}, {11.837, 9.2132, -17.895}, {12.557, 8.2042, -17.895}}], Polygon[{{11.837, 9.2132, -20.}, {11.036, 10.159, -20.}, {11.036, 10.159, -17.895}, {11.837, 9.2132, -17.895}}], Polygon[{{11.036, 10.159, -20.}, {10.159, 11.036, -20.}, {10.159, 11.036, -17.895}, {11.036, 10.159, -17.895}}], Polygon[{{10.159, 11.036, -20.}, {9.2132, 11.837, -20.}, {9.2132, 11.837, -17.895}, {10.159, 11.036, -17.895}}], Polygon[{{9.2132, 11.837, -20.}, {8.2042, 12.557, -20.}, {8.2042, 12.557, -17.895}, {9.2132, 11.837, -17.895}}], Polygon[{{8.2042, 12.557, -20.}, {7.1392, 13.192, -20.}, {7.1392, 13.192, -17.895}, {8.2042, 12.557, -17.895}}], Polygon[{{7.1392, 13.192, -20.}, {6.0254, 13.737, -20.}, {6.0254, 13.737, -17.895}, {7.1392, 13.192, -17.895}}], Polygon[{{6.0254, 13.737, -20.}, {4.8705, 14.187, -20.}, {4.8705, 14.187, -17.895}, {6.0254, 13.737, -17.895}}], Polygon[{{4.8705, 14.187, -20.}, {3.6823, 14.541, -20.}, {3.6823, 14.541, -17.895}, {4.8705, 14.187, -17.895}}], Polygon[{{3.6823, 14.541, -20.}, {2.4689, 14.795, -20.}, {2.4689, 14.795, -17.895}, {3.6823, 14.541, -17.895}}], Polygon[{{2.4689, 14.795, -20.}, {1.2387, 14.949, -20.}, {1.2387, 14.949, -17.895}, {2.4689, 14.795, -17.895}}], Polygon[{{1.2387, 14.949, -20.}, {9.1845*^-16, 15., -20.}, {9.1845*^-16, 15., -17.895}, {1.2387, 14.949, -17.895}}], Polygon[{{15., 0., -17.895}, {14.949, 1.2387, -17.895}, {14.949, 1.2387, -15.789}, {15., 0., -15.789}}], Polygon[{{14.949, 1.2387, -17.895}, {14.795, 2.4689, -17.895}, {14.795, 2.4689, -15.789}, {14.949, 1.2387, -15.789}}], Polygon[{{14.795, 2.4689, -17.895}, {14.541, 3.6823, -17.895}, {14.541, 3.6823, -15.789}, {14.795, 2.4689, -15.789}}], Polygon[{{14.541, 3.6823, -17.895}, {14.187, 4.8705, -17.895}, {14.187, 4.8705, -15.789}, {14.541, 3.6823, -15.789}}], Polygon[{{14.187, 4.8705, -17.895}, {13.737, 6.0254, -17.895}, {13.737, 6.0254, -15.789}, {14.187, 4.8705, -15.789}}], Polygon[{{13.737, 6.0254, -17.895}, {13.192, 7.1392, -17.895}, {13.192, 7.1392, -15.789}, {13.737, 6.0254, -15.789}}], Polygon[{{13.192, 7.1392, -17.895}, {12.557, 8.2042, -17.895}, {12.557, 8.2042, -15.789}, {13.192, 7.1392, -15.789}}], Polygon[{{12.557, 8.2042, -17.895}, {11.837, 9.2132, -17.895}, {11.837, 9.2132, -15.789}, {12.557, 8.2042, -15.789}}], Polygon[{{11.837, 9.2132, -17.895}, {11.036, 10.159, -17.895}, {11.036, 10.159, -15.789}, {11.837, 9.2132, -15.789}}], Polygon[{{11.036, 10.159, -17.895}, {10.159, 11.036, -17.895}, {10.159, 11.036, -15.789}, {11.036, 10.159, -15.789}}], Polygon[{{10.159, 11.036, -17.895}, {9.2132, 11.837, -17.895}, {9.2132, 11.837, -15.789}, {10.159, 11.036, -15.789}}], Polygon[{{9.2132, 11.837, -17.895}, {8.2042, 12.557, -17.895}, {8.2042, 12.557, -15.789}, {9.2132, 11.837, -15.789}}], Polygon[{{8.2042, 12.557, -17.895}, {7.1392, 13.192, -17.895}, {7.1392, 13.192, -15.789}, {8.2042, 12.557, -15.789}}], Polygon[{{7.1392, 13.192, -17.895}, {6.0254, 13.737, -17.895}, {6.0254, 13.737, -15.789}, {7.1392, 13.192, -15.789}}], Polygon[{{6.0254, 13.737, -17.895}, {4.8705, 14.187, -17.895}, {4.8705, 14.187, -15.789}, {6.0254, 13.737, -15.789}}], Polygon[{{4.8705, 14.187, -17.895}, {3.6823, 14.541, -17.895}, {3.6823, 14.541, -15.789}, {4.8705, 14.187, -15.789}}], Polygon[{{3.6823, 14.541, -17.895}, {2.4689, 14.795, -17.895}, {2.4689, 14.795, -15.789}, {3.6823, 14.541, -15.789}}], Polygon[{{2.4689, 14.795, -17.895}, {1.2387, 14.949, -17.895}, {1.2387, 14.949, -15.789}, {2.4689, 14.795, -15.789}}], Polygon[{{1.2387, 14.949, -17.895}, {9.1845*^-16, 15., -17.895}, {9.1845*^-16, 15., -15.789}, {1.2387, 14.949, -15.789}}], Polygon[{{15., 0., -15.789}, {14.949, 1.2387, -15.789}, {14.949, 1.2387, -13.684}, {15., 0., -13.684}}], Polygon[{{14.949, 1.2387, -15.789}, {14.795, 2.4689, -15.789}, {14.795, 2.4689, -13.684}, {14.949, 1.2387, -13.684}}], Polygon[{{14.795, 2.4689, -15.789}, {14.541, 3.6823, -15.789}, {14.541, 3.6823, -13.684}, {14.795, 2.4689, -13.684}}], Polygon[{{14.541, 3.6823, -15.789}, {14.187, 4.8705, -15.789}, {14.187, 4.8705, -13.684}, {14.541, 3.6823, -13.684}}], Polygon[{{14.187, 4.8705, -15.789}, {13.737, 6.0254, -15.789}, {13.737, 6.0254, -13.684}, {14.187, 4.8705, -13.684}}], Polygon[{{13.737, 6.0254, -15.789}, {13.192, 7.1392, -15.789}, {13.192, 7.1392, -13.684}, {13.737, 6.0254, -13.684}}], Polygon[{{13.192, 7.1392, -15.789}, {12.557, 8.2042, -15.789}, {12.557, 8.2042, -13.684}, {13.192, 7.1392, -13.684}}], Polygon[{{12.557, 8.2042, -15.789}, {11.837, 9.2132, -15.789}, {11.837, 9.2132, -13.684}, {12.557, 8.2042, -13.684}}], Polygon[{{11.837, 9.2132, -15.789}, {11.036, 10.159, -15.789}, {11.036, 10.159, -13.684}, {11.837, 9.2132, -13.684}}], Polygon[{{11.036, 10.159, -15.789}, {10.159, 11.036, -15.789}, {10.159, 11.036, -13.684}, {11.036, 10.159, -13.684}}], Polygon[{{10.159, 11.036, -15.789}, {9.2132, 11.837, -15.789}, {9.2132, 11.837, -13.684}, {10.159, 11.036, -13.684}}], Polygon[{{9.2132, 11.837, -15.789}, {8.2042, 12.557, -15.789}, {8.2042, 12.557, -13.684}, {9.2132, 11.837, -13.684}}], Polygon[{{8.2042, 12.557, -15.789}, {7.1392, 13.192, -15.789}, {7.1392, 13.192, -13.684}, {8.2042, 12.557, -13.684}}], Polygon[{{7.1392, 13.192, -15.789}, {6.0254, 13.737, -15.789}, {6.0254, 13.737, -13.684}, {7.1392, 13.192, -13.684}}], Polygon[{{6.0254, 13.737, -15.789}, {4.8705, 14.187, -15.789}, {4.8705, 14.187, -13.684}, {6.0254, 13.737, -13.684}}], Polygon[{{4.8705, 14.187, -15.789}, {3.6823, 14.541, -15.789}, {3.6823, 14.541, -13.684}, {4.8705, 14.187, -13.684}}], Polygon[{{3.6823, 14.541, -15.789}, {2.4689, 14.795, -15.789}, {2.4689, 14.795, -13.684}, {3.6823, 14.541, -13.684}}], Polygon[{{2.4689, 14.795, -15.789}, {1.2387, 14.949, -15.789}, {1.2387, 14.949, -13.684}, {2.4689, 14.795, -13.684}}], Polygon[{{1.2387, 14.949, -15.789}, {9.1845*^-16, 15., -15.789}, {9.1845*^-16, 15., -13.684}, {1.2387, 14.949, -13.684}}], Polygon[{{15., 0., -13.684}, {14.949, 1.2387, -13.684}, {14.949, 1.2387, -11.579}, {15., 0., -11.579}}], Polygon[{{14.949, 1.2387, -13.684}, {14.795, 2.4689, -13.684}, {14.795, 2.4689, -11.579}, {14.949, 1.2387, -11.579}}], Polygon[{{14.795, 2.4689, -13.684}, {14.541, 3.6823, -13.684}, {14.541, 3.6823, -11.579}, {14.795, 2.4689, -11.579}}], Polygon[{{14.541, 3.6823, -13.684}, {14.187, 4.8705, -13.684}, {14.187, 4.8705, -11.579}, {14.541, 3.6823, -11.579}}], Polygon[{{14.187, 4.8705, -13.684}, {13.737, 6.0254, -13.684}, {13.737, 6.0254, -11.579}, {14.187, 4.8705, -11.579}}], Polygon[{{13.737, 6.0254, -13.684}, {13.192, 7.1392, -13.684}, {13.192, 7.1392, -11.579}, {13.737, 6.0254, -11.579}}], Polygon[{{13.192, 7.1392, -13.684}, {12.557, 8.2042, -13.684}, {12.557, 8.2042, -11.579}, {13.192, 7.1392, -11.579}}], Polygon[{{12.557, 8.2042, -13.684}, {11.837, 9.2132, -13.684}, {11.837, 9.2132, -11.579}, {12.557, 8.2042, -11.579}}], Polygon[{{11.837, 9.2132, -13.684}, {11.036, 10.159, -13.684}, {11.036, 10.159, -11.579}, {11.837, 9.2132, -11.579}}], Polygon[{{11.036, 10.159, -13.684}, {10.159, 11.036, -13.684}, {10.159, 11.036, -11.579}, {11.036, 10.159, -11.579}}], Polygon[{{10.159, 11.036, -13.684}, {9.2132, 11.837, -13.684}, {9.2132, 11.837, -11.579}, {10.159, 11.036, -11.579}}], Polygon[{{9.2132, 11.837, -13.684}, {8.2042, 12.557, -13.684}, {8.2042, 12.557, -11.579}, {9.2132, 11.837, -11.579}}], Polygon[{{8.2042, 12.557, -13.684}, {7.1392, 13.192, -13.684}, {7.1392, 13.192, -11.579}, {8.2042, 12.557, -11.579}}], Polygon[{{7.1392, 13.192, -13.684}, {6.0254, 13.737, -13.684}, {6.0254, 13.737, -11.579}, {7.1392, 13.192, -11.579}}], Polygon[{{6.0254, 13.737, -13.684}, {4.8705, 14.187, -13.684}, {4.8705, 14.187, -11.579}, {6.0254, 13.737, -11.579}}], Polygon[{{4.8705, 14.187, -13.684}, {3.6823, 14.541, -13.684}, {3.6823, 14.541, -11.579}, {4.8705, 14.187, -11.579}}], Polygon[{{3.6823, 14.541, -13.684}, {2.4689, 14.795, -13.684}, {2.4689, 14.795, -11.579}, {3.6823, 14.541, -11.579}}], Polygon[{{2.4689, 14.795, -13.684}, {1.2387, 14.949, -13.684}, {1.2387, 14.949, -11.579}, {2.4689, 14.795, -11.579}}], Polygon[{{1.2387, 14.949, -13.684}, {9.1845*^-16, 15., -13.684}, {9.1845*^-16, 15., -11.579}, {1.2387, 14.949, -11.579}}], Polygon[{{15., 0., -11.579}, {14.949, 1.2387, -11.579}, {14.949, 1.2387, -9.4737}, {15., 0., -9.4737}}], Polygon[{{14.949, 1.2387, -11.579}, {14.795, 2.4689, -11.579}, {14.795, 2.4689, -9.4737}, {14.949, 1.2387, -9.4737}}], Polygon[{{14.795, 2.4689, -11.579}, {14.541, 3.6823, -11.579}, {14.541, 3.6823, -9.4737}, {14.795, 2.4689, -9.4737}}], Polygon[{{14.541, 3.6823, -11.579}, {14.187, 4.8705, -11.579}, {14.187, 4.8705, -9.4737}, {14.541, 3.6823, -9.4737}}], Polygon[{{14.187, 4.8705, -11.579}, {13.737, 6.0254, -11.579}, {13.737, 6.0254, -9.4737}, {14.187, 4.8705, -9.4737}}], Polygon[{{13.737, 6.0254, -11.579}, {13.192, 7.1392, -11.579}, {13.192, 7.1392, -9.4737}, {13.737, 6.0254, -9.4737}}], Polygon[{{13.192, 7.1392, -11.579}, {12.557, 8.2042, -11.579}, {12.557, 8.2042, -9.4737}, {13.192, 7.1392, -9.4737}}], Polygon[{{12.557, 8.2042, -11.579}, {11.837, 9.2132, -11.579}, {11.837, 9.2132, -9.4737}, {12.557, 8.2042, -9.4737}}], Polygon[{{11.837, 9.2132, -11.579}, {11.036, 10.159, -11.579}, {11.036, 10.159, -9.4737}, {11.837, 9.2132, -9.4737}}], Polygon[{{11.036, 10.159, -11.579}, {10.159, 11.036, -11.579}, {10.159, 11.036, -9.4737}, {11.036, 10.159, -9.4737}}], Polygon[{{10.159, 11.036, -11.579}, {9.2132, 11.837, -11.579}, {9.2132, 11.837, -9.4737}, {10.159, 11.036, -9.4737}}], Polygon[{{9.2132, 11.837, -11.579}, {8.2042, 12.557, -11.579}, {8.2042, 12.557, -9.4737}, {9.2132, 11.837, -9.4737}}], Polygon[{{8.2042, 12.557, -11.579}, {7.1392, 13.192, -11.579}, {7.1392, 13.192, -9.4737}, {8.2042, 12.557, -9.4737}}], Polygon[{{7.1392, 13.192, -11.579}, {6.0254, 13.737, -11.579}, {6.0254, 13.737, -9.4737}, {7.1392, 13.192, -9.4737}}], Polygon[{{6.0254, 13.737, -11.579}, {4.8705, 14.187, -11.579}, {4.8705, 14.187, -9.4737}, {6.0254, 13.737, -9.4737}}], Polygon[{{4.8705, 14.187, -11.579}, {3.6823, 14.541, -11.579}, {3.6823, 14.541, -9.4737}, {4.8705, 14.187, -9.4737}}], Polygon[{{3.6823, 14.541, -11.579}, {2.4689, 14.795, -11.579}, {2.4689, 14.795, -9.4737}, {3.6823, 14.541, -9.4737}}], Polygon[{{2.4689, 14.795, -11.579}, {1.2387, 14.949, -11.579}, {1.2387, 14.949, -9.4737}, {2.4689, 14.795, -9.4737}}], Polygon[{{1.2387, 14.949, -11.579}, {9.1845*^-16, 15., -11.579}, {9.1845*^-16, 15., -9.4737}, {1.2387, 14.949, -9.4737}}], Polygon[{{15., 0., -9.4737}, {14.949, 1.2387, -9.4737}, {14.949, 1.2387, -7.3684}, {15., 0., -7.3684}}], Polygon[{{14.949, 1.2387, -9.4737}, {14.795, 2.4689, -9.4737}, {14.795, 2.4689, -7.3684}, {14.949, 1.2387, -7.3684}}], Polygon[{{14.795, 2.4689, -9.4737}, {14.541, 3.6823, -9.4737}, {14.541, 3.6823, -7.3684}, {14.795, 2.4689, -7.3684}}], Polygon[{{14.541, 3.6823, -9.4737}, {14.187, 4.8705, -9.4737}, {14.187, 4.8705, -7.3684}, {14.541, 3.6823, -7.3684}}], Polygon[{{14.187, 4.8705, -9.4737}, {13.737, 6.0254, -9.4737}, {13.737, 6.0254, -7.3684}, {14.187, 4.8705, -7.3684}}], Polygon[{{13.737, 6.0254, -9.4737}, {13.192, 7.1392, -9.4737}, {13.192, 7.1392, -7.3684}, {13.737, 6.0254, -7.3684}}], Polygon[{{13.192, 7.1392, -9.4737}, {12.557, 8.2042, -9.4737}, {12.557, 8.2042, -7.3684}, {13.192, 7.1392, -7.3684}}], Polygon[{{12.557, 8.2042, -9.4737}, {11.837, 9.2132, -9.4737}, {11.837, 9.2132, -7.3684}, {12.557, 8.2042, -7.3684}}], Polygon[{{11.837, 9.2132, -9.4737}, {11.036, 10.159, -9.4737}, {11.036, 10.159, -7.3684}, {11.837, 9.2132, -7.3684}}], Polygon[{{11.036, 10.159, -9.4737}, {10.159, 11.036, -9.4737}, {10.159, 11.036, -7.3684}, {11.036, 10.159, -7.3684}}], Polygon[{{10.159, 11.036, -9.4737}, {9.2132, 11.837, -9.4737}, {9.2132, 11.837, -7.3684}, {10.159, 11.036, -7.3684}}], Polygon[{{9.2132, 11.837, -9.4737}, {8.2042, 12.557, -9.4737}, {8.2042, 12.557, -7.3684}, {9.2132, 11.837, -7.3684}}], Polygon[{{8.2042, 12.557, -9.4737}, {7.1392, 13.192, -9.4737}, {7.1392, 13.192, -7.3684}, {8.2042, 12.557, -7.3684}}], Polygon[{{7.1392, 13.192, -9.4737}, {6.0254, 13.737, -9.4737}, {6.0254, 13.737, -7.3684}, {7.1392, 13.192, -7.3684}}], Polygon[{{6.0254, 13.737, -9.4737}, {4.8705, 14.187, -9.4737}, {4.8705, 14.187, -7.3684}, {6.0254, 13.737, -7.3684}}], Polygon[{{4.8705, 14.187, -9.4737}, {3.6823, 14.541, -9.4737}, {3.6823, 14.541, -7.3684}, {4.8705, 14.187, -7.3684}}], Polygon[{{3.6823, 14.541, -9.4737}, {2.4689, 14.795, -9.4737}, {2.4689, 14.795, -7.3684}, {3.6823, 14.541, -7.3684}}], Polygon[{{2.4689, 14.795, -9.4737}, {1.2387, 14.949, -9.4737}, {1.2387, 14.949, -7.3684}, {2.4689, 14.795, -7.3684}}], Polygon[{{1.2387, 14.949, -9.4737}, {9.1845*^-16, 15., -9.4737}, {9.1845*^-16, 15., -7.3684}, {1.2387, 14.949, -7.3684}}], Polygon[{{15., 0., -7.3684}, {14.949, 1.2387, -7.3684}, {14.949, 1.2387, -5.2632}, {15., 0., -5.2632}}], Polygon[{{14.949, 1.2387, -7.3684}, {14.795, 2.4689, -7.3684}, {14.795, 2.4689, -5.2632}, {14.949, 1.2387, -5.2632}}], Polygon[{{14.795, 2.4689, -7.3684}, {14.541, 3.6823, -7.3684}, {14.541, 3.6823, -5.2632}, {14.795, 2.4689, -5.2632}}], Polygon[{{14.541, 3.6823, -7.3684}, {14.187, 4.8705, -7.3684}, {14.187, 4.8705, -5.2632}, {14.541, 3.6823, -5.2632}}], Polygon[{{14.187, 4.8705, -7.3684}, {13.737, 6.0254, -7.3684}, {13.737, 6.0254, -5.2632}, {14.187, 4.8705, -5.2632}}], Polygon[{{13.737, 6.0254, -7.3684}, {13.192, 7.1392, -7.3684}, {13.192, 7.1392, -5.2632}, {13.737, 6.0254, -5.2632}}], Polygon[{{13.192, 7.1392, -7.3684}, {12.557, 8.2042, -7.3684}, {12.557, 8.2042, -5.2632}, {13.192, 7.1392, -5.2632}}], Polygon[{{12.557, 8.2042, -7.3684}, {11.837, 9.2132, -7.3684}, {11.837, 9.2132, -5.2632}, {12.557, 8.2042, -5.2632}}], Polygon[{{11.837, 9.2132, -7.3684}, {11.036, 10.159, -7.3684}, {11.036, 10.159, -5.2632}, {11.837, 9.2132, -5.2632}}], Polygon[{{11.036, 10.159, -7.3684}, {10.159, 11.036, -7.3684}, {10.159, 11.036, -5.2632}, {11.036, 10.159, -5.2632}}], Polygon[{{10.159, 11.036, -7.3684}, {9.2132, 11.837, -7.3684}, {9.2132, 11.837, -5.2632}, {10.159, 11.036, -5.2632}}], Polygon[{{9.2132, 11.837, -7.3684}, {8.2042, 12.557, -7.3684}, {8.2042, 12.557, -5.2632}, {9.2132, 11.837, -5.2632}}], Polygon[{{8.2042, 12.557, -7.3684}, {7.1392, 13.192, -7.3684}, {7.1392, 13.192, -5.2632}, {8.2042, 12.557, -5.2632}}], Polygon[{{7.1392, 13.192, -7.3684}, {6.0254, 13.737, -7.3684}, {6.0254, 13.737, -5.2632}, {7.1392, 13.192, -5.2632}}], Polygon[{{6.0254, 13.737, -7.3684}, {4.8705, 14.187, -7.3684}, {4.8705, 14.187, -5.2632}, {6.0254, 13.737, -5.2632}}], Polygon[{{4.8705, 14.187, -7.3684}, {3.6823, 14.541, -7.3684}, {3.6823, 14.541, -5.2632}, {4.8705, 14.187, -5.2632}}], Polygon[{{3.6823, 14.541, -7.3684}, {2.4689, 14.795, -7.3684}, {2.4689, 14.795, -5.2632}, {3.6823, 14.541, -5.2632}}], Polygon[{{2.4689, 14.795, -7.3684}, {1.2387, 14.949, -7.3684}, {1.2387, 14.949, -5.2632}, {2.4689, 14.795, -5.2632}}], Polygon[{{1.2387, 14.949, -7.3684}, {9.1845*^-16, 15., -7.3684}, {9.1845*^-16, 15., -5.2632}, {1.2387, 14.949, -5.2632}}], Polygon[{{15., 0., -5.2632}, {14.949, 1.2387, -5.2632}, {14.949, 1.2387, -3.1579}, {15., 0., -3.1579}}], Polygon[{{14.949, 1.2387, -5.2632}, {14.795, 2.4689, -5.2632}, {14.795, 2.4689, -3.1579}, {14.949, 1.2387, -3.1579}}], Polygon[{{14.795, 2.4689, -5.2632}, {14.541, 3.6823, -5.2632}, {14.541, 3.6823, -3.1579}, {14.795, 2.4689, -3.1579}}], Polygon[{{14.541, 3.6823, -5.2632}, {14.187, 4.8705, -5.2632}, {14.187, 4.8705, -3.1579}, {14.541, 3.6823, -3.1579}}], Polygon[{{14.187, 4.8705, -5.2632}, {13.737, 6.0254, -5.2632}, {13.737, 6.0254, -3.1579}, {14.187, 4.8705, -3.1579}}], Polygon[{{13.737, 6.0254, -5.2632}, {13.192, 7.1392, -5.2632}, {13.192, 7.1392, -3.1579}, {13.737, 6.0254, -3.1579}}], Polygon[{{13.192, 7.1392, -5.2632}, {12.557, 8.2042, -5.2632}, {12.557, 8.2042, -3.1579}, {13.192, 7.1392, -3.1579}}], Polygon[{{12.557, 8.2042, -5.2632}, {11.837, 9.2132, -5.2632}, {11.837, 9.2132, -3.1579}, {12.557, 8.2042, -3.1579}}], Polygon[{{11.837, 9.2132, -5.2632}, {11.036, 10.159, -5.2632}, {11.036, 10.159, -3.1579}, {11.837, 9.2132, -3.1579}}], Polygon[{{11.036, 10.159, -5.2632}, {10.159, 11.036, -5.2632}, {10.159, 11.036, -3.1579}, {11.036, 10.159, -3.1579}}], Polygon[{{10.159, 11.036, -5.2632}, {9.2132, 11.837, -5.2632}, {9.2132, 11.837, -3.1579}, {10.159, 11.036, -3.1579}}], Polygon[{{9.2132, 11.837, -5.2632}, {8.2042, 12.557, -5.2632}, {8.2042, 12.557, -3.1579}, {9.2132, 11.837, -3.1579}}], Polygon[{{8.2042, 12.557, -5.2632}, {7.1392, 13.192, -5.2632}, {7.1392, 13.192, -3.1579}, {8.2042, 12.557, -3.1579}}], Polygon[{{7.1392, 13.192, -5.2632}, {6.0254, 13.737, -5.2632}, {6.0254, 13.737, -3.1579}, {7.1392, 13.192, -3.1579}}], Polygon[{{6.0254, 13.737, -5.2632}, {4.8705, 14.187, -5.2632}, {4.8705, 14.187, -3.1579}, {6.0254, 13.737, -3.1579}}], Polygon[{{4.8705, 14.187, -5.2632}, {3.6823, 14.541, -5.2632}, {3.6823, 14.541, -3.1579}, {4.8705, 14.187, -3.1579}}], Polygon[{{3.6823, 14.541, -5.2632}, {2.4689, 14.795, -5.2632}, {2.4689, 14.795, -3.1579}, {3.6823, 14.541, -3.1579}}], Polygon[{{2.4689, 14.795, -5.2632}, {1.2387, 14.949, -5.2632}, {1.2387, 14.949, -3.1579}, {2.4689, 14.795, -3.1579}}], Polygon[{{1.2387, 14.949, -5.2632}, {9.1845*^-16, 15., -5.2632}, {9.1845*^-16, 15., -3.1579}, {1.2387, 14.949, -3.1579}}], Polygon[{{15., 0., -3.1579}, {14.949, 1.2387, -3.1579}, {14.949, 1.2387, -1.0526}, {15., 0., -1.0526}}], Polygon[{{14.949, 1.2387, -3.1579}, {14.795, 2.4689, -3.1579}, {14.795, 2.4689, -1.0526}, {14.949, 1.2387, -1.0526}}], Polygon[{{14.795, 2.4689, -3.1579}, {14.541, 3.6823, -3.1579}, {14.541, 3.6823, -1.0526}, {14.795, 2.4689, -1.0526}}], Polygon[{{14.541, 3.6823, -3.1579}, {14.187, 4.8705, -3.1579}, {14.187, 4.8705, -1.0526}, {14.541, 3.6823, -1.0526}}], Polygon[{{14.187, 4.8705, -3.1579}, {13.737, 6.0254, -3.1579}, {13.737, 6.0254, -1.0526}, {14.187, 4.8705, -1.0526}}], Polygon[{{13.737, 6.0254, -3.1579}, {13.192, 7.1392, -3.1579}, {13.192, 7.1392, -1.0526}, {13.737, 6.0254, -1.0526}}], Polygon[{{13.192, 7.1392, -3.1579}, {12.557, 8.2042, -3.1579}, {12.557, 8.2042, -1.0526}, {13.192, 7.1392, -1.0526}}], Polygon[{{12.557, 8.2042, -3.1579}, {11.837, 9.2132, -3.1579}, {11.837, 9.2132, -1.0526}, {12.557, 8.2042, -1.0526}}], Polygon[{{11.837, 9.2132, -3.1579}, {11.036, 10.159, -3.1579}, {11.036, 10.159, -1.0526}, {11.837, 9.2132, -1.0526}}], Polygon[{{11.036, 10.159, -3.1579}, {10.159, 11.036, -3.1579}, {10.159, 11.036, -1.0526}, {11.036, 10.159, -1.0526}}], Polygon[{{10.159, 11.036, -3.1579}, {9.2132, 11.837, -3.1579}, {9.2132, 11.837, -1.0526}, {10.159, 11.036, -1.0526}}], Polygon[{{9.2132, 11.837, -3.1579}, {8.2042, 12.557, -3.1579}, {8.2042, 12.557, -1.0526}, {9.2132, 11.837, -1.0526}}], Polygon[{{8.2042, 12.557, -3.1579}, {7.1392, 13.192, -3.1579}, {7.1392, 13.192, -1.0526}, {8.2042, 12.557, -1.0526}}], Polygon[{{7.1392, 13.192, -3.1579}, {6.0254, 13.737, -3.1579}, {6.0254, 13.737, -1.0526}, {7.1392, 13.192, -1.0526}}], Polygon[{{6.0254, 13.737, -3.1579}, {4.8705, 14.187, -3.1579}, {4.8705, 14.187, -1.0526}, {6.0254, 13.737, -1.0526}}], Polygon[{{4.8705, 14.187, -3.1579}, {3.6823, 14.541, -3.1579}, {3.6823, 14.541, -1.0526}, {4.8705, 14.187, -1.0526}}], Polygon[{{3.6823, 14.541, -3.1579}, {2.4689, 14.795, -3.1579}, {2.4689, 14.795, -1.0526}, {3.6823, 14.541, -1.0526}}], Polygon[{{2.4689, 14.795, -3.1579}, {1.2387, 14.949, -3.1579}, {1.2387, 14.949, -1.0526}, {2.4689, 14.795, -1.0526}}], Polygon[{{1.2387, 14.949, -3.1579}, {9.1845*^-16, 15., -3.1579}, {9.1845*^-16, 15., -1.0526}, {1.2387, 14.949, -1.0526}}], Polygon[{{15., 0., -1.0526}, {14.949, 1.2387, -1.0526}, {14.949, 1.2387, 1.0526}, {15., 0., 1.0526}}], Polygon[{{14.949, 1.2387, -1.0526}, {14.795, 2.4689, -1.0526}, {14.795, 2.4689, 1.0526}, {14.949, 1.2387, 1.0526}}], Polygon[{{14.795, 2.4689, -1.0526}, {14.541, 3.6823, -1.0526}, {14.541, 3.6823, 1.0526}, {14.795, 2.4689, 1.0526}}], Polygon[{{14.541, 3.6823, -1.0526}, {14.187, 4.8705, -1.0526}, {14.187, 4.8705, 1.0526}, {14.541, 3.6823, 1.0526}}], Polygon[{{14.187, 4.8705, -1.0526}, {13.737, 6.0254, -1.0526}, {13.737, 6.0254, 1.0526}, {14.187, 4.8705, 1.0526}}], Polygon[{{13.737, 6.0254, -1.0526}, {13.192, 7.1392, -1.0526}, {13.192, 7.1392, 1.0526}, {13.737, 6.0254, 1.0526}}], Polygon[{{13.192, 7.1392, -1.0526}, {12.557, 8.2042, -1.0526}, {12.557, 8.2042, 1.0526}, {13.192, 7.1392, 1.0526}}], Polygon[{{12.557, 8.2042, -1.0526}, {11.837, 9.2132, -1.0526}, {11.837, 9.2132, 1.0526}, {12.557, 8.2042, 1.0526}}], Polygon[{{11.837, 9.2132, -1.0526}, {11.036, 10.159, -1.0526}, {11.036, 10.159, 1.0526}, {11.837, 9.2132, 1.0526}}], Polygon[{{11.036, 10.159, -1.0526}, {10.159, 11.036, -1.0526}, {10.159, 11.036, 1.0526}, {11.036, 10.159, 1.0526}}], Polygon[{{10.159, 11.036, -1.0526}, {9.2132, 11.837, -1.0526}, {9.2132, 11.837, 1.0526}, {10.159, 11.036, 1.0526}}], Polygon[{{9.2132, 11.837, -1.0526}, {8.2042, 12.557, -1.0526}, {8.2042, 12.557, 1.0526}, {9.2132, 11.837, 1.0526}}], Polygon[{{8.2042, 12.557, -1.0526}, {7.1392, 13.192, -1.0526}, {7.1392, 13.192, 1.0526}, {8.2042, 12.557, 1.0526}}], Polygon[{{7.1392, 13.192, -1.0526}, {6.0254, 13.737, -1.0526}, {6.0254, 13.737, 1.0526}, {7.1392, 13.192, 1.0526}}], Polygon[{{6.0254, 13.737, -1.0526}, {4.8705, 14.187, -1.0526}, {4.8705, 14.187, 1.0526}, {6.0254, 13.737, 1.0526}}], Polygon[{{4.8705, 14.187, -1.0526}, {3.6823, 14.541, -1.0526}, {3.6823, 14.541, 1.0526}, {4.8705, 14.187, 1.0526}}], Polygon[{{3.6823, 14.541, -1.0526}, {2.4689, 14.795, -1.0526}, {2.4689, 14.795, 1.0526}, {3.6823, 14.541, 1.0526}}], Polygon[{{2.4689, 14.795, -1.0526}, {1.2387, 14.949, -1.0526}, {1.2387, 14.949, 1.0526}, {2.4689, 14.795, 1.0526}}], Polygon[{{1.2387, 14.949, -1.0526}, {9.1845*^-16, 15., -1.0526}, {9.1845*^-16, 15., 1.0526}, {1.2387, 14.949, 1.0526}}], Polygon[{{15., 0., 1.0526}, {14.949, 1.2387, 1.0526}, {14.949, 1.2387, 3.1579}, {15., 0., 3.1579}}], Polygon[{{14.949, 1.2387, 1.0526}, {14.795, 2.4689, 1.0526}, {14.795, 2.4689, 3.1579}, {14.949, 1.2387, 3.1579}}], Polygon[{{14.795, 2.4689, 1.0526}, {14.541, 3.6823, 1.0526}, {14.541, 3.6823, 3.1579}, {14.795, 2.4689, 3.1579}}], Polygon[{{14.541, 3.6823, 1.0526}, {14.187, 4.8705, 1.0526}, {14.187, 4.8705, 3.1579}, {14.541, 3.6823, 3.1579}}], Polygon[{{14.187, 4.8705, 1.0526}, {13.737, 6.0254, 1.0526}, {13.737, 6.0254, 3.1579}, {14.187, 4.8705, 3.1579}}], Polygon[{{13.737, 6.0254, 1.0526}, {13.192, 7.1392, 1.0526}, {13.192, 7.1392, 3.1579}, {13.737, 6.0254, 3.1579}}], Polygon[{{13.192, 7.1392, 1.0526}, {12.557, 8.2042, 1.0526}, {12.557, 8.2042, 3.1579}, {13.192, 7.1392, 3.1579}}], Polygon[{{12.557, 8.2042, 1.0526}, {11.837, 9.2132, 1.0526}, {11.837, 9.2132, 3.1579}, {12.557, 8.2042, 3.1579}}], Polygon[{{11.837, 9.2132, 1.0526}, {11.036, 10.159, 1.0526}, {11.036, 10.159, 3.1579}, {11.837, 9.2132, 3.1579}}], Polygon[{{11.036, 10.159, 1.0526}, {10.159, 11.036, 1.0526}, {10.159, 11.036, 3.1579}, {11.036, 10.159, 3.1579}}], Polygon[{{10.159, 11.036, 1.0526}, {9.2132, 11.837, 1.0526}, {9.2132, 11.837, 3.1579}, {10.159, 11.036, 3.1579}}], Polygon[{{9.2132, 11.837, 1.0526}, {8.2042, 12.557, 1.0526}, {8.2042, 12.557, 3.1579}, {9.2132, 11.837, 3.1579}}], Polygon[{{8.2042, 12.557, 1.0526}, {7.1392, 13.192, 1.0526}, {7.1392, 13.192, 3.1579}, {8.2042, 12.557, 3.1579}}], Polygon[{{7.1392, 13.192, 1.0526}, {6.0254, 13.737, 1.0526}, {6.0254, 13.737, 3.1579}, {7.1392, 13.192, 3.1579}}], Polygon[{{6.0254, 13.737, 1.0526}, {4.8705, 14.187, 1.0526}, {4.8705, 14.187, 3.1579}, {6.0254, 13.737, 3.1579}}], Polygon[{{4.8705, 14.187, 1.0526}, {3.6823, 14.541, 1.0526}, {3.6823, 14.541, 3.1579}, {4.8705, 14.187, 3.1579}}], Polygon[{{3.6823, 14.541, 1.0526}, {2.4689, 14.795, 1.0526}, {2.4689, 14.795, 3.1579}, {3.6823, 14.541, 3.1579}}], Polygon[{{2.4689, 14.795, 1.0526}, {1.2387, 14.949, 1.0526}, {1.2387, 14.949, 3.1579}, {2.4689, 14.795, 3.1579}}], Polygon[{{1.2387, 14.949, 1.0526}, {9.1845*^-16, 15., 1.0526}, {9.1845*^-16, 15., 3.1579}, {1.2387, 14.949, 3.1579}}], Polygon[{{15., 0., 3.1579}, {14.949, 1.2387, 3.1579}, {14.949, 1.2387, 5.2632}, {15., 0., 5.2632}}], Polygon[{{14.949, 1.2387, 3.1579}, {14.795, 2.4689, 3.1579}, {14.795, 2.4689, 5.2632}, {14.949, 1.2387, 5.2632}}], Polygon[{{14.795, 2.4689, 3.1579}, {14.541, 3.6823, 3.1579}, {14.541, 3.6823, 5.2632}, {14.795, 2.4689, 5.2632}}], Polygon[{{14.541, 3.6823, 3.1579}, {14.187, 4.8705, 3.1579}, {14.187, 4.8705, 5.2632}, {14.541, 3.6823, 5.2632}}], Polygon[{{14.187, 4.8705, 3.1579}, {13.737, 6.0254, 3.1579}, {13.737, 6.0254, 5.2632}, {14.187, 4.8705, 5.2632}}], Polygon[{{13.737, 6.0254, 3.1579}, {13.192, 7.1392, 3.1579}, {13.192, 7.1392, 5.2632}, {13.737, 6.0254, 5.2632}}], Polygon[{{13.192, 7.1392, 3.1579}, {12.557, 8.2042, 3.1579}, {12.557, 8.2042, 5.2632}, {13.192, 7.1392, 5.2632}}], Polygon[{{12.557, 8.2042, 3.1579}, {11.837, 9.2132, 3.1579}, {11.837, 9.2132, 5.2632}, {12.557, 8.2042, 5.2632}}], Polygon[{{11.837, 9.2132, 3.1579}, {11.036, 10.159, 3.1579}, {11.036, 10.159, 5.2632}, {11.837, 9.2132, 5.2632}}], Polygon[{{11.036, 10.159, 3.1579}, {10.159, 11.036, 3.1579}, {10.159, 11.036, 5.2632}, {11.036, 10.159, 5.2632}}], Polygon[{{10.159, 11.036, 3.1579}, {9.2132, 11.837, 3.1579}, {9.2132, 11.837, 5.2632}, {10.159, 11.036, 5.2632}}], Polygon[{{9.2132, 11.837, 3.1579}, {8.2042, 12.557, 3.1579}, {8.2042, 12.557, 5.2632}, {9.2132, 11.837, 5.2632}}], Polygon[{{8.2042, 12.557, 3.1579}, {7.1392, 13.192, 3.1579}, {7.1392, 13.192, 5.2632}, {8.2042, 12.557, 5.2632}}], Polygon[{{7.1392, 13.192, 3.1579}, {6.0254, 13.737, 3.1579}, {6.0254, 13.737, 5.2632}, {7.1392, 13.192, 5.2632}}], Polygon[{{6.0254, 13.737, 3.1579}, {4.8705, 14.187, 3.1579}, {4.8705, 14.187, 5.2632}, {6.0254, 13.737, 5.2632}}], Polygon[{{4.8705, 14.187, 3.1579}, {3.6823, 14.541, 3.1579}, {3.6823, 14.541, 5.2632}, {4.8705, 14.187, 5.2632}}], Polygon[{{3.6823, 14.541, 3.1579}, {2.4689, 14.795, 3.1579}, {2.4689, 14.795, 5.2632}, {3.6823, 14.541, 5.2632}}], Polygon[{{2.4689, 14.795, 3.1579}, {1.2387, 14.949, 3.1579}, {1.2387, 14.949, 5.2632}, {2.4689, 14.795, 5.2632}}], Polygon[{{1.2387, 14.949, 3.1579}, {9.1845*^-16, 15., 3.1579}, {9.1845*^-16, 15., 5.2632}, {1.2387, 14.949, 5.2632}}], Polygon[{{15., 0., 5.2632}, {14.949, 1.2387, 5.2632}, {14.949, 1.2387, 7.3684}, {15., 0., 7.3684}}], Polygon[{{14.949, 1.2387, 5.2632}, {14.795, 2.4689, 5.2632}, {14.795, 2.4689, 7.3684}, {14.949, 1.2387, 7.3684}}], Polygon[{{14.795, 2.4689, 5.2632}, {14.541, 3.6823, 5.2632}, {14.541, 3.6823, 7.3684}, {14.795, 2.4689, 7.3684}}], Polygon[{{14.541, 3.6823, 5.2632}, {14.187, 4.8705, 5.2632}, {14.187, 4.8705, 7.3684}, {14.541, 3.6823, 7.3684}}], Polygon[{{14.187, 4.8705, 5.2632}, {13.737, 6.0254, 5.2632}, {13.737, 6.0254, 7.3684}, {14.187, 4.8705, 7.3684}}], Polygon[{{13.737, 6.0254, 5.2632}, {13.192, 7.1392, 5.2632}, {13.192, 7.1392, 7.3684}, {13.737, 6.0254, 7.3684}}], Polygon[{{13.192, 7.1392, 5.2632}, {12.557, 8.2042, 5.2632}, {12.557, 8.2042, 7.3684}, {13.192, 7.1392, 7.3684}}], Polygon[{{12.557, 8.2042, 5.2632}, {11.837, 9.2132, 5.2632}, {11.837, 9.2132, 7.3684}, {12.557, 8.2042, 7.3684}}], Polygon[{{11.837, 9.2132, 5.2632}, {11.036, 10.159, 5.2632}, {11.036, 10.159, 7.3684}, {11.837, 9.2132, 7.3684}}], Polygon[{{11.036, 10.159, 5.2632}, {10.159, 11.036, 5.2632}, {10.159, 11.036, 7.3684}, {11.036, 10.159, 7.3684}}], Polygon[{{10.159, 11.036, 5.2632}, {9.2132, 11.837, 5.2632}, {9.2132, 11.837, 7.3684}, {10.159, 11.036, 7.3684}}], Polygon[{{9.2132, 11.837, 5.2632}, {8.2042, 12.557, 5.2632}, {8.2042, 12.557, 7.3684}, {9.2132, 11.837, 7.3684}}], Polygon[{{8.2042, 12.557, 5.2632}, {7.1392, 13.192, 5.2632}, {7.1392, 13.192, 7.3684}, {8.2042, 12.557, 7.3684}}], Polygon[{{7.1392, 13.192, 5.2632}, {6.0254, 13.737, 5.2632}, {6.0254, 13.737, 7.3684}, {7.1392, 13.192, 7.3684}}], Polygon[{{6.0254, 13.737, 5.2632}, {4.8705, 14.187, 5.2632}, {4.8705, 14.187, 7.3684}, {6.0254, 13.737, 7.3684}}], Polygon[{{4.8705, 14.187, 5.2632}, {3.6823, 14.541, 5.2632}, {3.6823, 14.541, 7.3684}, {4.8705, 14.187, 7.3684}}], Polygon[{{3.6823, 14.541, 5.2632}, {2.4689, 14.795, 5.2632}, {2.4689, 14.795, 7.3684}, {3.6823, 14.541, 7.3684}}], Polygon[{{2.4689, 14.795, 5.2632}, {1.2387, 14.949, 5.2632}, {1.2387, 14.949, 7.3684}, {2.4689, 14.795, 7.3684}}], Polygon[{{1.2387, 14.949, 5.2632}, {9.1845*^-16, 15., 5.2632}, {9.1845*^-16, 15., 7.3684}, {1.2387, 14.949, 7.3684}}], Polygon[{{15., 0., 7.3684}, {14.949, 1.2387, 7.3684}, {14.949, 1.2387, 9.4737}, {15., 0., 9.4737}}], Polygon[{{14.949, 1.2387, 7.3684}, {14.795, 2.4689, 7.3684}, {14.795, 2.4689, 9.4737}, {14.949, 1.2387, 9.4737}}], Polygon[{{14.795, 2.4689, 7.3684}, {14.541, 3.6823, 7.3684}, {14.541, 3.6823, 9.4737}, {14.795, 2.4689, 9.4737}}], Polygon[{{14.541, 3.6823, 7.3684}, {14.187, 4.8705, 7.3684}, {14.187, 4.8705, 9.4737}, {14.541, 3.6823, 9.4737}}], Polygon[{{14.187, 4.8705, 7.3684}, {13.737, 6.0254, 7.3684}, {13.737, 6.0254, 9.4737}, {14.187, 4.8705, 9.4737}}], Polygon[{{13.737, 6.0254, 7.3684}, {13.192, 7.1392, 7.3684}, {13.192, 7.1392, 9.4737}, {13.737, 6.0254, 9.4737}}], Polygon[{{13.192, 7.1392, 7.3684}, {12.557, 8.2042, 7.3684}, {12.557, 8.2042, 9.4737}, {13.192, 7.1392, 9.4737}}], Polygon[{{12.557, 8.2042, 7.3684}, {11.837, 9.2132, 7.3684}, {11.837, 9.2132, 9.4737}, {12.557, 8.2042, 9.4737}}], Polygon[{{11.837, 9.2132, 7.3684}, {11.036, 10.159, 7.3684}, {11.036, 10.159, 9.4737}, {11.837, 9.2132, 9.4737}}], Polygon[{{11.036, 10.159, 7.3684}, {10.159, 11.036, 7.3684}, {10.159, 11.036, 9.4737}, {11.036, 10.159, 9.4737}}], Polygon[{{10.159, 11.036, 7.3684}, {9.2132, 11.837, 7.3684}, {9.2132, 11.837, 9.4737}, {10.159, 11.036, 9.4737}}], Polygon[{{9.2132, 11.837, 7.3684}, {8.2042, 12.557, 7.3684}, {8.2042, 12.557, 9.4737}, {9.2132, 11.837, 9.4737}}], Polygon[{{8.2042, 12.557, 7.3684}, {7.1392, 13.192, 7.3684}, {7.1392, 13.192, 9.4737}, {8.2042, 12.557, 9.4737}}], Polygon[{{7.1392, 13.192, 7.3684}, {6.0254, 13.737, 7.3684}, {6.0254, 13.737, 9.4737}, {7.1392, 13.192, 9.4737}}], Polygon[{{6.0254, 13.737, 7.3684}, {4.8705, 14.187, 7.3684}, {4.8705, 14.187, 9.4737}, {6.0254, 13.737, 9.4737}}], Polygon[{{4.8705, 14.187, 7.3684}, {3.6823, 14.541, 7.3684}, {3.6823, 14.541, 9.4737}, {4.8705, 14.187, 9.4737}}], Polygon[{{3.6823, 14.541, 7.3684}, {2.4689, 14.795, 7.3684}, {2.4689, 14.795, 9.4737}, {3.6823, 14.541, 9.4737}}], Polygon[{{2.4689, 14.795, 7.3684}, {1.2387, 14.949, 7.3684}, {1.2387, 14.949, 9.4737}, {2.4689, 14.795, 9.4737}}], Polygon[{{1.2387, 14.949, 7.3684}, {9.1845*^-16, 15., 7.3684}, {9.1845*^-16, 15., 9.4737}, {1.2387, 14.949, 9.4737}}], Polygon[{{15., 0., 9.4737}, {14.949, 1.2387, 9.4737}, {14.949, 1.2387, 11.579}, {15., 0., 11.579}}], Polygon[{{14.949, 1.2387, 9.4737}, {14.795, 2.4689, 9.4737}, {14.795, 2.4689, 11.579}, {14.949, 1.2387, 11.579}}], Polygon[{{14.795, 2.4689, 9.4737}, {14.541, 3.6823, 9.4737}, {14.541, 3.6823, 11.579}, {14.795, 2.4689, 11.579}}], Polygon[{{14.541, 3.6823, 9.4737}, {14.187, 4.8705, 9.4737}, {14.187, 4.8705, 11.579}, {14.541, 3.6823, 11.579}}], Polygon[{{14.187, 4.8705, 9.4737}, {13.737, 6.0254, 9.4737}, {13.737, 6.0254, 11.579}, {14.187, 4.8705, 11.579}}], Polygon[{{13.737, 6.0254, 9.4737}, {13.192, 7.1392, 9.4737}, {13.192, 7.1392, 11.579}, {13.737, 6.0254, 11.579}}], Polygon[{{13.192, 7.1392, 9.4737}, {12.557, 8.2042, 9.4737}, {12.557, 8.2042, 11.579}, {13.192, 7.1392, 11.579}}], Polygon[{{12.557, 8.2042, 9.4737}, {11.837, 9.2132, 9.4737}, {11.837, 9.2132, 11.579}, {12.557, 8.2042, 11.579}}], Polygon[{{11.837, 9.2132, 9.4737}, {11.036, 10.159, 9.4737}, {11.036, 10.159, 11.579}, {11.837, 9.2132, 11.579}}], Polygon[{{11.036, 10.159, 9.4737}, {10.159, 11.036, 9.4737}, {10.159, 11.036, 11.579}, {11.036, 10.159, 11.579}}], Polygon[{{10.159, 11.036, 9.4737}, {9.2132, 11.837, 9.4737}, {9.2132, 11.837, 11.579}, {10.159, 11.036, 11.579}}], Polygon[{{9.2132, 11.837, 9.4737}, {8.2042, 12.557, 9.4737}, {8.2042, 12.557, 11.579}, {9.2132, 11.837, 11.579}}], Polygon[{{8.2042, 12.557, 9.4737}, {7.1392, 13.192, 9.4737}, {7.1392, 13.192, 11.579}, {8.2042, 12.557, 11.579}}], Polygon[{{7.1392, 13.192, 9.4737}, {6.0254, 13.737, 9.4737}, {6.0254, 13.737, 11.579}, {7.1392, 13.192, 11.579}}], Polygon[{{6.0254, 13.737, 9.4737}, {4.8705, 14.187, 9.4737}, {4.8705, 14.187, 11.579}, {6.0254, 13.737, 11.579}}], Polygon[{{4.8705, 14.187, 9.4737}, {3.6823, 14.541, 9.4737}, {3.6823, 14.541, 11.579}, {4.8705, 14.187, 11.579}}], Polygon[{{3.6823, 14.541, 9.4737}, {2.4689, 14.795, 9.4737}, {2.4689, 14.795, 11.579}, {3.6823, 14.541, 11.579}}], Polygon[{{2.4689, 14.795, 9.4737}, {1.2387, 14.949, 9.4737}, {1.2387, 14.949, 11.579}, {2.4689, 14.795, 11.579}}], Polygon[{{1.2387, 14.949, 9.4737}, {9.1845*^-16, 15., 9.4737}, {9.1845*^-16, 15., 11.579}, {1.2387, 14.949, 11.579}}], Polygon[{{15., 0., 11.579}, {14.949, 1.2387, 11.579}, {14.949, 1.2387, 13.684}, {15., 0., 13.684}}], Polygon[{{14.949, 1.2387, 11.579}, {14.795, 2.4689, 11.579}, {14.795, 2.4689, 13.684}, {14.949, 1.2387, 13.684}}], Polygon[{{14.795, 2.4689, 11.579}, {14.541, 3.6823, 11.579}, {14.541, 3.6823, 13.684}, {14.795, 2.4689, 13.684}}], Polygon[{{14.541, 3.6823, 11.579}, {14.187, 4.8705, 11.579}, {14.187, 4.8705, 13.684}, {14.541, 3.6823, 13.684}}], Polygon[{{14.187, 4.8705, 11.579}, {13.737, 6.0254, 11.579}, {13.737, 6.0254, 13.684}, {14.187, 4.8705, 13.684}}], Polygon[{{13.737, 6.0254, 11.579}, {13.192, 7.1392, 11.579}, {13.192, 7.1392, 13.684}, {13.737, 6.0254, 13.684}}], Polygon[{{13.192, 7.1392, 11.579}, {12.557, 8.2042, 11.579}, {12.557, 8.2042, 13.684}, {13.192, 7.1392, 13.684}}], Polygon[{{12.557, 8.2042, 11.579}, {11.837, 9.2132, 11.579}, {11.837, 9.2132, 13.684}, {12.557, 8.2042, 13.684}}], Polygon[{{11.837, 9.2132, 11.579}, {11.036, 10.159, 11.579}, {11.036, 10.159, 13.684}, {11.837, 9.2132, 13.684}}], Polygon[{{11.036, 10.159, 11.579}, {10.159, 11.036, 11.579}, {10.159, 11.036, 13.684}, {11.036, 10.159, 13.684}}], Polygon[{{10.159, 11.036, 11.579}, {9.2132, 11.837, 11.579}, {9.2132, 11.837, 13.684}, {10.159, 11.036, 13.684}}], Polygon[{{9.2132, 11.837, 11.579}, {8.2042, 12.557, 11.579}, {8.2042, 12.557, 13.684}, {9.2132, 11.837, 13.684}}], Polygon[{{8.2042, 12.557, 11.579}, {7.1392, 13.192, 11.579}, {7.1392, 13.192, 13.684}, {8.2042, 12.557, 13.684}}], Polygon[{{7.1392, 13.192, 11.579}, {6.0254, 13.737, 11.579}, {6.0254, 13.737, 13.684}, {7.1392, 13.192, 13.684}}], Polygon[{{6.0254, 13.737, 11.579}, {4.8705, 14.187, 11.579}, {4.8705, 14.187, 13.684}, {6.0254, 13.737, 13.684}}], Polygon[{{4.8705, 14.187, 11.579}, {3.6823, 14.541, 11.579}, {3.6823, 14.541, 13.684}, {4.8705, 14.187, 13.684}}], Polygon[{{3.6823, 14.541, 11.579}, {2.4689, 14.795, 11.579}, {2.4689, 14.795, 13.684}, {3.6823, 14.541, 13.684}}], Polygon[{{2.4689, 14.795, 11.579}, {1.2387, 14.949, 11.579}, {1.2387, 14.949, 13.684}, {2.4689, 14.795, 13.684}}], Polygon[{{1.2387, 14.949, 11.579}, {9.1845*^-16, 15., 11.579}, {9.1845*^-16, 15., 13.684}, {1.2387, 14.949, 13.684}}], Polygon[{{15., 0., 13.684}, {14.949, 1.2387, 13.684}, {14.949, 1.2387, 15.789}, {15., 0., 15.789}}], Polygon[{{14.949, 1.2387, 13.684}, {14.795, 2.4689, 13.684}, {14.795, 2.4689, 15.789}, {14.949, 1.2387, 15.789}}], Polygon[{{14.795, 2.4689, 13.684}, {14.541, 3.6823, 13.684}, {14.541, 3.6823, 15.789}, {14.795, 2.4689, 15.789}}], Polygon[{{14.541, 3.6823, 13.684}, {14.187, 4.8705, 13.684}, {14.187, 4.8705, 15.789}, {14.541, 3.6823, 15.789}}], Polygon[{{14.187, 4.8705, 13.684}, {13.737, 6.0254, 13.684}, {13.737, 6.0254, 15.789}, {14.187, 4.8705, 15.789}}], Polygon[{{13.737, 6.0254, 13.684}, {13.192, 7.1392, 13.684}, {13.192, 7.1392, 15.789}, {13.737, 6.0254, 15.789}}], Polygon[{{13.192, 7.1392, 13.684}, {12.557, 8.2042, 13.684}, {12.557, 8.2042, 15.789}, {13.192, 7.1392, 15.789}}], Polygon[{{12.557, 8.2042, 13.684}, {11.837, 9.2132, 13.684}, {11.837, 9.2132, 15.789}, {12.557, 8.2042, 15.789}}], Polygon[{{11.837, 9.2132, 13.684}, {11.036, 10.159, 13.684}, {11.036, 10.159, 15.789}, {11.837, 9.2132, 15.789}}], Polygon[{{11.036, 10.159, 13.684}, {10.159, 11.036, 13.684}, {10.159, 11.036, 15.789}, {11.036, 10.159, 15.789}}], Polygon[{{10.159, 11.036, 13.684}, {9.2132, 11.837, 13.684}, {9.2132, 11.837, 15.789}, {10.159, 11.036, 15.789}}], Polygon[{{9.2132, 11.837, 13.684}, {8.2042, 12.557, 13.684}, {8.2042, 12.557, 15.789}, {9.2132, 11.837, 15.789}}], Polygon[{{8.2042, 12.557, 13.684}, {7.1392, 13.192, 13.684}, {7.1392, 13.192, 15.789}, {8.2042, 12.557, 15.789}}], Polygon[{{7.1392, 13.192, 13.684}, {6.0254, 13.737, 13.684}, {6.0254, 13.737, 15.789}, {7.1392, 13.192, 15.789}}], Polygon[{{6.0254, 13.737, 13.684}, {4.8705, 14.187, 13.684}, {4.8705, 14.187, 15.789}, {6.0254, 13.737, 15.789}}], Polygon[{{4.8705, 14.187, 13.684}, {3.6823, 14.541, 13.684}, {3.6823, 14.541, 15.789}, {4.8705, 14.187, 15.789}}], Polygon[{{3.6823, 14.541, 13.684}, {2.4689, 14.795, 13.684}, {2.4689, 14.795, 15.789}, {3.6823, 14.541, 15.789}}], Polygon[{{2.4689, 14.795, 13.684}, {1.2387, 14.949, 13.684}, {1.2387, 14.949, 15.789}, {2.4689, 14.795, 15.789}}], Polygon[{{1.2387, 14.949, 13.684}, {9.1845*^-16, 15., 13.684}, {9.1845*^-16, 15., 15.789}, {1.2387, 14.949, 15.789}}], Polygon[{{15., 0., 15.789}, {14.949, 1.2387, 15.789}, {14.949, 1.2387, 17.895}, {15., 0., 17.895}}], Polygon[{{14.949, 1.2387, 15.789}, {14.795, 2.4689, 15.789}, {14.795, 2.4689, 17.895}, {14.949, 1.2387, 17.895}}], Polygon[{{14.795, 2.4689, 15.789}, {14.541, 3.6823, 15.789}, {14.541, 3.6823, 17.895}, {14.795, 2.4689, 17.895}}], Polygon[{{14.541, 3.6823, 15.789}, {14.187, 4.8705, 15.789}, {14.187, 4.8705, 17.895}, {14.541, 3.6823, 17.895}}], Polygon[{{14.187, 4.8705, 15.789}, {13.737, 6.0254, 15.789}, {13.737, 6.0254, 17.895}, {14.187, 4.8705, 17.895}}], Polygon[{{13.737, 6.0254, 15.789}, {13.192, 7.1392, 15.789}, {13.192, 7.1392, 17.895}, {13.737, 6.0254, 17.895}}], Polygon[{{13.192, 7.1392, 15.789}, {12.557, 8.2042, 15.789}, {12.557, 8.2042, 17.895}, {13.192, 7.1392, 17.895}}], Polygon[{{12.557, 8.2042, 15.789}, {11.837, 9.2132, 15.789}, {11.837, 9.2132, 17.895}, {12.557, 8.2042, 17.895}}], Polygon[{{11.837, 9.2132, 15.789}, {11.036, 10.159, 15.789}, {11.036, 10.159, 17.895}, {11.837, 9.2132, 17.895}}], Polygon[{{11.036, 10.159, 15.789}, {10.159, 11.036, 15.789}, {10.159, 11.036, 17.895}, {11.036, 10.159, 17.895}}], Polygon[{{10.159, 11.036, 15.789}, {9.2132, 11.837, 15.789}, {9.2132, 11.837, 17.895}, {10.159, 11.036, 17.895}}], Polygon[{{9.2132, 11.837, 15.789}, {8.2042, 12.557, 15.789}, {8.2042, 12.557, 17.895}, {9.2132, 11.837, 17.895}}], Polygon[{{8.2042, 12.557, 15.789}, {7.1392, 13.192, 15.789}, {7.1392, 13.192, 17.895}, {8.2042, 12.557, 17.895}}], Polygon[{{7.1392, 13.192, 15.789}, {6.0254, 13.737, 15.789}, {6.0254, 13.737, 17.895}, {7.1392, 13.192, 17.895}}], Polygon[{{6.0254, 13.737, 15.789}, {4.8705, 14.187, 15.789}, {4.8705, 14.187, 17.895}, {6.0254, 13.737, 17.895}}], Polygon[{{4.8705, 14.187, 15.789}, {3.6823, 14.541, 15.789}, {3.6823, 14.541, 17.895}, {4.8705, 14.187, 17.895}}], Polygon[{{3.6823, 14.541, 15.789}, {2.4689, 14.795, 15.789}, {2.4689, 14.795, 17.895}, {3.6823, 14.541, 17.895}}], Polygon[{{2.4689, 14.795, 15.789}, {1.2387, 14.949, 15.789}, {1.2387, 14.949, 17.895}, {2.4689, 14.795, 17.895}}], Polygon[{{1.2387, 14.949, 15.789}, {9.1845*^-16, 15., 15.789}, {9.1845*^-16, 15., 17.895}, {1.2387, 14.949, 17.895}}], Polygon[{{15., 0., 17.895}, {14.949, 1.2387, 17.895}, {14.949, 1.2387, 20.}, {15., 0., 20.}}], Polygon[{{14.949, 1.2387, 17.895}, {14.795, 2.4689, 17.895}, {14.795, 2.4689, 20.}, {14.949, 1.2387, 20.}}], Polygon[{{14.795, 2.4689, 17.895}, {14.541, 3.6823, 17.895}, {14.541, 3.6823, 20.}, {14.795, 2.4689, 20.}}], Polygon[{{14.541, 3.6823, 17.895}, {14.187, 4.8705, 17.895}, {14.187, 4.8705, 20.}, {14.541, 3.6823, 20.}}], Polygon[{{14.187, 4.8705, 17.895}, {13.737, 6.0254, 17.895}, {13.737, 6.0254, 20.}, {14.187, 4.8705, 20.}}], Polygon[{{13.737, 6.0254, 17.895}, {13.192, 7.1392, 17.895}, {13.192, 7.1392, 20.}, {13.737, 6.0254, 20.}}], Polygon[{{13.192, 7.1392, 17.895}, {12.557, 8.2042, 17.895}, {12.557, 8.2042, 20.}, {13.192, 7.1392, 20.}}], Polygon[{{12.557, 8.2042, 17.895}, {11.837, 9.2132, 17.895}, {11.837, 9.2132, 20.}, {12.557, 8.2042, 20.}}], Polygon[{{11.837, 9.2132, 17.895}, {11.036, 10.159, 17.895}, {11.036, 10.159, 20.}, {11.837, 9.2132, 20.}}], Polygon[{{11.036, 10.159, 17.895}, {10.159, 11.036, 17.895}, {10.159, 11.036, 20.}, {11.036, 10.159, 20.}}], Polygon[{{10.159, 11.036, 17.895}, {9.2132, 11.837, 17.895}, {9.2132, 11.837, 20.}, {10.159, 11.036, 20.}}], Polygon[{{9.2132, 11.837, 17.895}, {8.2042, 12.557, 17.895}, {8.2042, 12.557, 20.}, {9.2132, 11.837, 20.}}], Polygon[{{8.2042, 12.557, 17.895}, {7.1392, 13.192, 17.895}, {7.1392, 13.192, 20.}, {8.2042, 12.557, 20.}}], Polygon[{{7.1392, 13.192, 17.895}, {6.0254, 13.737, 17.895}, {6.0254, 13.737, 20.}, {7.1392, 13.192, 20.}}], Polygon[{{6.0254, 13.737, 17.895}, {4.8705, 14.187, 17.895}, {4.8705, 14.187, 20.}, {6.0254, 13.737, 20.}}], Polygon[{{4.8705, 14.187, 17.895}, {3.6823, 14.541, 17.895}, {3.6823, 14.541, 20.}, {4.8705, 14.187, 20.}}], Polygon[{{3.6823, 14.541, 17.895}, {2.4689, 14.795, 17.895}, {2.4689, 14.795, 20.}, {3.6823, 14.541, 20.}}], Polygon[{{2.4689, 14.795, 17.895}, {1.2387, 14.949, 17.895}, {1.2387, 14.949, 20.}, {2.4689, 14.795, 20.}}], Polygon[{{1.2387, 14.949, 17.895}, {9.1845*^-16, 15., 17.895}, {9.1845*^-16, 15., 20.}, {1.2387, 14.949, 20.}}]}, {Polygon[{{10., 0., 20.}, {9.9658, 0.82579, 20.}, {11.212, 0.92902, 20.}, {11.25, 0., 20.}}], Polygon[{{9.9658, 0.82579, 20.}, {9.8636, 1.6459, 20.}, {11.097, 1.8517, 20.}, {11.212, 0.92902, 20.}}], Polygon[{{9.8636, 1.6459, 20.}, {9.694, 2.4549, 20.}, {10.906, 2.7617, 20.}, {11.097, 1.8517, 20.}}], Polygon[{{9.694, 2.4549, 20.}, {9.4582, 3.247, 20.}, {10.64, 3.6529, 20.}, {10.906, 2.7617, 20.}}], Polygon[{{9.4582, 3.247, 20.}, {9.1577, 4.017, 20.}, {10.302, 4.5191, 20.}, {10.64, 3.6529, 20.}}], Polygon[{{9.1577, 4.017, 20.}, {8.7947, 4.7595, 20.}, {9.8941, 5.3544, 20.}, {10.302, 4.5191, 20.}}], Polygon[{{8.7947, 4.7595, 20.}, {8.3717, 5.4695, 20.}, {9.4181, 6.1532, 20.}, {9.8941, 5.3544, 20.}}], Polygon[{{8.3717, 5.4695, 20.}, {7.8914, 6.1421, 20.}, {8.8778, 6.9099, 20.}, {9.4181, 6.1532, 20.}}], Polygon[{{7.8914, 6.1421, 20.}, {7.3572, 6.7728, 20.}, {8.2769, 7.6194, 20.}, {8.8778, 6.9099, 20.}}], Polygon[{{7.3572, 6.7728, 20.}, {6.7728, 7.3572, 20.}, {7.6194, 8.2769, 20.}, {8.2769, 7.6194, 20.}}], Polygon[{{6.7728, 7.3572, 20.}, {6.1421, 7.8914, 20.}, {6.9099, 8.8778, 20.}, {7.6194, 8.2769, 20.}}], Polygon[{{6.1421, 7.8914, 20.}, {5.4695, 8.3717, 20.}, {6.1532, 9.4181, 20.}, {6.9099, 8.8778, 20.}}], Polygon[{{5.4695, 8.3717, 20.}, {4.7595, 8.7947, 20.}, {5.3544, 9.8941, 20.}, {6.1532, 9.4181, 20.}}], Polygon[{{4.7595, 8.7947, 20.}, {4.017, 9.1577, 20.}, {4.5191, 10.302, 20.}, {5.3544, 9.8941, 20.}}], Polygon[{{4.017, 9.1577, 20.}, {3.247, 9.4582, 20.}, {3.6529, 10.64, 20.}, {4.5191, 10.302, 20.}}], Polygon[{{3.247, 9.4582, 20.}, {2.4549, 9.694, 20.}, {2.7617, 10.906, 20.}, {3.6529, 10.64, 20.}}], Polygon[{{2.4549, 9.694, 20.}, {1.6459, 9.8636, 20.}, {1.8517, 11.097, 20.}, {2.7617, 10.906, 20.}}], Polygon[{{1.6459, 9.8636, 20.}, {0.82579, 9.9658, 20.}, {0.92902, 11.212, 20.}, {1.8517, 11.097, 20.}}], Polygon[{{0.82579, 9.9658, 20.}, {6.123*^-16, 10., 20.}, {6.8884*^-16, 11.25, 20.}, {0.92902, 11.212, 20.}}], Polygon[{{11.25, 0., 20.}, {11.212, 0.92902, 20.}, {12.457, 1.0322, 20.}, {12.5, 0., 20.}}], Polygon[{{11.212, 0.92902, 20.}, {11.097, 1.8517, 20.}, {12.33, 2.0574, 20.}, {12.457, 1.0322, 20.}}], Polygon[{{11.097, 1.8517, 20.}, {10.906, 2.7617, 20.}, {12.118, 3.0686, 20.}, {12.33, 2.0574, 20.}}], Polygon[{{10.906, 2.7617, 20.}, {10.64, 3.6529, 20.}, {11.823, 4.0587, 20.}, {12.118, 3.0686, 20.}}], Polygon[{{10.64, 3.6529, 20.}, {10.302, 4.5191, 20.}, {11.447, 5.0212, 20.}, {11.823, 4.0587, 20.}}], Polygon[{{10.302, 4.5191, 20.}, {9.8941, 5.3544, 20.}, {10.993, 5.9493, 20.}, {11.447, 5.0212, 20.}}], Polygon[{{9.8941, 5.3544, 20.}, {9.4181, 6.1532, 20.}, {10.465, 6.8369, 20.}, {10.993, 5.9493, 20.}}], Polygon[{{9.4181, 6.1532, 20.}, {8.8778, 6.9099, 20.}, {9.8643, 7.6777, 20.}, {10.465, 6.8369, 20.}}], Polygon[{{8.8778, 6.9099, 20.}, {8.2769, 7.6194, 20.}, {9.1965, 8.466, 20.}, {9.8643, 7.6777, 20.}}], Polygon[{{8.2769, 7.6194, 20.}, {7.6194, 8.2769, 20.}, {8.466, 9.1965, 20.}, {9.1965, 8.466, 20.}}], Polygon[{{7.6194, 8.2769, 20.}, {6.9099, 8.8778, 20.}, {7.6777, 9.8643, 20.}, {8.466, 9.1965, 20.}}], Polygon[{{6.9099, 8.8778, 20.}, {6.1532, 9.4181, 20.}, {6.8369, 10.465, 20.}, {7.6777, 9.8643, 20.}}], Polygon[{{6.1532, 9.4181, 20.}, {5.3544, 9.8941, 20.}, {5.9493, 10.993, 20.}, {6.8369, 10.465, 20.}}], Polygon[{{5.3544, 9.8941, 20.}, {4.5191, 10.302, 20.}, {5.0212, 11.447, 20.}, {5.9493, 10.993, 20.}}], Polygon[{{4.5191, 10.302, 20.}, {3.6529, 10.64, 20.}, {4.0587, 11.823, 20.}, {5.0212, 11.447, 20.}}], Polygon[{{3.6529, 10.64, 20.}, {2.7617, 10.906, 20.}, {3.0686, 12.118, 20.}, {4.0587, 11.823, 20.}}], Polygon[{{2.7617, 10.906, 20.}, {1.8517, 11.097, 20.}, {2.0574, 12.33, 20.}, {3.0686, 12.118, 20.}}], Polygon[{{1.8517, 11.097, 20.}, {0.92902, 11.212, 20.}, {1.0322, 12.457, 20.}, {2.0574, 12.33, 20.}}], Polygon[{{0.92902, 11.212, 20.}, {6.8884*^-16, 11.25, 20.}, {7.6538*^-16, 12.5, 20.}, {1.0322, 12.457, 20.}}], Polygon[{{12.5, 0., 20.}, {12.457, 1.0322, 20.}, {13.703, 1.1355, 20.}, {13.75, 0., 20.}}], Polygon[{{12.457, 1.0322, 20.}, {12.33, 2.0574, 20.}, {13.562, 2.2632, 20.}, {13.703, 1.1355, 20.}}], Polygon[{{12.33, 2.0574, 20.}, {12.118, 3.0686, 20.}, {13.329, 3.3754, 20.}, {13.562, 2.2632, 20.}}], Polygon[{{12.118, 3.0686, 20.}, {11.823, 4.0587, 20.}, {13.005, 4.4646, 20.}, {13.329, 3.3754, 20.}}], Polygon[{{11.823, 4.0587, 20.}, {11.447, 5.0212, 20.}, {12.592, 5.5233, 20.}, {13.005, 4.4646, 20.}}], Polygon[{{11.447, 5.0212, 20.}, {10.993, 5.9493, 20.}, {12.093, 6.5443, 20.}, {12.592, 5.5233, 20.}}], Polygon[{{10.993, 5.9493, 20.}, {10.465, 6.8369, 20.}, {11.511, 7.5205, 20.}, {12.093, 6.5443, 20.}}], Polygon[{{10.465, 6.8369, 20.}, {9.8643, 7.6777, 20.}, {10.851, 8.4454, 20.}, {11.511, 7.5205, 20.}}], Polygon[{{9.8643, 7.6777, 20.}, {9.1965, 8.466, 20.}, {10.116, 9.3126, 20.}, {10.851, 8.4454, 20.}}], Polygon[{{9.1965, 8.466, 20.}, {8.466, 9.1965, 20.}, {9.3126, 10.116, 20.}, {10.116, 9.3126, 20.}}], Polygon[{{8.466, 9.1965, 20.}, {7.6777, 9.8643, 20.}, {8.4454, 10.851, 20.}, {9.3126, 10.116, 20.}}], Polygon[{{7.6777, 9.8643, 20.}, {6.8369, 10.465, 20.}, {7.5205, 11.511, 20.}, {8.4454, 10.851, 20.}}], Polygon[{{6.8369, 10.465, 20.}, {5.9493, 10.993, 20.}, {6.5443, 12.093, 20.}, {7.5205, 11.511, 20.}}], Polygon[{{5.9493, 10.993, 20.}, {5.0212, 11.447, 20.}, {5.5233, 12.592, 20.}, {6.5443, 12.093, 20.}}], Polygon[{{5.0212, 11.447, 20.}, {4.0587, 11.823, 20.}, {4.4646, 13.005, 20.}, {5.5233, 12.592, 20.}}], Polygon[{{4.0587, 11.823, 20.}, {3.0686, 12.118, 20.}, {3.3754, 13.329, 20.}, {4.4646, 13.005, 20.}}], Polygon[{{3.0686, 12.118, 20.}, {2.0574, 12.33, 20.}, {2.2632, 13.562, 20.}, {3.3754, 13.329, 20.}}], Polygon[{{2.0574, 12.33, 20.}, {1.0322, 12.457, 20.}, {1.1355, 13.703, 20.}, {2.2632, 13.562, 20.}}], Polygon[{{1.0322, 12.457, 20.}, {7.6538*^-16, 12.5, 20.}, {8.4192*^-16, 13.75, 20.}, {1.1355, 13.703, 20.}}], Polygon[{{13.75, 0., 20.}, {13.703, 1.1355, 20.}, {14.949, 1.2387, 20.}, {15., 0., 20.}}], Polygon[{{13.703, 1.1355, 20.}, {13.562, 2.2632, 20.}, {14.795, 2.4689, 20.}, {14.949, 1.2387, 20.}}], Polygon[{{13.562, 2.2632, 20.}, {13.329, 3.3754, 20.}, {14.541, 3.6823, 20.}, {14.795, 2.4689, 20.}}], Polygon[{{13.329, 3.3754, 20.}, {13.005, 4.4646, 20.}, {14.187, 4.8705, 20.}, {14.541, 3.6823, 20.}}], Polygon[{{13.005, 4.4646, 20.}, {12.592, 5.5233, 20.}, {13.737, 6.0254, 20.}, {14.187, 4.8705, 20.}}], Polygon[{{12.592, 5.5233, 20.}, {12.093, 6.5443, 20.}, {13.192, 7.1392, 20.}, {13.737, 6.0254, 20.}}], Polygon[{{12.093, 6.5443, 20.}, {11.511, 7.5205, 20.}, {12.557, 8.2042, 20.}, {13.192, 7.1392, 20.}}], Polygon[{{11.511, 7.5205, 20.}, {10.851, 8.4454, 20.}, {11.837, 9.2132, 20.}, {12.557, 8.2042, 20.}}], Polygon[{{10.851, 8.4454, 20.}, {10.116, 9.3126, 20.}, {11.036, 10.159, 20.}, {11.837, 9.2132, 20.}}], Polygon[{{10.116, 9.3126, 20.}, {9.3126, 10.116, 20.}, {10.159, 11.036, 20.}, {11.036, 10.159, 20.}}], Polygon[{{9.3126, 10.116, 20.}, {8.4454, 10.851, 20.}, {9.2132, 11.837, 20.}, {10.159, 11.036, 20.}}], Polygon[{{8.4454, 10.851, 20.}, {7.5205, 11.511, 20.}, {8.2042, 12.557, 20.}, {9.2132, 11.837, 20.}}], Polygon[{{7.5205, 11.511, 20.}, {6.5443, 12.093, 20.}, {7.1392, 13.192, 20.}, {8.2042, 12.557, 20.}}], Polygon[{{6.5443, 12.093, 20.}, {5.5233, 12.592, 20.}, {6.0254, 13.737, 20.}, {7.1392, 13.192, 20.}}], Polygon[{{5.5233, 12.592, 20.}, {4.4646, 13.005, 20.}, {4.8705, 14.187, 20.}, {6.0254, 13.737, 20.}}], Polygon[{{4.4646, 13.005, 20.}, {3.3754, 13.329, 20.}, {3.6823, 14.541, 20.}, {4.8705, 14.187, 20.}}], Polygon[{{3.3754, 13.329, 20.}, {2.2632, 13.562, 20.}, {2.4689, 14.795, 20.}, {3.6823, 14.541, 20.}}], Polygon[{{2.2632, 13.562, 20.}, {1.1355, 13.703, 20.}, {1.2387, 14.949, 20.}, {2.4689, 14.795, 20.}}], Polygon[{{1.1355, 13.703, 20.}, {8.4192*^-16, 13.75, 20.}, {9.1845*^-16, 15., 20.}, {1.2387, 14.949, 20.}}]}, {Polygon[{{10., 0., -20.}, {9.9658, 0.82579, -20.}, {11.212, 0.92902, -20.}, {11.25, 0., -20.}}], Polygon[{{9.9658, 0.82579, -20.}, {9.8636, 1.6459, -20.}, {11.097, 1.8517, -20.}, {11.212, 0.92902, -20.}}], Polygon[{{9.8636, 1.6459, -20.}, {9.694, 2.4549, -20.}, {10.906, 2.7617, -20.}, {11.097, 1.8517, -20.}}], Polygon[{{9.694, 2.4549, -20.}, {9.4582, 3.247, -20.}, {10.64, 3.6529, -20.}, {10.906, 2.7617, -20.}}], Polygon[{{9.4582, 3.247, -20.}, {9.1577, 4.017, -20.}, {10.302, 4.5191, -20.}, {10.64, 3.6529, -20.}}], Polygon[{{9.1577, 4.017, -20.}, {8.7947, 4.7595, -20.}, {9.8941, 5.3544, -20.}, {10.302, 4.5191, -20.}}], Polygon[{{8.7947, 4.7595, -20.}, {8.3717, 5.4695, -20.}, {9.4181, 6.1532, -20.}, {9.8941, 5.3544, -20.}}], Polygon[{{8.3717, 5.4695, -20.}, {7.8914, 6.1421, -20.}, {8.8778, 6.9099, -20.}, {9.4181, 6.1532, -20.}}], Polygon[{{7.8914, 6.1421, -20.}, {7.3572, 6.7728, -20.}, {8.2769, 7.6194, -20.}, {8.8778, 6.9099, -20.}}], Polygon[{{7.3572, 6.7728, -20.}, {6.7728, 7.3572, -20.}, {7.6194, 8.2769, -20.}, {8.2769, 7.6194, -20.}}], Polygon[{{6.7728, 7.3572, -20.}, {6.1421, 7.8914, -20.}, {6.9099, 8.8778, -20.}, {7.6194, 8.2769, -20.}}], Polygon[{{6.1421, 7.8914, -20.}, {5.4695, 8.3717, -20.}, {6.1532, 9.4181, -20.}, {6.9099, 8.8778, -20.}}], Polygon[{{5.4695, 8.3717, -20.}, {4.7595, 8.7947, -20.}, {5.3544, 9.8941, -20.}, {6.1532, 9.4181, -20.}}], Polygon[{{4.7595, 8.7947, -20.}, {4.017, 9.1577, -20.}, {4.5191, 10.302, -20.}, {5.3544, 9.8941, -20.}}], Polygon[{{4.017, 9.1577, -20.}, {3.247, 9.4582, -20.}, {3.6529, 10.64, -20.}, {4.5191, 10.302, -20.}}], Polygon[{{3.247, 9.4582, -20.}, {2.4549, 9.694, -20.}, {2.7617, 10.906, -20.}, {3.6529, 10.64, -20.}}], Polygon[{{2.4549, 9.694, -20.}, {1.6459, 9.8636, -20.}, {1.8517, 11.097, -20.}, {2.7617, 10.906, -20.}}], Polygon[{{1.6459, 9.8636, -20.}, {0.82579, 9.9658, -20.}, {0.92902, 11.212, -20.}, {1.8517, 11.097, -20.}}], Polygon[{{0.82579, 9.9658, -20.}, {6.123*^-16, 10., -20.}, {6.8884*^-16, 11.25, -20.}, {0.92902, 11.212, -20.}}], Polygon[{{11.25, 0., -20.}, {11.212, 0.92902, -20.}, {12.457, 1.0322, -20.}, {12.5, 0., -20.}}], Polygon[{{11.212, 0.92902, -20.}, {11.097, 1.8517, -20.}, {12.33, 2.0574, -20.}, {12.457, 1.0322, -20.}}], Polygon[{{11.097, 1.8517, -20.}, {10.906, 2.7617, -20.}, {12.118, 3.0686, -20.}, {12.33, 2.0574, -20.}}], Polygon[{{10.906, 2.7617, -20.}, {10.64, 3.6529, -20.}, {11.823, 4.0587, -20.}, {12.118, 3.0686, -20.}}], Polygon[{{10.64, 3.6529, -20.}, {10.302, 4.5191, -20.}, {11.447, 5.0212, -20.}, {11.823, 4.0587, -20.}}], Polygon[{{10.302, 4.5191, -20.}, {9.8941, 5.3544, -20.}, {10.993, 5.9493, -20.}, {11.447, 5.0212, -20.}}], Polygon[{{9.8941, 5.3544, -20.}, {9.4181, 6.1532, -20.}, {10.465, 6.8369, -20.}, {10.993, 5.9493, -20.}}], Polygon[{{9.4181, 6.1532, -20.}, {8.8778, 6.9099, -20.}, {9.8643, 7.6777, -20.}, {10.465, 6.8369, -20.}}], Polygon[{{8.8778, 6.9099, -20.}, {8.2769, 7.6194, -20.}, {9.1965, 8.466, -20.}, {9.8643, 7.6777, -20.}}], Polygon[{{8.2769, 7.6194, -20.}, {7.6194, 8.2769, -20.}, {8.466, 9.1965, -20.}, {9.1965, 8.466, -20.}}], Polygon[{{7.6194, 8.2769, -20.}, {6.9099, 8.8778, -20.}, {7.6777, 9.8643, -20.}, {8.466, 9.1965, -20.}}], Polygon[{{6.9099, 8.8778, -20.}, {6.1532, 9.4181, -20.}, {6.8369, 10.465, -20.}, {7.6777, 9.8643, -20.}}], Polygon[{{6.1532, 9.4181, -20.}, {5.3544, 9.8941, -20.}, {5.9493, 10.993, -20.}, {6.8369, 10.465, -20.}}], Polygon[{{5.3544, 9.8941, -20.}, {4.5191, 10.302, -20.}, {5.0212, 11.447, -20.}, {5.9493, 10.993, -20.}}], Polygon[{{4.5191, 10.302, -20.}, {3.6529, 10.64, -20.}, {4.0587, 11.823, -20.}, {5.0212, 11.447, -20.}}], Polygon[{{3.6529, 10.64, -20.}, {2.7617, 10.906, -20.}, {3.0686, 12.118, -20.}, {4.0587, 11.823, -20.}}], Polygon[{{2.7617, 10.906, -20.}, {1.8517, 11.097, -20.}, {2.0574, 12.33, -20.}, {3.0686, 12.118, -20.}}], Polygon[{{1.8517, 11.097, -20.}, {0.92902, 11.212, -20.}, {1.0322, 12.457, -20.}, {2.0574, 12.33, -20.}}], Polygon[{{0.92902, 11.212, -20.}, {6.8884*^-16, 11.25, -20.}, {7.6538*^-16, 12.5, -20.}, {1.0322, 12.457, -20.}}], Polygon[{{12.5, 0., -20.}, {12.457, 1.0322, -20.}, {13.703, 1.1355, -20.}, {13.75, 0., -20.}}], Polygon[{{12.457, 1.0322, -20.}, {12.33, 2.0574, -20.}, {13.562, 2.2632, -20.}, {13.703, 1.1355, -20.}}], Polygon[{{12.33, 2.0574, -20.}, {12.118, 3.0686, -20.}, {13.329, 3.3754, -20.}, {13.562, 2.2632, -20.}}], Polygon[{{12.118, 3.0686, -20.}, {11.823, 4.0587, -20.}, {13.005, 4.4646, -20.}, {13.329, 3.3754, -20.}}], Polygon[{{11.823, 4.0587, -20.}, {11.447, 5.0212, -20.}, {12.592, 5.5233, -20.}, {13.005, 4.4646, -20.}}], Polygon[{{11.447, 5.0212, -20.}, {10.993, 5.9493, -20.}, {12.093, 6.5443, -20.}, {12.592, 5.5233, -20.}}], Polygon[{{10.993, 5.9493, -20.}, {10.465, 6.8369, -20.}, {11.511, 7.5205, -20.}, {12.093, 6.5443, -20.}}], Polygon[{{10.465, 6.8369, -20.}, {9.8643, 7.6777, -20.}, {10.851, 8.4454, -20.}, {11.511, 7.5205, -20.}}], Polygon[{{9.8643, 7.6777, -20.}, {9.1965, 8.466, -20.}, {10.116, 9.3126, -20.}, {10.851, 8.4454, -20.}}], Polygon[{{9.1965, 8.466, -20.}, {8.466, 9.1965, -20.}, {9.3126, 10.116, -20.}, {10.116, 9.3126, -20.}}], Polygon[{{8.466, 9.1965, -20.}, {7.6777, 9.8643, -20.}, {8.4454, 10.851, -20.}, {9.3126, 10.116, -20.}}], Polygon[{{7.6777, 9.8643, -20.}, {6.8369, 10.465, -20.}, {7.5205, 11.511, -20.}, {8.4454, 10.851, -20.}}], Polygon[{{6.8369, 10.465, -20.}, {5.9493, 10.993, -20.}, {6.5443, 12.093, -20.}, {7.5205, 11.511, -20.}}], Polygon[{{5.9493, 10.993, -20.}, {5.0212, 11.447, -20.}, {5.5233, 12.592, -20.}, {6.5443, 12.093, -20.}}], Polygon[{{5.0212, 11.447, -20.}, {4.0587, 11.823, -20.}, {4.4646, 13.005, -20.}, {5.5233, 12.592, -20.}}], Polygon[{{4.0587, 11.823, -20.}, {3.0686, 12.118, -20.}, {3.3754, 13.329, -20.}, {4.4646, 13.005, -20.}}], Polygon[{{3.0686, 12.118, -20.}, {2.0574, 12.33, -20.}, {2.2632, 13.562, -20.}, {3.3754, 13.329, -20.}}], Polygon[{{2.0574, 12.33, -20.}, {1.0322, 12.457, -20.}, {1.1355, 13.703, -20.}, {2.2632, 13.562, -20.}}], Polygon[{{1.0322, 12.457, -20.}, {7.6538*^-16, 12.5, -20.}, {8.4192*^-16, 13.75, -20.}, {1.1355, 13.703, -20.}}], Polygon[{{13.75, 0., -20.}, {13.703, 1.1355, -20.}, {14.949, 1.2387, -20.}, {15., 0., -20.}}], Polygon[{{13.703, 1.1355, -20.}, {13.562, 2.2632, -20.}, {14.795, 2.4689, -20.}, {14.949, 1.2387, -20.}}], Polygon[{{13.562, 2.2632, -20.}, {13.329, 3.3754, -20.}, {14.541, 3.6823, -20.}, {14.795, 2.4689, -20.}}], Polygon[{{13.329, 3.3754, -20.}, {13.005, 4.4646, -20.}, {14.187, 4.8705, -20.}, {14.541, 3.6823, -20.}}], Polygon[{{13.005, 4.4646, -20.}, {12.592, 5.5233, -20.}, {13.737, 6.0254, -20.}, {14.187, 4.8705, -20.}}], Polygon[{{12.592, 5.5233, -20.}, {12.093, 6.5443, -20.}, {13.192, 7.1392, -20.}, {13.737, 6.0254, -20.}}], Polygon[{{12.093, 6.5443, -20.}, {11.511, 7.5205, -20.}, {12.557, 8.2042, -20.}, {13.192, 7.1392, -20.}}], Polygon[{{11.511, 7.5205, -20.}, {10.851, 8.4454, -20.}, {11.837, 9.2132, -20.}, {12.557, 8.2042, -20.}}], Polygon[{{10.851, 8.4454, -20.}, {10.116, 9.3126, -20.}, {11.036, 10.159, -20.}, {11.837, 9.2132, -20.}}], Polygon[{{10.116, 9.3126, -20.}, {9.3126, 10.116, -20.}, {10.159, 11.036, -20.}, {11.036, 10.159, -20.}}], Polygon[{{9.3126, 10.116, -20.}, {8.4454, 10.851, -20.}, {9.2132, 11.837, -20.}, {10.159, 11.036, -20.}}], Polygon[{{8.4454, 10.851, -20.}, {7.5205, 11.511, -20.}, {8.2042, 12.557, -20.}, {9.2132, 11.837, -20.}}], Polygon[{{7.5205, 11.511, -20.}, {6.5443, 12.093, -20.}, {7.1392, 13.192, -20.}, {8.2042, 12.557, -20.}}], Polygon[{{6.5443, 12.093, -20.}, {5.5233, 12.592, -20.}, {6.0254, 13.737, -20.}, {7.1392, 13.192, -20.}}], Polygon[{{5.5233, 12.592, -20.}, {4.4646, 13.005, -20.}, {4.8705, 14.187, -20.}, {6.0254, 13.737, -20.}}], Polygon[{{4.4646, 13.005, -20.}, {3.3754, 13.329, -20.}, {3.6823, 14.541, -20.}, {4.8705, 14.187, -20.}}], Polygon[{{3.3754, 13.329, -20.}, {2.2632, 13.562, -20.}, {2.4689, 14.795, -20.}, {3.6823, 14.541, -20.}}], Polygon[{{2.2632, 13.562, -20.}, {1.1355, 13.703, -20.}, {1.2387, 14.949, -20.}, {2.4689, 14.795, -20.}}], Polygon[{{1.1355, 13.703, -20.}, {8.4192*^-16, 13.75, -20.}, {9.1845*^-16, 15., -20.}, {1.2387, 14.949, -20.}}]}, {Polygon[{{10., 0., -20.}, {11.25, 0., -20.}, {11.25, 0., -17.895}, {10., 0., -17.895}}], Polygon[{{11.25, 0., -20.}, {12.5, 0., -20.}, {12.5, 0., -17.895}, {11.25, 0., -17.895}}], Polygon[{{12.5, 0., -20.}, {13.75, 0., -20.}, {13.75, 0., -17.895}, {12.5, 0., -17.895}}], Polygon[{{13.75, 0., -20.}, {15., 0., -20.}, {15., 0., -17.895}, {13.75, 0., -17.895}}], Polygon[{{10., 0., -17.895}, {11.25, 0., -17.895}, {11.25, 0., -15.789}, {10., 0., -15.789}}], Polygon[{{11.25, 0., -17.895}, {12.5, 0., -17.895}, {12.5, 0., -15.789}, {11.25, 0., -15.789}}], Polygon[{{12.5, 0., -17.895}, {13.75, 0., -17.895}, {13.75, 0., -15.789}, {12.5, 0., -15.789}}], Polygon[{{13.75, 0., -17.895}, {15., 0., -17.895}, {15., 0., -15.789}, {13.75, 0., -15.789}}], Polygon[{{10., 0., -15.789}, {11.25, 0., -15.789}, {11.25, 0., -13.684}, {10., 0., -13.684}}], Polygon[{{11.25, 0., -15.789}, {12.5, 0., -15.789}, {12.5, 0., -13.684}, {11.25, 0., -13.684}}], Polygon[{{12.5, 0., -15.789}, {13.75, 0., -15.789}, {13.75, 0., -13.684}, {12.5, 0., -13.684}}], Polygon[{{13.75, 0., -15.789}, {15., 0., -15.789}, {15., 0., -13.684}, {13.75, 0., -13.684}}], Polygon[{{10., 0., -13.684}, {11.25, 0., -13.684}, {11.25, 0., -11.579}, {10., 0., -11.579}}], Polygon[{{11.25, 0., -13.684}, {12.5, 0., -13.684}, {12.5, 0., -11.579}, {11.25, 0., -11.579}}], Polygon[{{12.5, 0., -13.684}, {13.75, 0., -13.684}, {13.75, 0., -11.579}, {12.5, 0., -11.579}}], Polygon[{{13.75, 0., -13.684}, {15., 0., -13.684}, {15., 0., -11.579}, {13.75, 0., -11.579}}], Polygon[{{10., 0., -11.579}, {11.25, 0., -11.579}, {11.25, 0., -9.4737}, {10., 0., -9.4737}}], Polygon[{{11.25, 0., -11.579}, {12.5, 0., -11.579}, {12.5, 0., -9.4737}, {11.25, 0., -9.4737}}], Polygon[{{12.5, 0., -11.579}, {13.75, 0., -11.579}, {13.75, 0., -9.4737}, {12.5, 0., -9.4737}}], Polygon[{{13.75, 0., -11.579}, {15., 0., -11.579}, {15., 0., -9.4737}, {13.75, 0., -9.4737}}], Polygon[{{10., 0., -9.4737}, {11.25, 0., -9.4737}, {11.25, 0., -7.3684}, {10., 0., -7.3684}}], Polygon[{{11.25, 0., -9.4737}, {12.5, 0., -9.4737}, {12.5, 0., -7.3684}, {11.25, 0., -7.3684}}], Polygon[{{12.5, 0., -9.4737}, {13.75, 0., -9.4737}, {13.75, 0., -7.3684}, {12.5, 0., -7.3684}}], Polygon[{{13.75, 0., -9.4737}, {15., 0., -9.4737}, {15., 0., -7.3684}, {13.75, 0., -7.3684}}], Polygon[{{10., 0., -7.3684}, {11.25, 0., -7.3684}, {11.25, 0., -5.2632}, {10., 0., -5.2632}}], Polygon[{{11.25, 0., -7.3684}, {12.5, 0., -7.3684}, {12.5, 0., -5.2632}, {11.25, 0., -5.2632}}], Polygon[{{12.5, 0., -7.3684}, {13.75, 0., -7.3684}, {13.75, 0., -5.2632}, {12.5, 0., -5.2632}}], Polygon[{{13.75, 0., -7.3684}, {15., 0., -7.3684}, {15., 0., -5.2632}, {13.75, 0., -5.2632}}], Polygon[{{10., 0., -5.2632}, {11.25, 0., -5.2632}, {11.25, 0., -3.1579}, {10., 0., -3.1579}}], Polygon[{{11.25, 0., -5.2632}, {12.5, 0., -5.2632}, {12.5, 0., -3.1579}, {11.25, 0., -3.1579}}], Polygon[{{12.5, 0., -5.2632}, {13.75, 0., -5.2632}, {13.75, 0., -3.1579}, {12.5, 0., -3.1579}}], Polygon[{{13.75, 0., -5.2632}, {15., 0., -5.2632}, {15., 0., -3.1579}, {13.75, 0., -3.1579}}], Polygon[{{10., 0., -3.1579}, {11.25, 0., -3.1579}, {11.25, 0., -1.0526}, {10., 0., -1.0526}}], Polygon[{{11.25, 0., -3.1579}, {12.5, 0., -3.1579}, {12.5, 0., -1.0526}, {11.25, 0., -1.0526}}], Polygon[{{12.5, 0., -3.1579}, {13.75, 0., -3.1579}, {13.75, 0., -1.0526}, {12.5, 0., -1.0526}}], Polygon[{{13.75, 0., -3.1579}, {15., 0., -3.1579}, {15., 0., -1.0526}, {13.75, 0., -1.0526}}], Polygon[{{10., 0., -1.0526}, {11.25, 0., -1.0526}, {11.25, 0., 1.0526}, {10., 0., 1.0526}}], Polygon[{{11.25, 0., -1.0526}, {12.5, 0., -1.0526}, {12.5, 0., 1.0526}, {11.25, 0., 1.0526}}], Polygon[{{12.5, 0., -1.0526}, {13.75, 0., -1.0526}, {13.75, 0., 1.0526}, {12.5, 0., 1.0526}}], Polygon[{{13.75, 0., -1.0526}, {15., 0., -1.0526}, {15., 0., 1.0526}, {13.75, 0., 1.0526}}], Polygon[{{10., 0., 1.0526}, {11.25, 0., 1.0526}, {11.25, 0., 3.1579}, {10., 0., 3.1579}}], Polygon[{{11.25, 0., 1.0526}, {12.5, 0., 1.0526}, {12.5, 0., 3.1579}, {11.25, 0., 3.1579}}], Polygon[{{12.5, 0., 1.0526}, {13.75, 0., 1.0526}, {13.75, 0., 3.1579}, {12.5, 0., 3.1579}}], Polygon[{{13.75, 0., 1.0526}, {15., 0., 1.0526}, {15., 0., 3.1579}, {13.75, 0., 3.1579}}], Polygon[{{10., 0., 3.1579}, {11.25, 0., 3.1579}, {11.25, 0., 5.2632}, {10., 0., 5.2632}}], Polygon[{{11.25, 0., 3.1579}, {12.5, 0., 3.1579}, {12.5, 0., 5.2632}, {11.25, 0., 5.2632}}], Polygon[{{12.5, 0., 3.1579}, {13.75, 0., 3.1579}, {13.75, 0., 5.2632}, {12.5, 0., 5.2632}}], Polygon[{{13.75, 0., 3.1579}, {15., 0., 3.1579}, {15., 0., 5.2632}, {13.75, 0., 5.2632}}], Polygon[{{10., 0., 5.2632}, {11.25, 0., 5.2632}, {11.25, 0., 7.3684}, {10., 0., 7.3684}}], Polygon[{{11.25, 0., 5.2632}, {12.5, 0., 5.2632}, {12.5, 0., 7.3684}, {11.25, 0., 7.3684}}], Polygon[{{12.5, 0., 5.2632}, {13.75, 0., 5.2632}, {13.75, 0., 7.3684}, {12.5, 0., 7.3684}}], Polygon[{{13.75, 0., 5.2632}, {15., 0., 5.2632}, {15., 0., 7.3684}, {13.75, 0., 7.3684}}], Polygon[{{10., 0., 7.3684}, {11.25, 0., 7.3684}, {11.25, 0., 9.4737}, {10., 0., 9.4737}}], Polygon[{{11.25, 0., 7.3684}, {12.5, 0., 7.3684}, {12.5, 0., 9.4737}, {11.25, 0., 9.4737}}], Polygon[{{12.5, 0., 7.3684}, {13.75, 0., 7.3684}, {13.75, 0., 9.4737}, {12.5, 0., 9.4737}}], Polygon[{{13.75, 0., 7.3684}, {15., 0., 7.3684}, {15., 0., 9.4737}, {13.75, 0., 9.4737}}], Polygon[{{10., 0., 9.4737}, {11.25, 0., 9.4737}, {11.25, 0., 11.579}, {10., 0., 11.579}}], Polygon[{{11.25, 0., 9.4737}, {12.5, 0., 9.4737}, {12.5, 0., 11.579}, {11.25, 0., 11.579}}], Polygon[{{12.5, 0., 9.4737}, {13.75, 0., 9.4737}, {13.75, 0., 11.579}, {12.5, 0., 11.579}}], Polygon[{{13.75, 0., 9.4737}, {15., 0., 9.4737}, {15., 0., 11.579}, {13.75, 0., 11.579}}], Polygon[{{10., 0., 11.579}, {11.25, 0., 11.579}, {11.25, 0., 13.684}, {10., 0., 13.684}}], Polygon[{{11.25, 0., 11.579}, {12.5, 0., 11.579}, {12.5, 0., 13.684}, {11.25, 0., 13.684}}], Polygon[{{12.5, 0., 11.579}, {13.75, 0., 11.579}, {13.75, 0., 13.684}, {12.5, 0., 13.684}}], Polygon[{{13.75, 0., 11.579}, {15., 0., 11.579}, {15., 0., 13.684}, {13.75, 0., 13.684}}], Polygon[{{10., 0., 13.684}, {11.25, 0., 13.684}, {11.25, 0., 15.789}, {10., 0., 15.789}}], Polygon[{{11.25, 0., 13.684}, {12.5, 0., 13.684}, {12.5, 0., 15.789}, {11.25, 0., 15.789}}], Polygon[{{12.5, 0., 13.684}, {13.75, 0., 13.684}, {13.75, 0., 15.789}, {12.5, 0., 15.789}}], Polygon[{{13.75, 0., 13.684}, {15., 0., 13.684}, {15., 0., 15.789}, {13.75, 0., 15.789}}], Polygon[{{10., 0., 15.789}, {11.25, 0., 15.789}, {11.25, 0., 17.895}, {10., 0., 17.895}}], Polygon[{{11.25, 0., 15.789}, {12.5, 0., 15.789}, {12.5, 0., 17.895}, {11.25, 0., 17.895}}], Polygon[{{12.5, 0., 15.789}, {13.75, 0., 15.789}, {13.75, 0., 17.895}, {12.5, 0., 17.895}}], Polygon[{{13.75, 0., 15.789}, {15., 0., 15.789}, {15., 0., 17.895}, {13.75, 0., 17.895}}], Polygon[{{10., 0., 17.895}, {11.25, 0., 17.895}, {11.25, 0., 20.}, {10., 0., 20.}}], Polygon[{{11.25, 0., 17.895}, {12.5, 0., 17.895}, {12.5, 0., 20.}, {11.25, 0., 20.}}], Polygon[{{12.5, 0., 17.895}, {13.75, 0., 17.895}, {13.75, 0., 20.}, {12.5, 0., 20.}}], Polygon[{{13.75, 0., 17.895}, {15., 0., 17.895}, {15., 0., 20.}, {13.75, 0., 20.}}]}, {Polygon[{{0., 10., -20.}, {0., 11.25, -20.}, {0., 11.25, -17.895}, {0., 10., -17.895}}], Polygon[{{0., 11.25, -20.}, {0., 12.5, -20.}, {0., 12.5, -17.895}, {0., 11.25, -17.895}}], Polygon[{{0., 12.5, -20.}, {0., 13.75, -20.}, {0., 13.75, -17.895}, {0., 12.5, -17.895}}], Polygon[{{0., 13.75, -20.}, {0., 15., -20.}, {0., 15., -17.895}, {0., 13.75, -17.895}}], Polygon[{{0., 10., -17.895}, {0., 11.25, -17.895}, {0., 11.25, -15.789}, {0., 10., -15.789}}], Polygon[{{0., 11.25, -17.895}, {0., 12.5, -17.895}, {0., 12.5, -15.789}, {0., 11.25, -15.789}}], Polygon[{{0., 12.5, -17.895}, {0., 13.75, -17.895}, {0., 13.75, -15.789}, {0., 12.5, -15.789}}], Polygon[{{0., 13.75, -17.895}, {0., 15., -17.895}, {0., 15., -15.789}, {0., 13.75, -15.789}}], Polygon[{{0., 10., -15.789}, {0., 11.25, -15.789}, {0., 11.25, -13.684}, {0., 10., -13.684}}], Polygon[{{0., 11.25, -15.789}, {0., 12.5, -15.789}, {0., 12.5, -13.684}, {0., 11.25, -13.684}}], Polygon[{{0., 12.5, -15.789}, {0., 13.75, -15.789}, {0., 13.75, -13.684}, {0., 12.5, -13.684}}], Polygon[{{0., 13.75, -15.789}, {0., 15., -15.789}, {0., 15., -13.684}, {0., 13.75, -13.684}}], Polygon[{{0., 10., -13.684}, {0., 11.25, -13.684}, {0., 11.25, -11.579}, {0., 10., -11.579}}], Polygon[{{0., 11.25, -13.684}, {0., 12.5, -13.684}, {0., 12.5, -11.579}, {0., 11.25, -11.579}}], Polygon[{{0., 12.5, -13.684}, {0., 13.75, -13.684}, {0., 13.75, -11.579}, {0., 12.5, -11.579}}], Polygon[{{0., 13.75, -13.684}, {0., 15., -13.684}, {0., 15., -11.579}, {0., 13.75, -11.579}}], Polygon[{{0., 10., -11.579}, {0., 11.25, -11.579}, {0., 11.25, -9.4737}, {0., 10., -9.4737}}], Polygon[{{0., 11.25, -11.579}, {0., 12.5, -11.579}, {0., 12.5, -9.4737}, {0., 11.25, -9.4737}}], Polygon[{{0., 12.5, -11.579}, {0., 13.75, -11.579}, {0., 13.75, -9.4737}, {0., 12.5, -9.4737}}], Polygon[{{0., 13.75, -11.579}, {0., 15., -11.579}, {0., 15., -9.4737}, {0., 13.75, -9.4737}}], Polygon[{{0., 10., -9.4737}, {0., 11.25, -9.4737}, {0., 11.25, -7.3684}, {0., 10., -7.3684}}], Polygon[{{0., 11.25, -9.4737}, {0., 12.5, -9.4737}, {0., 12.5, -7.3684}, {0., 11.25, -7.3684}}], Polygon[{{0., 12.5, -9.4737}, {0., 13.75, -9.4737}, {0., 13.75, -7.3684}, {0., 12.5, -7.3684}}], Polygon[{{0., 13.75, -9.4737}, {0., 15., -9.4737}, {0., 15., -7.3684}, {0., 13.75, -7.3684}}], Polygon[{{0., 10., -7.3684}, {0., 11.25, -7.3684}, {0., 11.25, -5.2632}, {0., 10., -5.2632}}], Polygon[{{0., 11.25, -7.3684}, {0., 12.5, -7.3684}, {0., 12.5, -5.2632}, {0., 11.25, -5.2632}}], Polygon[{{0., 12.5, -7.3684}, {0., 13.75, -7.3684}, {0., 13.75, -5.2632}, {0., 12.5, -5.2632}}], Polygon[{{0., 13.75, -7.3684}, {0., 15., -7.3684}, {0., 15., -5.2632}, {0., 13.75, -5.2632}}], Polygon[{{0., 10., -5.2632}, {0., 11.25, -5.2632}, {0., 11.25, -3.1579}, {0., 10., -3.1579}}], Polygon[{{0., 11.25, -5.2632}, {0., 12.5, -5.2632}, {0., 12.5, -3.1579}, {0., 11.25, -3.1579}}], Polygon[{{0., 12.5, -5.2632}, {0., 13.75, -5.2632}, {0., 13.75, -3.1579}, {0., 12.5, -3.1579}}], Polygon[{{0., 13.75, -5.2632}, {0., 15., -5.2632}, {0., 15., -3.1579}, {0., 13.75, -3.1579}}], Polygon[{{0., 10., -3.1579}, {0., 11.25, -3.1579}, {0., 11.25, -1.0526}, {0., 10., -1.0526}}], Polygon[{{0., 11.25, -3.1579}, {0., 12.5, -3.1579}, {0., 12.5, -1.0526}, {0., 11.25, -1.0526}}], Polygon[{{0., 12.5, -3.1579}, {0., 13.75, -3.1579}, {0., 13.75, -1.0526}, {0., 12.5, -1.0526}}], Polygon[{{0., 13.75, -3.1579}, {0., 15., -3.1579}, {0., 15., -1.0526}, {0., 13.75, -1.0526}}], Polygon[{{0., 10., -1.0526}, {0., 11.25, -1.0526}, {0., 11.25, 1.0526}, {0., 10., 1.0526}}], Polygon[{{0., 11.25, -1.0526}, {0., 12.5, -1.0526}, {0., 12.5, 1.0526}, {0., 11.25, 1.0526}}], Polygon[{{0., 12.5, -1.0526}, {0., 13.75, -1.0526}, {0., 13.75, 1.0526}, {0., 12.5, 1.0526}}], Polygon[{{0., 13.75, -1.0526}, {0., 15., -1.0526}, {0., 15., 1.0526}, {0., 13.75, 1.0526}}], Polygon[{{0., 10., 1.0526}, {0., 11.25, 1.0526}, {0., 11.25, 3.1579}, {0., 10., 3.1579}}], Polygon[{{0., 11.25, 1.0526}, {0., 12.5, 1.0526}, {0., 12.5, 3.1579}, {0., 11.25, 3.1579}}], Polygon[{{0., 12.5, 1.0526}, {0., 13.75, 1.0526}, {0., 13.75, 3.1579}, {0., 12.5, 3.1579}}], Polygon[{{0., 13.75, 1.0526}, {0., 15., 1.0526}, {0., 15., 3.1579}, {0., 13.75, 3.1579}}], Polygon[{{0., 10., 3.1579}, {0., 11.25, 3.1579}, {0., 11.25, 5.2632}, {0., 10., 5.2632}}], Polygon[{{0., 11.25, 3.1579}, {0., 12.5, 3.1579}, {0., 12.5, 5.2632}, {0., 11.25, 5.2632}}], Polygon[{{0., 12.5, 3.1579}, {0., 13.75, 3.1579}, {0., 13.75, 5.2632}, {0., 12.5, 5.2632}}], Polygon[{{0., 13.75, 3.1579}, {0., 15., 3.1579}, {0., 15., 5.2632}, {0., 13.75, 5.2632}}], Polygon[{{0., 10., 5.2632}, {0., 11.25, 5.2632}, {0., 11.25, 7.3684}, {0., 10., 7.3684}}], Polygon[{{0., 11.25, 5.2632}, {0., 12.5, 5.2632}, {0., 12.5, 7.3684}, {0., 11.25, 7.3684}}], Polygon[{{0., 12.5, 5.2632}, {0., 13.75, 5.2632}, {0., 13.75, 7.3684}, {0., 12.5, 7.3684}}], Polygon[{{0., 13.75, 5.2632}, {0., 15., 5.2632}, {0., 15., 7.3684}, {0., 13.75, 7.3684}}], Polygon[{{0., 10., 7.3684}, {0., 11.25, 7.3684}, {0., 11.25, 9.4737}, {0., 10., 9.4737}}], Polygon[{{0., 11.25, 7.3684}, {0., 12.5, 7.3684}, {0., 12.5, 9.4737}, {0., 11.25, 9.4737}}], Polygon[{{0., 12.5, 7.3684}, {0., 13.75, 7.3684}, {0., 13.75, 9.4737}, {0., 12.5, 9.4737}}], Polygon[{{0., 13.75, 7.3684}, {0., 15., 7.3684}, {0., 15., 9.4737}, {0., 13.75, 9.4737}}], Polygon[{{0., 10., 9.4737}, {0., 11.25, 9.4737}, {0., 11.25, 11.579}, {0., 10., 11.579}}], Polygon[{{0., 11.25, 9.4737}, {0., 12.5, 9.4737}, {0., 12.5, 11.579}, {0., 11.25, 11.579}}], Polygon[{{0., 12.5, 9.4737}, {0., 13.75, 9.4737}, {0., 13.75, 11.579}, {0., 12.5, 11.579}}], Polygon[{{0., 13.75, 9.4737}, {0., 15., 9.4737}, {0., 15., 11.579}, {0., 13.75, 11.579}}], Polygon[{{0., 10., 11.579}, {0., 11.25, 11.579}, {0., 11.25, 13.684}, {0., 10., 13.684}}], Polygon[{{0., 11.25, 11.579}, {0., 12.5, 11.579}, {0., 12.5, 13.684}, {0., 11.25, 13.684}}], Polygon[{{0., 12.5, 11.579}, {0., 13.75, 11.579}, {0., 13.75, 13.684}, {0., 12.5, 13.684}}], Polygon[{{0., 13.75, 11.579}, {0., 15., 11.579}, {0., 15., 13.684}, {0., 13.75, 13.684}}], Polygon[{{0., 10., 13.684}, {0., 11.25, 13.684}, {0., 11.25, 15.789}, {0., 10., 15.789}}], Polygon[{{0., 11.25, 13.684}, {0., 12.5, 13.684}, {0., 12.5, 15.789}, {0., 11.25, 15.789}}], Polygon[{{0., 12.5, 13.684}, {0., 13.75, 13.684}, {0., 13.75, 15.789}, {0., 12.5, 15.789}}], Polygon[{{0., 13.75, 13.684}, {0., 15., 13.684}, {0., 15., 15.789}, {0., 13.75, 15.789}}], Polygon[{{0., 10., 15.789}, {0., 11.25, 15.789}, {0., 11.25, 17.895}, {0., 10., 17.895}}], Polygon[{{0., 11.25, 15.789}, {0., 12.5, 15.789}, {0., 12.5, 17.895}, {0., 11.25, 17.895}}], Polygon[{{0., 12.5, 15.789}, {0., 13.75, 15.789}, {0., 13.75, 17.895}, {0., 12.5, 17.895}}], Polygon[{{0., 13.75, 15.789}, {0., 15., 15.789}, {0., 15., 17.895}, {0., 13.75, 17.895}}], Polygon[{{0., 10., 17.895}, {0., 11.25, 17.895}, {0., 11.25, 20.}, {0., 10., 20.}}], Polygon[{{0., 11.25, 17.895}, {0., 12.5, 17.895}, {0., 12.5, 20.}, {0., 11.25, 20.}}], Polygon[{{0., 12.5, 17.895}, {0., 13.75, 17.895}, {0., 13.75, 20.}, {0., 12.5, 20.}}], Polygon[{{0., 13.75, 17.895}, {0., 15., 17.895}, {0., 15., 20.}, {0., 13.75, 20.}}]}}, {AmbientLight -> GrayLevel[0.15], PlotRange -> Automatic, DisplayFunction :> $DisplayFunction, ColorOutput -> Automatic, Axes -> True, PlotLabel -> None, AxesLabel -> {"x", "y", "z"}, Ticks -> Automatic, Prolog -> {}, Epilog -> {}, AxesStyle -> Automatic, Background -> Automatic, DefaultColor -> Automatic, DefaultFont :> $DefaultFont, AspectRatio -> Automatic, ViewPoint -> {1.3, -2.4, 2.}, Boxed -> True, BoxRatios -> Automatic, Plot3Matrix -> Automatic, Lighting -> True, AmbientLight -> GrayLevel[0.], LightSources -> {{{1., 0., 1.}, RGBColor[1., 0., 0.]}, {{1., 1., 1.}, RGBColor[0., 1., 0.]}, {{0., 1., 1.}, RGBColor[0., 0., 1.]}}, ViewCenter -> Automatic, PlotRegion -> Automatic, ImageSize -> Automatic, TextStyle :> {FontFamily -> "Times", FontSize -> 16.}, FormatType :> $FormatType, ViewVertical -> {0., 0., 1.}, FaceGrids -> None, Shading -> True, RenderAll -> True, PolygonIntersections -> True, AxesEdge -> Automatic, BoxStyle -> Automatic, SphericalRegion -> False}]
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aTwistedBox.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aTwistedBox.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aTwistedBox.txt	(revision 904)
@@ -0,0 +1,1 @@
+Graphics3D[{{Polygon[{{18.625, -46.402, -60.}, {20.926, -37.816, -60.}, {21.96, -37.225, -53.684}, {19.897, -45.871, -53.684}}], Polygon[{{20.926, -37.816, -60.}, {23.226, -29.23, -60.}, {24.023, -28.579, -53.684}, {21.96, -37.225, -53.684}}], Polygon[{{23.226, -29.23, -60.}, {25.527, -20.644, -60.}, {26.086, -19.932, -53.684}, {24.023, -28.579, -53.684}}], Polygon[{{25.527, -20.644, -60.}, {27.827, -12.058, -60.}, {28.149, -11.286, -53.684}, {26.086, -19.932, -53.684}}], Polygon[{{27.827, -12.058, -60.}, {30.128, -3.4716, -60.}, {30.212, -2.6401, -53.684}, {28.149, -11.286, -53.684}}], Polygon[{{30.128, -3.4716, -60.}, {32.429, 5.1144, -60.}, {32.275, 6.006, -53.684}, {30.212, -2.6401, -53.684}}], Polygon[{{32.429, 5.1144, -60.}, {34.729, 13.7, -60.}, {34.339, 14.652, -53.684}, {32.275, 6.006, -53.684}}], Polygon[{{34.729, 13.7, -60.}, {37.03, 22.286, -60.}, {36.402, 23.298, -53.684}, {34.339, 14.652, -53.684}}], Polygon[{{37.03, 22.286, -60.}, {39.331, 30.872, -60.}, {38.465, 31.944, -53.684}, {36.402, 23.298, -53.684}}], Polygon[{{19.897, -45.871, -53.684}, {21.96, -37.225, -53.684}, {22.977, -36.605, -47.368}, {21.153, -45.305, -47.368}}], Polygon[{{21.96, -37.225, -53.684}, {24.023, -28.579, -53.684}, {24.801, -27.906, -47.368}, {22.977, -36.605, -47.368}}], Polygon[{{24.023, -28.579, -53.684}, {26.086, -19.932, -53.684}, {26.625, -19.206, -47.368}, {24.801, -27.906, -47.368}}], Polygon[{{26.086, -19.932, -53.684}, {28.149, -11.286, -53.684}, {28.449, -10.506, -47.368}, {26.625, -19.206, -47.368}}], Polygon[{{28.149, -11.286, -53.684}, {30.212, -2.6401, -53.684}, {30.274, -1.8066, -47.368}, {28.449, -10.506, -47.368}}], Polygon[{{30.212, -2.6401, -53.684}, {32.275, 6.006, -53.684}, {32.098, 6.8931, -47.368}, {30.274, -1.8066, -47.368}}], Polygon[{{32.275, 6.006, -53.684}, {34.339, 14.652, -53.684}, {33.922, 15.593, -47.368}, {32.098, 6.8931, -47.368}}], Polygon[{{34.339, 14.652, -53.684}, {36.402, 23.298, -53.684}, {35.746, 24.293, -47.368}, {33.922, 15.593, -47.368}}], Polygon[{{36.402, 23.298, -53.684}, {38.465, 31.944, -53.684}, {37.57, 32.992, -47.368}, {35.746, 24.293, -47.368}}], Polygon[{{21.153, -45.305, -47.368}, {22.977, -36.605, -47.368}, {23.977, -35.958, -41.053}, {22.393, -44.705, -41.053}}], Polygon[{{22.977, -36.605, -47.368}, {24.801, -27.906, -47.368}, {25.561, -27.212, -41.053}, {23.977, -35.958, -41.053}}], Polygon[{{24.801, -27.906, -47.368}, {26.625, -19.206, -47.368}, {27.144, -18.465, -41.053}, {25.561, -27.212, -41.053}}], Polygon[{{26.625, -19.206, -47.368}, {28.449, -10.506, -47.368}, {28.728, -9.7184, -41.053}, {27.144, -18.465, -41.053}}], Polygon[{{28.449, -10.506, -47.368}, {30.274, -1.8066, -47.368}, {30.312, -0.97175, -41.053}, {28.728, -9.7184, -41.053}}], Polygon[{{30.274, -1.8066, -47.368}, {32.098, 6.8931, -47.368}, {31.896, 7.7749, -41.053}, {30.312, -0.97175, -41.053}}], Polygon[{{32.098, 6.8931, -47.368}, {33.922, 15.593, -47.368}, {33.479, 16.522, -41.053}, {31.896, 7.7749, -41.053}}], Polygon[{{33.922, 15.593, -47.368}, {35.746, 24.293, -47.368}, {35.063, 25.268, -41.053}, {33.479, 16.522, -41.053}}], Polygon[{{35.746, 24.293, -47.368}, {37.57, 32.992, -47.368}, {36.647, 34.015, -41.053}, {35.063, 25.268, -41.053}}], Polygon[{{22.393, -44.705, -41.053}, {23.977, -35.958, -41.053}, {24.959, -35.284, -34.737}, {23.617, -44.071, -34.737}}], Polygon[{{23.977, -35.958, -41.053}, {25.561, -27.212, -41.053}, {26.301, -26.497, -34.737}, {24.959, -35.284, -34.737}}], Polygon[{{25.561, -27.212, -41.053}, {27.144, -18.465, -41.053}, {27.643, -17.71, -34.737}, {26.301, -26.497, -34.737}}], Polygon[{{27.144, -18.465, -41.053}, {28.728, -9.7184, -41.053}, {28.985, -8.9231, -34.737}, {27.643, -17.71, -34.737}}], Polygon[{{28.728, -9.7184, -41.053}, {30.312, -0.97175, -41.053}, {30.327, -0.13616, -34.737}, {28.985, -8.9231, -34.737}}], Polygon[{{30.312, -0.97175, -41.053}, {31.896, 7.7749, -41.053}, {31.669, 8.6508, -34.737}, {30.327, -0.13616, -34.737}}], Polygon[{{31.896, 7.7749, -41.053}, {33.479, 16.522, -41.053}, {33.011, 17.438, -34.737}, {31.669, 8.6508, -34.737}}], Polygon[{{33.479, 16.522, -41.053}, {35.063, 25.268, -41.053}, {34.353, 26.225, -34.737}, {33.011, 17.438, -34.737}}], Polygon[{{35.063, 25.268, -41.053}, {36.647, 34.015, -41.053}, {35.696, 35.012, -34.737}, {34.353, 26.225, -34.737}}], Polygon[{{23.617, -44.071, -34.737}, {24.959, -35.284, -34.737}, {25.921, -34.583, -28.421}, {24.822, -43.404, -28.421}}], Polygon[{{24.959, -35.284, -34.737}, {26.301, -26.497, -34.737}, {27.021, -25.762, -28.421}, {25.921, -34.583, -28.421}}], Polygon[{{26.301, -26.497, -34.737}, {27.643, -17.71, -34.737}, {28.12, -16.942, -28.421}, {27.021, -25.762, -28.421}}], Polygon[{{27.643, -17.71, -34.737}, {28.985, -8.9231, -34.737}, {29.22, -8.1211, -28.421}, {28.12, -16.942, -28.421}}], Polygon[{{28.985, -8.9231, -34.737}, {30.327, -0.13616, -34.737}, {30.319, 0.69953, -28.421}, {29.22, -8.1211, -28.421}}], Polygon[{{30.327, -0.13616, -34.737}, {31.669, 8.6508, -34.737}, {31.419, 9.5202, -28.421}, {30.319, 0.69953, -28.421}}], Polygon[{{31.669, 8.6508, -34.737}, {33.011, 17.438, -34.737}, {32.518, 18.341, -28.421}, {31.419, 9.5202, -28.421}}], Polygon[{{33.011, 17.438, -34.737}, {34.353, 26.225, -34.737}, {33.618, 27.161, -28.421}, {32.518, 18.341, -28.421}}], Polygon[{{34.353, 26.225, -34.737}, {35.696, 35.012, -34.737}, {34.717, 35.982, -28.421}, {33.618, 27.161, -28.421}}], Polygon[{{24.822, -43.404, -28.421}, {25.921, -34.583, -28.421}, {26.864, -33.856, -22.105}, {26.008, -42.703, -22.105}}], Polygon[{{25.921, -34.583, -28.421}, {27.021, -25.762, -28.421}, {27.72, -25.008, -22.105}, {26.864, -33.856, -22.105}}], Polygon[{{27.021, -25.762, -28.421}, {28.12, -16.942, -28.421}, {28.577, -16.16, -22.105}, {27.72, -25.008, -22.105}}], Polygon[{{28.12, -16.942, -28.421}, {29.22, -8.1211, -28.421}, {29.433, -7.3129, -22.105}, {28.577, -16.16, -22.105}}], Polygon[{{29.22, -8.1211, -28.421}, {30.319, 0.69953, -28.421}, {30.289, 1.5347, -22.105}, {29.433, -7.3129, -22.105}}], Polygon[{{30.319, 0.69953, -28.421}, {31.419, 9.5202, -28.421}, {31.145, 10.382, -22.105}, {30.289, 1.5347, -22.105}}], Polygon[{{31.419, 9.5202, -28.421}, {32.518, 18.341, -28.421}, {32.001, 19.23, -22.105}, {31.145, 10.382, -22.105}}], Polygon[{{32.518, 18.341, -28.421}, {33.618, 27.161, -28.421}, {32.857, 28.077, -22.105}, {32.001, 19.23, -22.105}}], Polygon[{{33.618, 27.161, -28.421}, {34.717, 35.982, -28.421}, {33.713, 36.925, -22.105}, {32.857, 28.077, -22.105}}], Polygon[{{26.008, -42.703, -22.105}, {26.864, -33.856, -22.105}, {27.787, -33.103, -15.789}, {27.175, -41.97, -15.789}}], Polygon[{{26.864, -33.856, -22.105}, {27.72, -25.008, -22.105}, {28.399, -24.235, -15.789}, {27.787, -33.103, -15.789}}], Polygon[{{27.72, -25.008, -22.105}, {28.577, -16.16, -22.105}, {29.011, -15.367, -15.789}, {28.399, -24.235, -15.789}}], Polygon[{{28.577, -16.16, -22.105}, {29.433, -7.3129, -22.105}, {29.623, -6.4991, -15.789}, {29.011, -15.367, -15.789}}], Polygon[{{29.433, -7.3129, -22.105}, {30.289, 1.5347, -22.105}, {30.235, 2.3687, -15.789}, {29.623, -6.4991, -15.789}}], Polygon[{{30.289, 1.5347, -22.105}, {31.145, 10.382, -22.105}, {30.847, 11.237, -15.789}, {30.235, 2.3687, -15.789}}], Polygon[{{31.145, 10.382, -22.105}, {32.001, 19.23, -22.105}, {31.459, 20.104, -15.789}, {30.847, 11.237, -15.789}}], Polygon[{{32.001, 19.23, -22.105}, {32.857, 28.077, -22.105}, {32.071, 28.972, -15.789}, {31.459, 20.104, -15.789}}], Polygon[{{32.857, 28.077, -22.105}, {33.713, 36.925, -22.105}, {32.682, 37.84, -15.789}, {32.071, 28.972, -15.789}}], Polygon[{{27.175, -41.97, -15.789}, {27.787, -33.103, -15.789}, {28.689, -32.324, -9.4737}, {28.321, -41.206, -9.4737}}], Polygon[{{27.787, -33.103, -15.789}, {28.399, -24.235, -15.789}, {29.056, -23.443, -9.4737}, {28.689, -32.324, -9.4737}}], Polygon[{{28.399, -24.235, -15.789}, {29.011, -15.367, -15.789}, {29.423, -14.562, -9.4737}, {29.056, -23.443, -9.4737}}], Polygon[{{29.011, -15.367, -15.789}, {29.623, -6.4991, -15.789}, {29.791, -5.6804, -9.4737}, {29.423, -14.562, -9.4737}}], Polygon[{{29.623, -6.4991, -15.789}, {30.235, 2.3687, -15.789}, {30.158, 3.2009, -9.4737}, {29.791, -5.6804, -9.4737}}], Polygon[{{30.235, 2.3687, -15.789}, {30.847, 11.237, -15.789}, {30.525, 12.082, -9.4737}, {30.158, 3.2009, -9.4737}}], Polygon[{{30.847, 11.237, -15.789}, {31.459, 20.104, -15.789}, {30.893, 20.963, -9.4737}, {30.525, 12.082, -9.4737}}], Polygon[{{31.459, 20.104, -15.789}, {32.071, 28.972, -15.789}, {31.26, 29.845, -9.4737}, {30.893, 20.963, -9.4737}}], Polygon[{{32.071, 28.972, -15.789}, {32.682, 37.84, -15.789}, {31.627, 38.726, -9.4737}, {31.26, 29.845, -9.4737}}], Polygon[{{28.321, -41.206, -9.4737}, {28.689, -32.324, -9.4737}, {29.568, -31.522, -3.1579}, {29.446, -40.41, -3.1579}}], Polygon[{{28.689, -32.324, -9.4737}, {29.056, -23.443, -9.4737}, {29.691, -22.633, -3.1579}, {29.568, -31.522, -3.1579}}], Polygon[{{29.056, -23.443, -9.4737}, {29.423, -14.562, -9.4737}, {29.813, -13.745, -3.1579}, {29.691, -22.633, -3.1579}}], Polygon[{{29.423, -14.562, -9.4737}, {29.791, -5.6804, -9.4737}, {29.936, -4.8574, -3.1579}, {29.813, -13.745, -3.1579}}], Polygon[{{29.791, -5.6804, -9.4737}, {30.158, 3.2009, -9.4737}, {30.058, 4.0307, -3.1579}, {29.936, -4.8574, -3.1579}}], Polygon[{{30.158, 3.2009, -9.4737}, {30.525, 12.082, -9.4737}, {30.181, 12.919, -3.1579}, {30.058, 4.0307, -3.1579}}], Polygon[{{30.525, 12.082, -9.4737}, {30.893, 20.963, -9.4737}, {30.303, 21.807, -3.1579}, {30.181, 12.919, -3.1579}}], Polygon[{{30.893, 20.963, -9.4737}, {31.26, 29.845, -9.4737}, {30.426, 30.695, -3.1579}, {30.303, 21.807, -3.1579}}], Polygon[{{31.26, 29.845, -9.4737}, {31.627, 38.726, -9.4737}, {30.548, 39.583, -3.1579}, {30.426, 30.695, -3.1579}}], Polygon[{{29.446, -40.41, -3.1579}, {29.568, -31.522, -3.1579}, {30.426, -30.695, 3.1579}, {30.548, -39.583, 3.1579}}], Polygon[{{29.568, -31.522, -3.1579}, {29.691, -22.633, -3.1579}, {30.303, -21.807, 3.1579}, {30.426, -30.695, 3.1579}}], Polygon[{{29.691, -22.633, -3.1579}, {29.813, -13.745, -3.1579}, {30.181, -12.919, 3.1579}, {30.303, -21.807, 3.1579}}], Polygon[{{29.813, -13.745, -3.1579}, {29.936, -4.8574, -3.1579}, {30.058, -4.0307, 3.1579}, {30.181, -12.919, 3.1579}}], Polygon[{{29.936, -4.8574, -3.1579}, {30.058, 4.0307, -3.1579}, {29.936, 4.8574, 3.1579}, {30.058, -4.0307, 3.1579}}], Polygon[{{30.058, 4.0307, -3.1579}, {30.181, 12.919, -3.1579}, {29.813, 13.745, 3.1579}, {29.936, 4.8574, 3.1579}}], Polygon[{{30.181, 12.919, -3.1579}, {30.303, 21.807, -3.1579}, {29.691, 22.633, 3.1579}, {29.813, 13.745, 3.1579}}], Polygon[{{30.303, 21.807, -3.1579}, {30.426, 30.695, -3.1579}, {29.568, 31.522, 3.1579}, {29.691, 22.633, 3.1579}}], Polygon[{{30.426, 30.695, -3.1579}, {30.548, 39.583, -3.1579}, {29.446, 40.41, 3.1579}, {29.568, 31.522, 3.1579}}], Polygon[{{30.548, -39.583, 3.1579}, {30.426, -30.695, 3.1579}, {31.26, -29.845, 9.4737}, {31.627, -38.726, 9.4737}}], Polygon[{{30.426, -30.695, 3.1579}, {30.303, -21.807, 3.1579}, {30.893, -20.963, 9.4737}, {31.26, -29.845, 9.4737}}], Polygon[{{30.303, -21.807, 3.1579}, {30.181, -12.919, 3.1579}, {30.525, -12.082, 9.4737}, {30.893, -20.963, 9.4737}}], Polygon[{{30.181, -12.919, 3.1579}, {30.058, -4.0307, 3.1579}, {30.158, -3.2009, 9.4737}, {30.525, -12.082, 9.4737}}], Polygon[{{30.058, -4.0307, 3.1579}, {29.936, 4.8574, 3.1579}, {29.791, 5.6804, 9.4737}, {30.158, -3.2009, 9.4737}}], Polygon[{{29.936, 4.8574, 3.1579}, {29.813, 13.745, 3.1579}, {29.423, 14.562, 9.4737}, {29.791, 5.6804, 9.4737}}], Polygon[{{29.813, 13.745, 3.1579}, {29.691, 22.633, 3.1579}, {29.056, 23.443, 9.4737}, {29.423, 14.562, 9.4737}}], Polygon[{{29.691, 22.633, 3.1579}, {29.568, 31.522, 3.1579}, {28.689, 32.324, 9.4737}, {29.056, 23.443, 9.4737}}], Polygon[{{29.568, 31.522, 3.1579}, {29.446, 40.41, 3.1579}, {28.321, 41.206, 9.4737}, {28.689, 32.324, 9.4737}}], Polygon[{{31.627, -38.726, 9.4737}, {31.26, -29.845, 9.4737}, {32.071, -28.972, 15.789}, {32.682, -37.84, 15.789}}], Polygon[{{31.26, -29.845, 9.4737}, {30.893, -20.963, 9.4737}, {31.459, -20.104, 15.789}, {32.071, -28.972, 15.789}}], Polygon[{{30.893, -20.963, 9.4737}, {30.525, -12.082, 9.4737}, {30.847, -11.237, 15.789}, {31.459, -20.104, 15.789}}], Polygon[{{30.525, -12.082, 9.4737}, {30.158, -3.2009, 9.4737}, {30.235, -2.3687, 15.789}, {30.847, -11.237, 15.789}}], Polygon[{{30.158, -3.2009, 9.4737}, {29.791, 5.6804, 9.4737}, {29.623, 6.4991, 15.789}, {30.235, -2.3687, 15.789}}], Polygon[{{29.791, 5.6804, 9.4737}, {29.423, 14.562, 9.4737}, {29.011, 15.367, 15.789}, {29.623, 6.4991, 15.789}}], Polygon[{{29.423, 14.562, 9.4737}, {29.056, 23.443, 9.4737}, {28.399, 24.235, 15.789}, {29.011, 15.367, 15.789}}], Polygon[{{29.056, 23.443, 9.4737}, {28.689, 32.324, 9.4737}, {27.787, 33.103, 15.789}, {28.399, 24.235, 15.789}}], Polygon[{{28.689, 32.324, 9.4737}, {28.321, 41.206, 9.4737}, {27.175, 41.97, 15.789}, {27.787, 33.103, 15.789}}], Polygon[{{32.682, -37.84, 15.789}, {32.071, -28.972, 15.789}, {32.857, -28.077, 22.105}, {33.713, -36.925, 22.105}}], Polygon[{{32.071, -28.972, 15.789}, {31.459, -20.104, 15.789}, {32.001, -19.23, 22.105}, {32.857, -28.077, 22.105}}], Polygon[{{31.459, -20.104, 15.789}, {30.847, -11.237, 15.789}, {31.145, -10.382, 22.105}, {32.001, -19.23, 22.105}}], Polygon[{{30.847, -11.237, 15.789}, {30.235, -2.3687, 15.789}, {30.289, -1.5347, 22.105}, {31.145, -10.382, 22.105}}], Polygon[{{30.235, -2.3687, 15.789}, {29.623, 6.4991, 15.789}, {29.433, 7.3129, 22.105}, {30.289, -1.5347, 22.105}}], Polygon[{{29.623, 6.4991, 15.789}, {29.011, 15.367, 15.789}, {28.577, 16.16, 22.105}, {29.433, 7.3129, 22.105}}], Polygon[{{29.011, 15.367, 15.789}, {28.399, 24.235, 15.789}, {27.72, 25.008, 22.105}, {28.577, 16.16, 22.105}}], Polygon[{{28.399, 24.235, 15.789}, {27.787, 33.103, 15.789}, {26.864, 33.856, 22.105}, {27.72, 25.008, 22.105}}], Polygon[{{27.787, 33.103, 15.789}, {27.175, 41.97, 15.789}, {26.008, 42.703, 22.105}, {26.864, 33.856, 22.105}}], Polygon[{{33.713, -36.925, 22.105}, {32.857, -28.077, 22.105}, {33.618, -27.161, 28.421}, {34.717, -35.982, 28.421}}], Polygon[{{32.857, -28.077, 22.105}, {32.001, -19.23, 22.105}, {32.518, -18.341, 28.421}, {33.618, -27.161, 28.421}}], Polygon[{{32.001, -19.23, 22.105}, {31.145, -10.382, 22.105}, {31.419, -9.5202, 28.421}, {32.518, -18.341, 28.421}}], Polygon[{{31.145, -10.382, 22.105}, {30.289, -1.5347, 22.105}, {30.319, -0.69953, 28.421}, {31.419, -9.5202, 28.421}}], Polygon[{{30.289, -1.5347, 22.105}, {29.433, 7.3129, 22.105}, {29.22, 8.1211, 28.421}, {30.319, -0.69953, 28.421}}], Polygon[{{29.433, 7.3129, 22.105}, {28.577, 16.16, 22.105}, {28.12, 16.942, 28.421}, {29.22, 8.1211, 28.421}}], Polygon[{{28.577, 16.16, 22.105}, {27.72, 25.008, 22.105}, {27.021, 25.762, 28.421}, {28.12, 16.942, 28.421}}], Polygon[{{27.72, 25.008, 22.105}, {26.864, 33.856, 22.105}, {25.921, 34.583, 28.421}, {27.021, 25.762, 28.421}}], Polygon[{{26.864, 33.856, 22.105}, {26.008, 42.703, 22.105}, {24.822, 43.404, 28.421}, {25.921, 34.583, 28.421}}], Polygon[{{34.717, -35.982, 28.421}, {33.618, -27.161, 28.421}, {34.353, -26.225, 34.737}, {35.696, -35.012, 34.737}}], Polygon[{{33.618, -27.161, 28.421}, {32.518, -18.341, 28.421}, {33.011, -17.438, 34.737}, {34.353, -26.225, 34.737}}], Polygon[{{32.518, -18.341, 28.421}, {31.419, -9.5202, 28.421}, {31.669, -8.6508, 34.737}, {33.011, -17.438, 34.737}}], Polygon[{{31.419, -9.5202, 28.421}, {30.319, -0.69953, 28.421}, {30.327, 0.13616, 34.737}, {31.669, -8.6508, 34.737}}], Polygon[{{30.319, -0.69953, 28.421}, {29.22, 8.1211, 28.421}, {28.985, 8.9231, 34.737}, {30.327, 0.13616, 34.737}}], Polygon[{{29.22, 8.1211, 28.421}, {28.12, 16.942, 28.421}, {27.643, 17.71, 34.737}, {28.985, 8.9231, 34.737}}], Polygon[{{28.12, 16.942, 28.421}, {27.021, 25.762, 28.421}, {26.301, 26.497, 34.737}, {27.643, 17.71, 34.737}}], Polygon[{{27.021, 25.762, 28.421}, {25.921, 34.583, 28.421}, {24.959, 35.284, 34.737}, {26.301, 26.497, 34.737}}], Polygon[{{25.921, 34.583, 28.421}, {24.822, 43.404, 28.421}, {23.617, 44.071, 34.737}, {24.959, 35.284, 34.737}}], Polygon[{{35.696, -35.012, 34.737}, {34.353, -26.225, 34.737}, {35.063, -25.268, 41.053}, {36.647, -34.015, 41.053}}], Polygon[{{34.353, -26.225, 34.737}, {33.011, -17.438, 34.737}, {33.479, -16.522, 41.053}, {35.063, -25.268, 41.053}}], Polygon[{{33.011, -17.438, 34.737}, {31.669, -8.6508, 34.737}, {31.896, -7.7749, 41.053}, {33.479, -16.522, 41.053}}], Polygon[{{31.669, -8.6508, 34.737}, {30.327, 0.13616, 34.737}, {30.312, 0.97175, 41.053}, {31.896, -7.7749, 41.053}}], Polygon[{{30.327, 0.13616, 34.737}, {28.985, 8.9231, 34.737}, {28.728, 9.7184, 41.053}, {30.312, 0.97175, 41.053}}], Polygon[{{28.985, 8.9231, 34.737}, {27.643, 17.71, 34.737}, {27.144, 18.465, 41.053}, {28.728, 9.7184, 41.053}}], Polygon[{{27.643, 17.71, 34.737}, {26.301, 26.497, 34.737}, {25.561, 27.212, 41.053}, {27.144, 18.465, 41.053}}], Polygon[{{26.301, 26.497, 34.737}, {24.959, 35.284, 34.737}, {23.977, 35.958, 41.053}, {25.561, 27.212, 41.053}}], Polygon[{{24.959, 35.284, 34.737}, {23.617, 44.071, 34.737}, {22.393, 44.705, 41.053}, {23.977, 35.958, 41.053}}], Polygon[{{36.647, -34.015, 41.053}, {35.063, -25.268, 41.053}, {35.746, -24.293, 47.368}, {37.57, -32.992, 47.368}}], Polygon[{{35.063, -25.268, 41.053}, {33.479, -16.522, 41.053}, {33.922, -15.593, 47.368}, {35.746, -24.293, 47.368}}], Polygon[{{33.479, -16.522, 41.053}, {31.896, -7.7749, 41.053}, {32.098, -6.8931, 47.368}, {33.922, -15.593, 47.368}}], Polygon[{{31.896, -7.7749, 41.053}, {30.312, 0.97175, 41.053}, {30.274, 1.8066, 47.368}, {32.098, -6.8931, 47.368}}], Polygon[{{30.312, 0.97175, 41.053}, {28.728, 9.7184, 41.053}, {28.449, 10.506, 47.368}, {30.274, 1.8066, 47.368}}], Polygon[{{28.728, 9.7184, 41.053}, {27.144, 18.465, 41.053}, {26.625, 19.206, 47.368}, {28.449, 10.506, 47.368}}], Polygon[{{27.144, 18.465, 41.053}, {25.561, 27.212, 41.053}, {24.801, 27.906, 47.368}, {26.625, 19.206, 47.368}}], Polygon[{{25.561, 27.212, 41.053}, {23.977, 35.958, 41.053}, {22.977, 36.605, 47.368}, {24.801, 27.906, 47.368}}], Polygon[{{23.977, 35.958, 41.053}, {22.393, 44.705, 41.053}, {21.153, 45.305, 47.368}, {22.977, 36.605, 47.368}}], Polygon[{{37.57, -32.992, 47.368}, {35.746, -24.293, 47.368}, {36.402, -23.298, 53.684}, {38.465, -31.944, 53.684}}], Polygon[{{35.746, -24.293, 47.368}, {33.922, -15.593, 47.368}, {34.339, -14.652, 53.684}, {36.402, -23.298, 53.684}}], Polygon[{{33.922, -15.593, 47.368}, {32.098, -6.8931, 47.368}, {32.275, -6.006, 53.684}, {34.339, -14.652, 53.684}}], Polygon[{{32.098, -6.8931, 47.368}, {30.274, 1.8066, 47.368}, {30.212, 2.6401, 53.684}, {32.275, -6.006, 53.684}}], Polygon[{{30.274, 1.8066, 47.368}, {28.449, 10.506, 47.368}, {28.149, 11.286, 53.684}, {30.212, 2.6401, 53.684}}], Polygon[{{28.449, 10.506, 47.368}, {26.625, 19.206, 47.368}, {26.086, 19.932, 53.684}, {28.149, 11.286, 53.684}}], Polygon[{{26.625, 19.206, 47.368}, {24.801, 27.906, 47.368}, {24.023, 28.579, 53.684}, {26.086, 19.932, 53.684}}], Polygon[{{24.801, 27.906, 47.368}, {22.977, 36.605, 47.368}, {21.96, 37.225, 53.684}, {24.023, 28.579, 53.684}}], Polygon[{{22.977, 36.605, 47.368}, {21.153, 45.305, 47.368}, {19.897, 45.871, 53.684}, {21.96, 37.225, 53.684}}], Polygon[{{38.465, -31.944, 53.684}, {36.402, -23.298, 53.684}, {37.03, -22.286, 60.}, {39.331, -30.872, 60.}}], Polygon[{{36.402, -23.298, 53.684}, {34.339, -14.652, 53.684}, {34.729, -13.7, 60.}, {37.03, -22.286, 60.}}], Polygon[{{34.339, -14.652, 53.684}, {32.275, -6.006, 53.684}, {32.429, -5.1144, 60.}, {34.729, -13.7, 60.}}], Polygon[{{32.275, -6.006, 53.684}, {30.212, 2.6401, 53.684}, {30.128, 3.4716, 60.}, {32.429, -5.1144, 60.}}], Polygon[{{30.212, 2.6401, 53.684}, {28.149, 11.286, 53.684}, {27.827, 12.058, 60.}, {30.128, 3.4716, 60.}}], Polygon[{{28.149, 11.286, 53.684}, {26.086, 19.932, 53.684}, {25.527, 20.644, 60.}, {27.827, 12.058, 60.}}], Polygon[{{26.086, 19.932, 53.684}, {24.023, 28.579, 53.684}, {23.226, 29.23, 60.}, {25.527, 20.644, 60.}}], Polygon[{{24.023, 28.579, 53.684}, {21.96, 37.225, 53.684}, {20.926, 37.816, 60.}, {23.226, 29.23, 60.}}], Polygon[{{21.96, 37.225, 53.684}, {19.897, 45.871, 53.684}, {18.625, 46.402, 60.}, {20.926, 37.816, 60.}}]}, {Polygon[{{-18.625, 46.402, -60.}, {-20.926, 37.816, -60.}, {-21.96, 37.225, -53.684}, {-19.897, 45.871, -53.684}}], Polygon[{{-20.926, 37.816, -60.}, {-23.226, 29.23, -60.}, {-24.023, 28.579, -53.684}, {-21.96, 37.225, -53.684}}], Polygon[{{-23.226, 29.23, -60.}, {-25.527, 20.644, -60.}, {-26.086, 19.932, -53.684}, {-24.023, 28.579, -53.684}}], Polygon[{{-25.527, 20.644, -60.}, {-27.827, 12.058, -60.}, {-28.149, 11.286, -53.684}, {-26.086, 19.932, -53.684}}], Polygon[{{-27.827, 12.058, -60.}, {-30.128, 3.4716, -60.}, {-30.212, 2.6401, -53.684}, {-28.149, 11.286, -53.684}}], Polygon[{{-30.128, 3.4716, -60.}, {-32.429, -5.1144, -60.}, {-32.275, -6.006, -53.684}, {-30.212, 2.6401, -53.684}}], Polygon[{{-32.429, -5.1144, -60.}, {-34.729, -13.7, -60.}, {-34.339, -14.652, -53.684}, {-32.275, -6.006, -53.684}}], Polygon[{{-34.729, -13.7, -60.}, {-37.03, -22.286, -60.}, {-36.402, -23.298, -53.684}, {-34.339, -14.652, -53.684}}], Polygon[{{-37.03, -22.286, -60.}, {-39.331, -30.872, -60.}, {-38.465, -31.944, -53.684}, {-36.402, -23.298, -53.684}}], Polygon[{{-19.897, 45.871, -53.684}, {-21.96, 37.225, -53.684}, {-22.977, 36.605, -47.368}, {-21.153, 45.305, -47.368}}], Polygon[{{-21.96, 37.225, -53.684}, {-24.023, 28.579, -53.684}, {-24.801, 27.906, -47.368}, {-22.977, 36.605, -47.368}}], Polygon[{{-24.023, 28.579, -53.684}, {-26.086, 19.932, -53.684}, {-26.625, 19.206, -47.368}, {-24.801, 27.906, -47.368}}], Polygon[{{-26.086, 19.932, -53.684}, {-28.149, 11.286, -53.684}, {-28.449, 10.506, -47.368}, {-26.625, 19.206, -47.368}}], Polygon[{{-28.149, 11.286, -53.684}, {-30.212, 2.6401, -53.684}, {-30.274, 1.8066, -47.368}, {-28.449, 10.506, -47.368}}], Polygon[{{-30.212, 2.6401, -53.684}, {-32.275, -6.006, -53.684}, {-32.098, -6.8931, -47.368}, {-30.274, 1.8066, -47.368}}], Polygon[{{-32.275, -6.006, -53.684}, {-34.339, -14.652, -53.684}, {-33.922, -15.593, -47.368}, {-32.098, -6.8931, -47.368}}], Polygon[{{-34.339, -14.652, -53.684}, {-36.402, -23.298, -53.684}, {-35.746, -24.293, -47.368}, {-33.922, -15.593, -47.368}}], Polygon[{{-36.402, -23.298, -53.684}, {-38.465, -31.944, -53.684}, {-37.57, -32.992, -47.368}, {-35.746, -24.293, -47.368}}], Polygon[{{-21.153, 45.305, -47.368}, {-22.977, 36.605, -47.368}, {-23.977, 35.958, -41.053}, {-22.393, 44.705, -41.053}}], Polygon[{{-22.977, 36.605, -47.368}, {-24.801, 27.906, -47.368}, {-25.561, 27.212, -41.053}, {-23.977, 35.958, -41.053}}], Polygon[{{-24.801, 27.906, -47.368}, {-26.625, 19.206, -47.368}, {-27.144, 18.465, -41.053}, {-25.561, 27.212, -41.053}}], Polygon[{{-26.625, 19.206, -47.368}, {-28.449, 10.506, -47.368}, {-28.728, 9.7184, -41.053}, {-27.144, 18.465, -41.053}}], Polygon[{{-28.449, 10.506, -47.368}, {-30.274, 1.8066, -47.368}, {-30.312, 0.97175, -41.053}, {-28.728, 9.7184, -41.053}}], Polygon[{{-30.274, 1.8066, -47.368}, {-32.098, -6.8931, -47.368}, {-31.896, -7.7749, -41.053}, {-30.312, 0.97175, -41.053}}], Polygon[{{-32.098, -6.8931, -47.368}, {-33.922, -15.593, -47.368}, {-33.479, -16.522, -41.053}, {-31.896, -7.7749, -41.053}}], Polygon[{{-33.922, -15.593, -47.368}, {-35.746, -24.293, -47.368}, {-35.063, -25.268, -41.053}, {-33.479, -16.522, -41.053}}], Polygon[{{-35.746, -24.293, -47.368}, {-37.57, -32.992, -47.368}, {-36.647, -34.015, -41.053}, {-35.063, -25.268, -41.053}}], Polygon[{{-22.393, 44.705, -41.053}, {-23.977, 35.958, -41.053}, {-24.959, 35.284, -34.737}, {-23.617, 44.071, -34.737}}], Polygon[{{-23.977, 35.958, -41.053}, {-25.561, 27.212, -41.053}, {-26.301, 26.497, -34.737}, {-24.959, 35.284, -34.737}}], Polygon[{{-25.561, 27.212, -41.053}, {-27.144, 18.465, -41.053}, {-27.643, 17.71, -34.737}, {-26.301, 26.497, -34.737}}], Polygon[{{-27.144, 18.465, -41.053}, {-28.728, 9.7184, -41.053}, {-28.985, 8.9231, -34.737}, {-27.643, 17.71, -34.737}}], Polygon[{{-28.728, 9.7184, -41.053}, {-30.312, 0.97175, -41.053}, {-30.327, 0.13616, -34.737}, {-28.985, 8.9231, -34.737}}], Polygon[{{-30.312, 0.97175, -41.053}, {-31.896, -7.7749, -41.053}, {-31.669, -8.6508, -34.737}, {-30.327, 0.13616, -34.737}}], Polygon[{{-31.896, -7.7749, -41.053}, {-33.479, -16.522, -41.053}, {-33.011, -17.438, -34.737}, {-31.669, -8.6508, -34.737}}], Polygon[{{-33.479, -16.522, -41.053}, {-35.063, -25.268, -41.053}, {-34.353, -26.225, -34.737}, {-33.011, -17.438, -34.737}}], Polygon[{{-35.063, -25.268, -41.053}, {-36.647, -34.015, -41.053}, {-35.696, -35.012, -34.737}, {-34.353, -26.225, -34.737}}], Polygon[{{-23.617, 44.071, -34.737}, {-24.959, 35.284, -34.737}, {-25.921, 34.583, -28.421}, {-24.822, 43.404, -28.421}}], Polygon[{{-24.959, 35.284, -34.737}, {-26.301, 26.497, -34.737}, {-27.021, 25.762, -28.421}, {-25.921, 34.583, -28.421}}], Polygon[{{-26.301, 26.497, -34.737}, {-27.643, 17.71, -34.737}, {-28.12, 16.942, -28.421}, {-27.021, 25.762, -28.421}}], Polygon[{{-27.643, 17.71, -34.737}, {-28.985, 8.9231, -34.737}, {-29.22, 8.1211, -28.421}, {-28.12, 16.942, -28.421}}], Polygon[{{-28.985, 8.9231, -34.737}, {-30.327, 0.13616, -34.737}, {-30.319, -0.69953, -28.421}, {-29.22, 8.1211, -28.421}}], Polygon[{{-30.327, 0.13616, -34.737}, {-31.669, -8.6508, -34.737}, {-31.419, -9.5202, -28.421}, {-30.319, -0.69953, -28.421}}], Polygon[{{-31.669, -8.6508, -34.737}, {-33.011, -17.438, -34.737}, {-32.518, -18.341, -28.421}, {-31.419, -9.5202, -28.421}}], Polygon[{{-33.011, -17.438, -34.737}, {-34.353, -26.225, -34.737}, {-33.618, -27.161, -28.421}, {-32.518, -18.341, -28.421}}], Polygon[{{-34.353, -26.225, -34.737}, {-35.696, -35.012, -34.737}, {-34.717, -35.982, -28.421}, {-33.618, -27.161, -28.421}}], Polygon[{{-24.822, 43.404, -28.421}, {-25.921, 34.583, -28.421}, {-26.864, 33.856, -22.105}, {-26.008, 42.703, -22.105}}], Polygon[{{-25.921, 34.583, -28.421}, {-27.021, 25.762, -28.421}, {-27.72, 25.008, -22.105}, {-26.864, 33.856, -22.105}}], Polygon[{{-27.021, 25.762, -28.421}, {-28.12, 16.942, -28.421}, {-28.577, 16.16, -22.105}, {-27.72, 25.008, -22.105}}], Polygon[{{-28.12, 16.942, -28.421}, {-29.22, 8.1211, -28.421}, {-29.433, 7.3129, -22.105}, {-28.577, 16.16, -22.105}}], Polygon[{{-29.22, 8.1211, -28.421}, {-30.319, -0.69953, -28.421}, {-30.289, -1.5347, -22.105}, {-29.433, 7.3129, -22.105}}], Polygon[{{-30.319, -0.69953, -28.421}, {-31.419, -9.5202, -28.421}, {-31.145, -10.382, -22.105}, {-30.289, -1.5347, -22.105}}], Polygon[{{-31.419, -9.5202, -28.421}, {-32.518, -18.341, -28.421}, {-32.001, -19.23, -22.105}, {-31.145, -10.382, -22.105}}], Polygon[{{-32.518, -18.341, -28.421}, {-33.618, -27.161, -28.421}, {-32.857, -28.077, -22.105}, {-32.001, -19.23, -22.105}}], Polygon[{{-33.618, -27.161, -28.421}, {-34.717, -35.982, -28.421}, {-33.713, -36.925, -22.105}, {-32.857, -28.077, -22.105}}], Polygon[{{-26.008, 42.703, -22.105}, {-26.864, 33.856, -22.105}, {-27.787, 33.103, -15.789}, {-27.175, 41.97, -15.789}}], Polygon[{{-26.864, 33.856, -22.105}, {-27.72, 25.008, -22.105}, {-28.399, 24.235, -15.789}, {-27.787, 33.103, -15.789}}], Polygon[{{-27.72, 25.008, -22.105}, {-28.577, 16.16, -22.105}, {-29.011, 15.367, -15.789}, {-28.399, 24.235, -15.789}}], Polygon[{{-28.577, 16.16, -22.105}, {-29.433, 7.3129, -22.105}, {-29.623, 6.4991, -15.789}, {-29.011, 15.367, -15.789}}], Polygon[{{-29.433, 7.3129, -22.105}, {-30.289, -1.5347, -22.105}, {-30.235, -2.3687, -15.789}, {-29.623, 6.4991, -15.789}}], Polygon[{{-30.289, -1.5347, -22.105}, {-31.145, -10.382, -22.105}, {-30.847, -11.237, -15.789}, {-30.235, -2.3687, -15.789}}], Polygon[{{-31.145, -10.382, -22.105}, {-32.001, -19.23, -22.105}, {-31.459, -20.104, -15.789}, {-30.847, -11.237, -15.789}}], Polygon[{{-32.001, -19.23, -22.105}, {-32.857, -28.077, -22.105}, {-32.071, -28.972, -15.789}, {-31.459, -20.104, -15.789}}], Polygon[{{-32.857, -28.077, -22.105}, {-33.713, -36.925, -22.105}, {-32.682, -37.84, -15.789}, {-32.071, -28.972, -15.789}}], Polygon[{{-27.175, 41.97, -15.789}, {-27.787, 33.103, -15.789}, {-28.689, 32.324, -9.4737}, {-28.321, 41.206, -9.4737}}], Polygon[{{-27.787, 33.103, -15.789}, {-28.399, 24.235, -15.789}, {-29.056, 23.443, -9.4737}, {-28.689, 32.324, -9.4737}}], Polygon[{{-28.399, 24.235, -15.789}, {-29.011, 15.367, -15.789}, {-29.423, 14.562, -9.4737}, {-29.056, 23.443, -9.4737}}], Polygon[{{-29.011, 15.367, -15.789}, {-29.623, 6.4991, -15.789}, {-29.791, 5.6804, -9.4737}, {-29.423, 14.562, -9.4737}}], Polygon[{{-29.623, 6.4991, -15.789}, {-30.235, -2.3687, -15.789}, {-30.158, -3.2009, -9.4737}, {-29.791, 5.6804, -9.4737}}], Polygon[{{-30.235, -2.3687, -15.789}, {-30.847, -11.237, -15.789}, {-30.525, -12.082, -9.4737}, {-30.158, -3.2009, -9.4737}}], Polygon[{{-30.847, -11.237, -15.789}, {-31.459, -20.104, -15.789}, {-30.893, -20.963, -9.4737}, {-30.525, -12.082, -9.4737}}], Polygon[{{-31.459, -20.104, -15.789}, {-32.071, -28.972, -15.789}, {-31.26, -29.845, -9.4737}, {-30.893, -20.963, -9.4737}}], Polygon[{{-32.071, -28.972, -15.789}, {-32.682, -37.84, -15.789}, {-31.627, -38.726, -9.4737}, {-31.26, -29.845, -9.4737}}], Polygon[{{-28.321, 41.206, -9.4737}, {-28.689, 32.324, -9.4737}, {-29.568, 31.522, -3.1579}, {-29.446, 40.41, -3.1579}}], Polygon[{{-28.689, 32.324, -9.4737}, {-29.056, 23.443, -9.4737}, {-29.691, 22.633, -3.1579}, {-29.568, 31.522, -3.1579}}], Polygon[{{-29.056, 23.443, -9.4737}, {-29.423, 14.562, -9.4737}, {-29.813, 13.745, -3.1579}, {-29.691, 22.633, -3.1579}}], Polygon[{{-29.423, 14.562, -9.4737}, {-29.791, 5.6804, -9.4737}, {-29.936, 4.8574, -3.1579}, {-29.813, 13.745, -3.1579}}], Polygon[{{-29.791, 5.6804, -9.4737}, {-30.158, -3.2009, -9.4737}, {-30.058, -4.0307, -3.1579}, {-29.936, 4.8574, -3.1579}}], Polygon[{{-30.158, -3.2009, -9.4737}, {-30.525, -12.082, -9.4737}, {-30.181, -12.919, -3.1579}, {-30.058, -4.0307, -3.1579}}], Polygon[{{-30.525, -12.082, -9.4737}, {-30.893, -20.963, -9.4737}, {-30.303, -21.807, -3.1579}, {-30.181, -12.919, -3.1579}}], Polygon[{{-30.893, -20.963, -9.4737}, {-31.26, -29.845, -9.4737}, {-30.426, -30.695, -3.1579}, {-30.303, -21.807, -3.1579}}], Polygon[{{-31.26, -29.845, -9.4737}, {-31.627, -38.726, -9.4737}, {-30.548, -39.583, -3.1579}, {-30.426, -30.695, -3.1579}}], Polygon[{{-29.446, 40.41, -3.1579}, {-29.568, 31.522, -3.1579}, {-30.426, 30.695, 3.1579}, {-30.548, 39.583, 3.1579}}], Polygon[{{-29.568, 31.522, -3.1579}, {-29.691, 22.633, -3.1579}, {-30.303, 21.807, 3.1579}, {-30.426, 30.695, 3.1579}}], Polygon[{{-29.691, 22.633, -3.1579}, {-29.813, 13.745, -3.1579}, {-30.181, 12.919, 3.1579}, {-30.303, 21.807, 3.1579}}], Polygon[{{-29.813, 13.745, -3.1579}, {-29.936, 4.8574, -3.1579}, {-30.058, 4.0307, 3.1579}, {-30.181, 12.919, 3.1579}}], Polygon[{{-29.936, 4.8574, -3.1579}, {-30.058, -4.0307, -3.1579}, {-29.936, -4.8574, 3.1579}, {-30.058, 4.0307, 3.1579}}], Polygon[{{-30.058, -4.0307, -3.1579}, {-30.181, -12.919, -3.1579}, {-29.813, -13.745, 3.1579}, {-29.936, -4.8574, 3.1579}}], Polygon[{{-30.181, -12.919, -3.1579}, {-30.303, -21.807, -3.1579}, {-29.691, -22.633, 3.1579}, {-29.813, -13.745, 3.1579}}], Polygon[{{-30.303, -21.807, -3.1579}, {-30.426, -30.695, -3.1579}, {-29.568, -31.522, 3.1579}, {-29.691, -22.633, 3.1579}}], Polygon[{{-30.426, -30.695, -3.1579}, {-30.548, -39.583, -3.1579}, {-29.446, -40.41, 3.1579}, {-29.568, -31.522, 3.1579}}], Polygon[{{-30.548, 39.583, 3.1579}, {-30.426, 30.695, 3.1579}, {-31.26, 29.845, 9.4737}, {-31.627, 38.726, 9.4737}}], Polygon[{{-30.426, 30.695, 3.1579}, {-30.303, 21.807, 3.1579}, {-30.893, 20.963, 9.4737}, {-31.26, 29.845, 9.4737}}], Polygon[{{-30.303, 21.807, 3.1579}, {-30.181, 12.919, 3.1579}, {-30.525, 12.082, 9.4737}, {-30.893, 20.963, 9.4737}}], Polygon[{{-30.181, 12.919, 3.1579}, {-30.058, 4.0307, 3.1579}, {-30.158, 3.2009, 9.4737}, {-30.525, 12.082, 9.4737}}], Polygon[{{-30.058, 4.0307, 3.1579}, {-29.936, -4.8574, 3.1579}, {-29.791, -5.6804, 9.4737}, {-30.158, 3.2009, 9.4737}}], Polygon[{{-29.936, -4.8574, 3.1579}, {-29.813, -13.745, 3.1579}, {-29.423, -14.562, 9.4737}, {-29.791, -5.6804, 9.4737}}], Polygon[{{-29.813, -13.745, 3.1579}, {-29.691, -22.633, 3.1579}, {-29.056, -23.443, 9.4737}, {-29.423, -14.562, 9.4737}}], Polygon[{{-29.691, -22.633, 3.1579}, {-29.568, -31.522, 3.1579}, {-28.689, -32.324, 9.4737}, {-29.056, -23.443, 9.4737}}], Polygon[{{-29.568, -31.522, 3.1579}, {-29.446, -40.41, 3.1579}, {-28.321, -41.206, 9.4737}, {-28.689, -32.324, 9.4737}}], Polygon[{{-31.627, 38.726, 9.4737}, {-31.26, 29.845, 9.4737}, {-32.071, 28.972, 15.789}, {-32.682, 37.84, 15.789}}], Polygon[{{-31.26, 29.845, 9.4737}, {-30.893, 20.963, 9.4737}, {-31.459, 20.104, 15.789}, {-32.071, 28.972, 15.789}}], Polygon[{{-30.893, 20.963, 9.4737}, {-30.525, 12.082, 9.4737}, {-30.847, 11.237, 15.789}, {-31.459, 20.104, 15.789}}], Polygon[{{-30.525, 12.082, 9.4737}, {-30.158, 3.2009, 9.4737}, {-30.235, 2.3687, 15.789}, {-30.847, 11.237, 15.789}}], Polygon[{{-30.158, 3.2009, 9.4737}, {-29.791, -5.6804, 9.4737}, {-29.623, -6.4991, 15.789}, {-30.235, 2.3687, 15.789}}], Polygon[{{-29.791, -5.6804, 9.4737}, {-29.423, -14.562, 9.4737}, {-29.011, -15.367, 15.789}, {-29.623, -6.4991, 15.789}}], Polygon[{{-29.423, -14.562, 9.4737}, {-29.056, -23.443, 9.4737}, {-28.399, -24.235, 15.789}, {-29.011, -15.367, 15.789}}], Polygon[{{-29.056, -23.443, 9.4737}, {-28.689, -32.324, 9.4737}, {-27.787, -33.103, 15.789}, {-28.399, -24.235, 15.789}}], Polygon[{{-28.689, -32.324, 9.4737}, {-28.321, -41.206, 9.4737}, {-27.175, -41.97, 15.789}, {-27.787, -33.103, 15.789}}], Polygon[{{-32.682, 37.84, 15.789}, {-32.071, 28.972, 15.789}, {-32.857, 28.077, 22.105}, {-33.713, 36.925, 22.105}}], Polygon[{{-32.071, 28.972, 15.789}, {-31.459, 20.104, 15.789}, {-32.001, 19.23, 22.105}, {-32.857, 28.077, 22.105}}], Polygon[{{-31.459, 20.104, 15.789}, {-30.847, 11.237, 15.789}, {-31.145, 10.382, 22.105}, {-32.001, 19.23, 22.105}}], Polygon[{{-30.847, 11.237, 15.789}, {-30.235, 2.3687, 15.789}, {-30.289, 1.5347, 22.105}, {-31.145, 10.382, 22.105}}], Polygon[{{-30.235, 2.3687, 15.789}, {-29.623, -6.4991, 15.789}, {-29.433, -7.3129, 22.105}, {-30.289, 1.5347, 22.105}}], Polygon[{{-29.623, -6.4991, 15.789}, {-29.011, -15.367, 15.789}, {-28.577, -16.16, 22.105}, {-29.433, -7.3129, 22.105}}], Polygon[{{-29.011, -15.367, 15.789}, {-28.399, -24.235, 15.789}, {-27.72, -25.008, 22.105}, {-28.577, -16.16, 22.105}}], Polygon[{{-28.399, -24.235, 15.789}, {-27.787, -33.103, 15.789}, {-26.864, -33.856, 22.105}, {-27.72, -25.008, 22.105}}], Polygon[{{-27.787, -33.103, 15.789}, {-27.175, -41.97, 15.789}, {-26.008, -42.703, 22.105}, {-26.864, -33.856, 22.105}}], Polygon[{{-33.713, 36.925, 22.105}, {-32.857, 28.077, 22.105}, {-33.618, 27.161, 28.421}, {-34.717, 35.982, 28.421}}], Polygon[{{-32.857, 28.077, 22.105}, {-32.001, 19.23, 22.105}, {-32.518, 18.341, 28.421}, {-33.618, 27.161, 28.421}}], Polygon[{{-32.001, 19.23, 22.105}, {-31.145, 10.382, 22.105}, {-31.419, 9.5202, 28.421}, {-32.518, 18.341, 28.421}}], Polygon[{{-31.145, 10.382, 22.105}, {-30.289, 1.5347, 22.105}, {-30.319, 0.69953, 28.421}, {-31.419, 9.5202, 28.421}}], Polygon[{{-30.289, 1.5347, 22.105}, {-29.433, -7.3129, 22.105}, {-29.22, -8.1211, 28.421}, {-30.319, 0.69953, 28.421}}], Polygon[{{-29.433, -7.3129, 22.105}, {-28.577, -16.16, 22.105}, {-28.12, -16.942, 28.421}, {-29.22, -8.1211, 28.421}}], Polygon[{{-28.577, -16.16, 22.105}, {-27.72, -25.008, 22.105}, {-27.021, -25.762, 28.421}, {-28.12, -16.942, 28.421}}], Polygon[{{-27.72, -25.008, 22.105}, {-26.864, -33.856, 22.105}, {-25.921, -34.583, 28.421}, {-27.021, -25.762, 28.421}}], Polygon[{{-26.864, -33.856, 22.105}, {-26.008, -42.703, 22.105}, {-24.822, -43.404, 28.421}, {-25.921, -34.583, 28.421}}], Polygon[{{-34.717, 35.982, 28.421}, {-33.618, 27.161, 28.421}, {-34.353, 26.225, 34.737}, {-35.696, 35.012, 34.737}}], Polygon[{{-33.618, 27.161, 28.421}, {-32.518, 18.341, 28.421}, {-33.011, 17.438, 34.737}, {-34.353, 26.225, 34.737}}], Polygon[{{-32.518, 18.341, 28.421}, {-31.419, 9.5202, 28.421}, {-31.669, 8.6508, 34.737}, {-33.011, 17.438, 34.737}}], Polygon[{{-31.419, 9.5202, 28.421}, {-30.319, 0.69953, 28.421}, {-30.327, -0.13616, 34.737}, {-31.669, 8.6508, 34.737}}], Polygon[{{-30.319, 0.69953, 28.421}, {-29.22, -8.1211, 28.421}, {-28.985, -8.9231, 34.737}, {-30.327, -0.13616, 34.737}}], Polygon[{{-29.22, -8.1211, 28.421}, {-28.12, -16.942, 28.421}, {-27.643, -17.71, 34.737}, {-28.985, -8.9231, 34.737}}], Polygon[{{-28.12, -16.942, 28.421}, {-27.021, -25.762, 28.421}, {-26.301, -26.497, 34.737}, {-27.643, -17.71, 34.737}}], Polygon[{{-27.021, -25.762, 28.421}, {-25.921, -34.583, 28.421}, {-24.959, -35.284, 34.737}, {-26.301, -26.497, 34.737}}], Polygon[{{-25.921, -34.583, 28.421}, {-24.822, -43.404, 28.421}, {-23.617, -44.071, 34.737}, {-24.959, -35.284, 34.737}}], Polygon[{{-35.696, 35.012, 34.737}, {-34.353, 26.225, 34.737}, {-35.063, 25.268, 41.053}, {-36.647, 34.015, 41.053}}], Polygon[{{-34.353, 26.225, 34.737}, {-33.011, 17.438, 34.737}, {-33.479, 16.522, 41.053}, {-35.063, 25.268, 41.053}}], Polygon[{{-33.011, 17.438, 34.737}, {-31.669, 8.6508, 34.737}, {-31.896, 7.7749, 41.053}, {-33.479, 16.522, 41.053}}], Polygon[{{-31.669, 8.6508, 34.737}, {-30.327, -0.13616, 34.737}, {-30.312, -0.97175, 41.053}, {-31.896, 7.7749, 41.053}}], Polygon[{{-30.327, -0.13616, 34.737}, {-28.985, -8.9231, 34.737}, {-28.728, -9.7184, 41.053}, {-30.312, -0.97175, 41.053}}], Polygon[{{-28.985, -8.9231, 34.737}, {-27.643, -17.71, 34.737}, {-27.144, -18.465, 41.053}, {-28.728, -9.7184, 41.053}}], Polygon[{{-27.643, -17.71, 34.737}, {-26.301, -26.497, 34.737}, {-25.561, -27.212, 41.053}, {-27.144, -18.465, 41.053}}], Polygon[{{-26.301, -26.497, 34.737}, {-24.959, -35.284, 34.737}, {-23.977, -35.958, 41.053}, {-25.561, -27.212, 41.053}}], Polygon[{{-24.959, -35.284, 34.737}, {-23.617, -44.071, 34.737}, {-22.393, -44.705, 41.053}, {-23.977, -35.958, 41.053}}], Polygon[{{-36.647, 34.015, 41.053}, {-35.063, 25.268, 41.053}, {-35.746, 24.293, 47.368}, {-37.57, 32.992, 47.368}}], Polygon[{{-35.063, 25.268, 41.053}, {-33.479, 16.522, 41.053}, {-33.922, 15.593, 47.368}, {-35.746, 24.293, 47.368}}], Polygon[{{-33.479, 16.522, 41.053}, {-31.896, 7.7749, 41.053}, {-32.098, 6.8931, 47.368}, {-33.922, 15.593, 47.368}}], Polygon[{{-31.896, 7.7749, 41.053}, {-30.312, -0.97175, 41.053}, {-30.274, -1.8066, 47.368}, {-32.098, 6.8931, 47.368}}], Polygon[{{-30.312, -0.97175, 41.053}, {-28.728, -9.7184, 41.053}, {-28.449, -10.506, 47.368}, {-30.274, -1.8066, 47.368}}], Polygon[{{-28.728, -9.7184, 41.053}, {-27.144, -18.465, 41.053}, {-26.625, -19.206, 47.368}, {-28.449, -10.506, 47.368}}], Polygon[{{-27.144, -18.465, 41.053}, {-25.561, -27.212, 41.053}, {-24.801, -27.906, 47.368}, {-26.625, -19.206, 47.368}}], Polygon[{{-25.561, -27.212, 41.053}, {-23.977, -35.958, 41.053}, {-22.977, -36.605, 47.368}, {-24.801, -27.906, 47.368}}], Polygon[{{-23.977, -35.958, 41.053}, {-22.393, -44.705, 41.053}, {-21.153, -45.305, 47.368}, {-22.977, -36.605, 47.368}}], Polygon[{{-37.57, 32.992, 47.368}, {-35.746, 24.293, 47.368}, {-36.402, 23.298, 53.684}, {-38.465, 31.944, 53.684}}], Polygon[{{-35.746, 24.293, 47.368}, {-33.922, 15.593, 47.368}, {-34.339, 14.652, 53.684}, {-36.402, 23.298, 53.684}}], Polygon[{{-33.922, 15.593, 47.368}, {-32.098, 6.8931, 47.368}, {-32.275, 6.006, 53.684}, {-34.339, 14.652, 53.684}}], Polygon[{{-32.098, 6.8931, 47.368}, {-30.274, -1.8066, 47.368}, {-30.212, -2.6401, 53.684}, {-32.275, 6.006, 53.684}}], Polygon[{{-30.274, -1.8066, 47.368}, {-28.449, -10.506, 47.368}, {-28.149, -11.286, 53.684}, {-30.212, -2.6401, 53.684}}], Polygon[{{-28.449, -10.506, 47.368}, {-26.625, -19.206, 47.368}, {-26.086, -19.932, 53.684}, {-28.149, -11.286, 53.684}}], Polygon[{{-26.625, -19.206, 47.368}, {-24.801, -27.906, 47.368}, {-24.023, -28.579, 53.684}, {-26.086, -19.932, 53.684}}], Polygon[{{-24.801, -27.906, 47.368}, {-22.977, -36.605, 47.368}, {-21.96, -37.225, 53.684}, {-24.023, -28.579, 53.684}}], Polygon[{{-22.977, -36.605, 47.368}, {-21.153, -45.305, 47.368}, {-19.897, -45.871, 53.684}, {-21.96, -37.225, 53.684}}], Polygon[{{-38.465, 31.944, 53.684}, {-36.402, 23.298, 53.684}, {-37.03, 22.286, 60.}, {-39.331, 30.872, 60.}}], Polygon[{{-36.402, 23.298, 53.684}, {-34.339, 14.652, 53.684}, {-34.729, 13.7, 60.}, {-37.03, 22.286, 60.}}], Polygon[{{-34.339, 14.652, 53.684}, {-32.275, 6.006, 53.684}, {-32.429, 5.1144, 60.}, {-34.729, 13.7, 60.}}], Polygon[{{-32.275, 6.006, 53.684}, {-30.212, -2.6401, 53.684}, {-30.128, -3.4716, 60.}, {-32.429, 5.1144, 60.}}], Polygon[{{-30.212, -2.6401, 53.684}, {-28.149, -11.286, 53.684}, {-27.827, -12.058, 60.}, {-30.128, -3.4716, 60.}}], Polygon[{{-28.149, -11.286, 53.684}, {-26.086, -19.932, 53.684}, {-25.527, -20.644, 60.}, {-27.827, -12.058, 60.}}], Polygon[{{-26.086, -19.932, 53.684}, {-24.023, -28.579, 53.684}, {-23.226, -29.23, 60.}, {-25.527, -20.644, 60.}}], Polygon[{{-24.023, -28.579, 53.684}, {-21.96, -37.225, 53.684}, {-20.926, -37.816, 60.}, {-23.226, -29.23, 60.}}], Polygon[{{-21.96, -37.225, 53.684}, {-19.897, -45.871, 53.684}, {-18.625, -46.402, 60.}, {-20.926, -37.816, 60.}}]}, {Polygon[{{-18.625, 46.402, -60.}, {-12.186, 44.676, -60.}, {-13.412, 44.323, -53.684}, {-19.897, 45.871, -53.684}}], Polygon[{{-12.186, 44.676, -60.}, {-5.746, 42.951, -60.}, {-6.9273, 42.776, -53.684}, {-13.412, 44.323, -53.684}}], Polygon[{{-5.746, 42.951, -60.}, {0.6935, 41.225, -60.}, {-0.44269, 41.229, -53.684}, {-6.9273, 42.776, -53.684}}], Polygon[{{0.6935, 41.225, -60.}, {7.133, 39.5, -60.}, {6.0419, 39.681, -53.684}, {-0.44269, 41.229, -53.684}}], Polygon[{{7.133, 39.5, -60.}, {13.573, 37.774, -60.}, {12.527, 38.134, -53.684}, {6.0419, 39.681, -53.684}}], Polygon[{{13.573, 37.774, -60.}, {20.012, 36.049, -60.}, {19.011, 36.587, -53.684}, {12.527, 38.134, -53.684}}], Polygon[{{20.012, 36.049, -60.}, {26.452, 34.323, -60.}, {25.496, 35.039, -53.684}, {19.011, 36.587, -53.684}}], Polygon[{{26.452, 34.323, -60.}, {32.891, 32.598, -60.}, {31.98, 33.492, -53.684}, {25.496, 35.039, -53.684}}], Polygon[{{32.891, 32.598, -60.}, {39.331, 30.872, -60.}, {38.465, 31.944, -53.684}, {31.98, 33.492, -53.684}}], Polygon[{{-19.897, 45.871, -53.684}, {-13.412, 44.323, -53.684}, {-14.628, 43.937, -47.368}, {-21.153, 45.305, -47.368}}], Polygon[{{-13.412, 44.323, -53.684}, {-6.9273, 42.776, -53.684}, {-8.1033, 42.569, -47.368}, {-14.628, 43.937, -47.368}}], Polygon[{{-6.9273, 42.776, -53.684}, {-0.44269, 41.229, -53.684}, {-1.5786, 41.201, -47.368}, {-8.1033, 42.569, -47.368}}], Polygon[{{-0.44269, 41.229, -53.684}, {6.0419, 39.681, -53.684}, {4.9462, 39.833, -47.368}, {-1.5786, 41.201, -47.368}}], Polygon[{{6.0419, 39.681, -53.684}, {12.527, 38.134, -53.684}, {11.471, 38.465, -47.368}, {4.9462, 39.833, -47.368}}], Polygon[{{12.527, 38.134, -53.684}, {19.011, 36.587, -53.684}, {17.996, 37.097, -47.368}, {11.471, 38.465, -47.368}}], Polygon[{{19.011, 36.587, -53.684}, {25.496, 35.039, -53.684}, {24.521, 35.728, -47.368}, {17.996, 37.097, -47.368}}], Polygon[{{25.496, 35.039, -53.684}, {31.98, 33.492, -53.684}, {31.045, 34.36, -47.368}, {24.521, 35.728, -47.368}}], Polygon[{{31.98, 33.492, -53.684}, {38.465, 31.944, -53.684}, {37.57, 32.992, -47.368}, {31.045, 34.36, -47.368}}], Polygon[{{-21.153, 45.305, -47.368}, {-14.628, 43.937, -47.368}, {-15.833, 43.517, -41.053}, {-22.393, 44.705, -41.053}}], Polygon[{{-14.628, 43.937, -47.368}, {-8.1033, 42.569, -47.368}, {-9.2732, 42.329, -41.053}, {-15.833, 43.517, -41.053}}], Polygon[{{-8.1033, 42.569, -47.368}, {-1.5786, 41.201, -47.368}, {-2.7132, 41.142, -41.053}, {-9.2732, 42.329, -41.053}}], Polygon[{{-1.5786, 41.201, -47.368}, {4.9462, 39.833, -47.368}, {3.8468, 39.954, -41.053}, {-2.7132, 41.142, -41.053}}], Polygon[{{4.9462, 39.833, -47.368}, {11.471, 38.465, -47.368}, {10.407, 38.766, -41.053}, {3.8468, 39.954, -41.053}}], Polygon[{{11.471, 38.465, -47.368}, {17.996, 37.097, -47.368}, {16.967, 37.578, -41.053}, {10.407, 38.766, -41.053}}], Polygon[{{17.996, 37.097, -47.368}, {24.521, 35.728, -47.368}, {23.527, 36.391, -41.053}, {16.967, 37.578, -41.053}}], Polygon[{{24.521, 35.728, -47.368}, {31.045, 34.36, -47.368}, {30.087, 35.203, -41.053}, {23.527, 36.391, -41.053}}], Polygon[{{31.045, 34.36, -47.368}, {37.57, 32.992, -47.368}, {36.647, 34.015, -41.053}, {30.087, 35.203, -41.053}}], Polygon[{{-22.393, 44.705, -41.053}, {-15.833, 43.517, -41.053}, {-17.026, 43.064, -34.737}, {-23.617, 44.071, -34.737}}], Polygon[{{-15.833, 43.517, -41.053}, {-9.2732, 42.329, -41.053}, {-10.436, 42.058, -34.737}, {-17.026, 43.064, -34.737}}], Polygon[{{-9.2732, 42.329, -41.053}, {-2.7132, 41.142, -41.053}, {-3.8458, 41.051, -34.737}, {-10.436, 42.058, -34.737}}], Polygon[{{-2.7132, 41.142, -41.053}, {3.8468, 39.954, -41.053}, {2.7444, 40.045, -34.737}, {-3.8458, 41.051, -34.737}}], Polygon[{{3.8468, 39.954, -41.053}, {10.407, 38.766, -41.053}, {9.3347, 39.038, -34.737}, {2.7444, 40.045, -34.737}}], Polygon[{{10.407, 38.766, -41.053}, {16.967, 37.578, -41.053}, {15.925, 38.032, -34.737}, {9.3347, 39.038, -34.737}}], Polygon[{{16.967, 37.578, -41.053}, {23.527, 36.391, -41.053}, {22.515, 37.025, -34.737}, {15.925, 38.032, -34.737}}], Polygon[{{23.527, 36.391, -41.053}, {30.087, 35.203, -41.053}, {29.105, 36.018, -34.737}, {22.515, 37.025, -34.737}}], Polygon[{{30.087, 35.203, -41.053}, {36.647, 34.015, -41.053}, {35.696, 35.012, -34.737}, {29.105, 36.018, -34.737}}], Polygon[{{-23.617, 44.071, -34.737}, {-17.026, 43.064, -34.737}, {-18.206, 42.579, -28.421}, {-24.822, 43.404, -28.421}}], Polygon[{{-17.026, 43.064, -34.737}, {-10.436, 42.058, -34.737}, {-11.591, 41.754, -28.421}, {-18.206, 42.579, -28.421}}], Polygon[{{-10.436, 42.058, -34.737}, {-3.8458, 41.051, -34.737}, {-4.9755, 40.93, -28.421}, {-11.591, 41.754, -28.421}}], Polygon[{{-3.8458, 41.051, -34.737}, {2.7444, 40.045, -34.737}, {1.64, 40.105, -28.421}, {-4.9755, 40.93, -28.421}}], Polygon[{{2.7444, 40.045, -34.737}, {9.3347, 39.038, -34.737}, {8.2554, 39.281, -28.421}, {1.64, 40.105, -28.421}}], Polygon[{{9.3347, 39.038, -34.737}, {15.925, 38.032, -34.737}, {14.871, 38.456, -28.421}, {8.2554, 39.281, -28.421}}], Polygon[{{15.925, 38.032, -34.737}, {22.515, 37.025, -34.737}, {21.486, 37.631, -28.421}, {14.871, 38.456, -28.421}}], Polygon[{{22.515, 37.025, -34.737}, {29.105, 36.018, -34.737}, {28.102, 36.807, -28.421}, {21.486, 37.631, -28.421}}], Polygon[{{29.105, 36.018, -34.737}, {35.696, 35.012, -34.737}, {34.717, 35.982, -28.421}, {28.102, 36.807, -28.421}}], Polygon[{{-24.822, 43.404, -28.421}, {-18.206, 42.579, -28.421}, {-19.373, 42.061, -22.105}, {-26.008, 42.703, -22.105}}], Polygon[{{-18.206, 42.579, -28.421}, {-11.591, 41.754, -28.421}, {-12.737, 41.419, -22.105}, {-19.373, 42.061, -22.105}}], Polygon[{{-11.591, 41.754, -28.421}, {-4.9755, 40.93, -28.421}, {-6.1014, 40.777, -22.105}, {-12.737, 41.419, -22.105}}], Polygon[{{-4.9755, 40.93, -28.421}, {1.64, 40.105, -28.421}, {0.53428, 40.135, -22.105}, {-6.1014, 40.777, -22.105}}], Polygon[{{1.64, 40.105, -28.421}, {8.2554, 39.281, -28.421}, {7.17, 39.493, -22.105}, {0.53428, 40.135, -22.105}}], Polygon[{{8.2554, 39.281, -28.421}, {14.871, 38.456, -28.421}, {13.806, 38.851, -22.105}, {7.17, 39.493, -22.105}}], Polygon[{{14.871, 38.456, -28.421}, {21.486, 37.631, -28.421}, {20.441, 38.209, -22.105}, {13.806, 38.851, -22.105}}], Polygon[{{21.486, 37.631, -28.421}, {28.102, 36.807, -28.421}, {27.077, 37.567, -22.105}, {20.441, 38.209, -22.105}}], Polygon[{{28.102, 36.807, -28.421}, {34.717, 35.982, -28.421}, {33.713, 36.925, -22.105}, {27.077, 37.567, -22.105}}], Polygon[{{-26.008, 42.703, -22.105}, {-19.373, 42.061, -22.105}, {-20.524, 41.511, -15.789}, {-27.175, 41.97, -15.789}}], Polygon[{{-19.373, 42.061, -22.105}, {-12.737, 41.419, -22.105}, {-13.874, 41.052, -15.789}, {-20.524, 41.511, -15.789}}], Polygon[{{-12.737, 41.419, -22.105}, {-6.1014, 40.777, -22.105}, {-7.2227, 40.594, -15.789}, {-13.874, 41.052, -15.789}}], Polygon[{{-6.1014, 40.777, -22.105}, {0.53428, 40.135, -22.105}, {-0.57182, 40.135, -15.789}, {-7.2227, 40.594, -15.789}}], Polygon[{{0.53428, 40.135, -22.105}, {7.17, 39.493, -22.105}, {6.079, 39.676, -15.789}, {-0.57182, 40.135, -15.789}}], Polygon[{{7.17, 39.493, -22.105}, {13.806, 38.851, -22.105}, {12.73, 39.217, -15.789}, {6.079, 39.676, -15.789}}], Polygon[{{13.806, 38.851, -22.105}, {20.441, 38.209, -22.105}, {19.381, 38.758, -15.789}, {12.73, 39.217, -15.789}}], Polygon[{{20.441, 38.209, -22.105}, {27.077, 37.567, -22.105}, {26.032, 38.299, -15.789}, {19.381, 38.758, -15.789}}], Polygon[{{27.077, 37.567, -22.105}, {33.713, 36.925, -22.105}, {32.682, 37.84, -15.789}, {26.032, 38.299, -15.789}}], Polygon[{{-27.175, 41.97, -15.789}, {-20.524, 41.511, -15.789}, {-21.66, 40.93, -9.4737}, {-28.321, 41.206, -9.4737}}], Polygon[{{-20.524, 41.511, -15.789}, {-13.874, 41.052, -15.789}, {-14.999, 40.655, -9.4737}, {-21.66, 40.93, -9.4737}}], Polygon[{{-13.874, 41.052, -15.789}, {-7.2227, 40.594, -15.789}, {-8.3385, 40.379, -9.4737}, {-14.999, 40.655, -9.4737}}], Polygon[{{-7.2227, 40.594, -15.789}, {-0.57182, 40.135, -15.789}, {-1.6775, 40.104, -9.4737}, {-8.3385, 40.379, -9.4737}}], Polygon[{{-0.57182, 40.135, -15.789}, {6.079, 39.676, -15.789}, {4.9835, 39.828, -9.4737}, {-1.6775, 40.104, -9.4737}}], Polygon[{{6.079, 39.676, -15.789}, {12.73, 39.217, -15.789}, {11.644, 39.553, -9.4737}, {4.9835, 39.828, -9.4737}}], Polygon[{{12.73, 39.217, -15.789}, {19.381, 38.758, -15.789}, {18.305, 39.277, -9.4737}, {11.644, 39.553, -9.4737}}], Polygon[{{19.381, 38.758, -15.789}, {26.032, 38.299, -15.789}, {24.966, 39.002, -9.4737}, {18.305, 39.277, -9.4737}}], Polygon[{{26.032, 38.299, -15.789}, {32.682, 37.84, -15.789}, {31.627, 38.726, -9.4737}, {24.966, 39.002, -9.4737}}], Polygon[{{-28.321, 41.206, -9.4737}, {-21.66, 40.93, -9.4737}, {-22.78, 40.318, -3.1579}, {-29.446, 40.41, -3.1579}}], Polygon[{{-21.66, 40.93, -9.4737}, {-14.999, 40.655, -9.4737}, {-16.114, 40.226, -3.1579}, {-22.78, 40.318, -3.1579}}], Polygon[{{-14.999, 40.655, -9.4737}, {-8.3385, 40.379, -9.4737}, {-9.4479, 40.134, -3.1579}, {-16.114, 40.226, -3.1579}}], Polygon[{{-8.3385, 40.379, -9.4737}, {-1.6775, 40.104, -9.4737}, {-2.7819, 40.042, -3.1579}, {-9.4479, 40.134, -3.1579}}], Polygon[{{-1.6775, 40.104, -9.4737}, {4.9835, 39.828, -9.4737}, {3.8842, 39.95, -3.1579}, {-2.7819, 40.042, -3.1579}}], Polygon[{{4.9835, 39.828, -9.4737}, {11.644, 39.553, -9.4737}, {10.55, 39.858, -3.1579}, {3.8842, 39.95, -3.1579}}], Polygon[{{11.644, 39.553, -9.4737}, {18.305, 39.277, -9.4737}, {17.216, 39.767, -3.1579}, {10.55, 39.858, -3.1579}}], Polygon[{{18.305, 39.277, -9.4737}, {24.966, 39.002, -9.4737}, {23.882, 39.675, -3.1579}, {17.216, 39.767, -3.1579}}], Polygon[{{24.966, 39.002, -9.4737}, {31.627, 38.726, -9.4737}, {30.548, 39.583, -3.1579}, {23.882, 39.675, -3.1579}}], Polygon[{{-29.446, 40.41, -3.1579}, {-22.78, 40.318, -3.1579}, {-23.882, 39.675, 3.1579}, {-30.548, 39.583, 3.1579}}], Polygon[{{-22.78, 40.318, -3.1579}, {-16.114, 40.226, -3.1579}, {-17.216, 39.767, 3.1579}, {-23.882, 39.675, 3.1579}}], Polygon[{{-16.114, 40.226, -3.1579}, {-9.4479, 40.134, -3.1579}, {-10.55, 39.858, 3.1579}, {-17.216, 39.767, 3.1579}}], Polygon[{{-9.4479, 40.134, -3.1579}, {-2.7819, 40.042, -3.1579}, {-3.8842, 39.95, 3.1579}, {-10.55, 39.858, 3.1579}}], Polygon[{{-2.7819, 40.042, -3.1579}, {3.8842, 39.95, -3.1579}, {2.7819, 40.042, 3.1579}, {-3.8842, 39.95, 3.1579}}], Polygon[{{3.8842, 39.95, -3.1579}, {10.55, 39.858, -3.1579}, {9.4479, 40.134, 3.1579}, {2.7819, 40.042, 3.1579}}], Polygon[{{10.55, 39.858, -3.1579}, {17.216, 39.767, -3.1579}, {16.114, 40.226, 3.1579}, {9.4479, 40.134, 3.1579}}], Polygon[{{17.216, 39.767, -3.1579}, {23.882, 39.675, -3.1579}, {22.78, 40.318, 3.1579}, {16.114, 40.226, 3.1579}}], Polygon[{{23.882, 39.675, -3.1579}, {30.548, 39.583, -3.1579}, {29.446, 40.41, 3.1579}, {22.78, 40.318, 3.1579}}], Polygon[{{-30.548, 39.583, 3.1579}, {-23.882, 39.675, 3.1579}, {-24.966, 39.002, 9.4737}, {-31.627, 38.726, 9.4737}}], Polygon[{{-23.882, 39.675, 3.1579}, {-17.216, 39.767, 3.1579}, {-18.305, 39.277, 9.4737}, {-24.966, 39.002, 9.4737}}], Polygon[{{-17.216, 39.767, 3.1579}, {-10.55, 39.858, 3.1579}, {-11.644, 39.553, 9.4737}, {-18.305, 39.277, 9.4737}}], Polygon[{{-10.55, 39.858, 3.1579}, {-3.8842, 39.95, 3.1579}, {-4.9835, 39.828, 9.4737}, {-11.644, 39.553, 9.4737}}], Polygon[{{-3.8842, 39.95, 3.1579}, {2.7819, 40.042, 3.1579}, {1.6775, 40.104, 9.4737}, {-4.9835, 39.828, 9.4737}}], Polygon[{{2.7819, 40.042, 3.1579}, {9.4479, 40.134, 3.1579}, {8.3385, 40.379, 9.4737}, {1.6775, 40.104, 9.4737}}], Polygon[{{9.4479, 40.134, 3.1579}, {16.114, 40.226, 3.1579}, {14.999, 40.655, 9.4737}, {8.3385, 40.379, 9.4737}}], Polygon[{{16.114, 40.226, 3.1579}, {22.78, 40.318, 3.1579}, {21.66, 40.93, 9.4737}, {14.999, 40.655, 9.4737}}], Polygon[{{22.78, 40.318, 3.1579}, {29.446, 40.41, 3.1579}, {28.321, 41.206, 9.4737}, {21.66, 40.93, 9.4737}}], Polygon[{{-31.627, 38.726, 9.4737}, {-24.966, 39.002, 9.4737}, {-26.032, 38.299, 15.789}, {-32.682, 37.84, 15.789}}], Polygon[{{-24.966, 39.002, 9.4737}, {-18.305, 39.277, 9.4737}, {-19.381, 38.758, 15.789}, {-26.032, 38.299, 15.789}}], Polygon[{{-18.305, 39.277, 9.4737}, {-11.644, 39.553, 9.4737}, {-12.73, 39.217, 15.789}, {-19.381, 38.758, 15.789}}], Polygon[{{-11.644, 39.553, 9.4737}, {-4.9835, 39.828, 9.4737}, {-6.079, 39.676, 15.789}, {-12.73, 39.217, 15.789}}], Polygon[{{-4.9835, 39.828, 9.4737}, {1.6775, 40.104, 9.4737}, {0.57182, 40.135, 15.789}, {-6.079, 39.676, 15.789}}], Polygon[{{1.6775, 40.104, 9.4737}, {8.3385, 40.379, 9.4737}, {7.2227, 40.594, 15.789}, {0.57182, 40.135, 15.789}}], Polygon[{{8.3385, 40.379, 9.4737}, {14.999, 40.655, 9.4737}, {13.874, 41.052, 15.789}, {7.2227, 40.594, 15.789}}], Polygon[{{14.999, 40.655, 9.4737}, {21.66, 40.93, 9.4737}, {20.524, 41.511, 15.789}, {13.874, 41.052, 15.789}}], Polygon[{{21.66, 40.93, 9.4737}, {28.321, 41.206, 9.4737}, {27.175, 41.97, 15.789}, {20.524, 41.511, 15.789}}], Polygon[{{-32.682, 37.84, 15.789}, {-26.032, 38.299, 15.789}, {-27.077, 37.567, 22.105}, {-33.713, 36.925, 22.105}}], Polygon[{{-26.032, 38.299, 15.789}, {-19.381, 38.758, 15.789}, {-20.441, 38.209, 22.105}, {-27.077, 37.567, 22.105}}], Polygon[{{-19.381, 38.758, 15.789}, {-12.73, 39.217, 15.789}, {-13.806, 38.851, 22.105}, {-20.441, 38.209, 22.105}}], Polygon[{{-12.73, 39.217, 15.789}, {-6.079, 39.676, 15.789}, {-7.17, 39.493, 22.105}, {-13.806, 38.851, 22.105}}], Polygon[{{-6.079, 39.676, 15.789}, {0.57182, 40.135, 15.789}, {-0.53428, 40.135, 22.105}, {-7.17, 39.493, 22.105}}], Polygon[{{0.57182, 40.135, 15.789}, {7.2227, 40.594, 15.789}, {6.1014, 40.777, 22.105}, {-0.53428, 40.135, 22.105}}], Polygon[{{7.2227, 40.594, 15.789}, {13.874, 41.052, 15.789}, {12.737, 41.419, 22.105}, {6.1014, 40.777, 22.105}}], Polygon[{{13.874, 41.052, 15.789}, {20.524, 41.511, 15.789}, {19.373, 42.061, 22.105}, {12.737, 41.419, 22.105}}], Polygon[{{20.524, 41.511, 15.789}, {27.175, 41.97, 15.789}, {26.008, 42.703, 22.105}, {19.373, 42.061, 22.105}}], Polygon[{{-33.713, 36.925, 22.105}, {-27.077, 37.567, 22.105}, {-28.102, 36.807, 28.421}, {-34.717, 35.982, 28.421}}], Polygon[{{-27.077, 37.567, 22.105}, {-20.441, 38.209, 22.105}, {-21.486, 37.631, 28.421}, {-28.102, 36.807, 28.421}}], Polygon[{{-20.441, 38.209, 22.105}, {-13.806, 38.851, 22.105}, {-14.871, 38.456, 28.421}, {-21.486, 37.631, 28.421}}], Polygon[{{-13.806, 38.851, 22.105}, {-7.17, 39.493, 22.105}, {-8.2554, 39.281, 28.421}, {-14.871, 38.456, 28.421}}], Polygon[{{-7.17, 39.493, 22.105}, {-0.53428, 40.135, 22.105}, {-1.64, 40.105, 28.421}, {-8.2554, 39.281, 28.421}}], Polygon[{{-0.53428, 40.135, 22.105}, {6.1014, 40.777, 22.105}, {4.9755, 40.93, 28.421}, {-1.64, 40.105, 28.421}}], Polygon[{{6.1014, 40.777, 22.105}, {12.737, 41.419, 22.105}, {11.591, 41.754, 28.421}, {4.9755, 40.93, 28.421}}], Polygon[{{12.737, 41.419, 22.105}, {19.373, 42.061, 22.105}, {18.206, 42.579, 28.421}, {11.591, 41.754, 28.421}}], Polygon[{{19.373, 42.061, 22.105}, {26.008, 42.703, 22.105}, {24.822, 43.404, 28.421}, {18.206, 42.579, 28.421}}], Polygon[{{-34.717, 35.982, 28.421}, {-28.102, 36.807, 28.421}, {-29.105, 36.018, 34.737}, {-35.696, 35.012, 34.737}}], Polygon[{{-28.102, 36.807, 28.421}, {-21.486, 37.631, 28.421}, {-22.515, 37.025, 34.737}, {-29.105, 36.018, 34.737}}], Polygon[{{-21.486, 37.631, 28.421}, {-14.871, 38.456, 28.421}, {-15.925, 38.032, 34.737}, {-22.515, 37.025, 34.737}}], Polygon[{{-14.871, 38.456, 28.421}, {-8.2554, 39.281, 28.421}, {-9.3347, 39.038, 34.737}, {-15.925, 38.032, 34.737}}], Polygon[{{-8.2554, 39.281, 28.421}, {-1.64, 40.105, 28.421}, {-2.7444, 40.045, 34.737}, {-9.3347, 39.038, 34.737}}], Polygon[{{-1.64, 40.105, 28.421}, {4.9755, 40.93, 28.421}, {3.8458, 41.051, 34.737}, {-2.7444, 40.045, 34.737}}], Polygon[{{4.9755, 40.93, 28.421}, {11.591, 41.754, 28.421}, {10.436, 42.058, 34.737}, {3.8458, 41.051, 34.737}}], Polygon[{{11.591, 41.754, 28.421}, {18.206, 42.579, 28.421}, {17.026, 43.064, 34.737}, {10.436, 42.058, 34.737}}], Polygon[{{18.206, 42.579, 28.421}, {24.822, 43.404, 28.421}, {23.617, 44.071, 34.737}, {17.026, 43.064, 34.737}}], Polygon[{{-35.696, 35.012, 34.737}, {-29.105, 36.018, 34.737}, {-30.087, 35.203, 41.053}, {-36.647, 34.015, 41.053}}], Polygon[{{-29.105, 36.018, 34.737}, {-22.515, 37.025, 34.737}, {-23.527, 36.391, 41.053}, {-30.087, 35.203, 41.053}}], Polygon[{{-22.515, 37.025, 34.737}, {-15.925, 38.032, 34.737}, {-16.967, 37.578, 41.053}, {-23.527, 36.391, 41.053}}], Polygon[{{-15.925, 38.032, 34.737}, {-9.3347, 39.038, 34.737}, {-10.407, 38.766, 41.053}, {-16.967, 37.578, 41.053}}], Polygon[{{-9.3347, 39.038, 34.737}, {-2.7444, 40.045, 34.737}, {-3.8468, 39.954, 41.053}, {-10.407, 38.766, 41.053}}], Polygon[{{-2.7444, 40.045, 34.737}, {3.8458, 41.051, 34.737}, {2.7132, 41.142, 41.053}, {-3.8468, 39.954, 41.053}}], Polygon[{{3.8458, 41.051, 34.737}, {10.436, 42.058, 34.737}, {9.2732, 42.329, 41.053}, {2.7132, 41.142, 41.053}}], Polygon[{{10.436, 42.058, 34.737}, {17.026, 43.064, 34.737}, {15.833, 43.517, 41.053}, {9.2732, 42.329, 41.053}}], Polygon[{{17.026, 43.064, 34.737}, {23.617, 44.071, 34.737}, {22.393, 44.705, 41.053}, {15.833, 43.517, 41.053}}], Polygon[{{-36.647, 34.015, 41.053}, {-30.087, 35.203, 41.053}, {-31.045, 34.36, 47.368}, {-37.57, 32.992, 47.368}}], Polygon[{{-30.087, 35.203, 41.053}, {-23.527, 36.391, 41.053}, {-24.521, 35.728, 47.368}, {-31.045, 34.36, 47.368}}], Polygon[{{-23.527, 36.391, 41.053}, {-16.967, 37.578, 41.053}, {-17.996, 37.097, 47.368}, {-24.521, 35.728, 47.368}}], Polygon[{{-16.967, 37.578, 41.053}, {-10.407, 38.766, 41.053}, {-11.471, 38.465, 47.368}, {-17.996, 37.097, 47.368}}], Polygon[{{-10.407, 38.766, 41.053}, {-3.8468, 39.954, 41.053}, {-4.9462, 39.833, 47.368}, {-11.471, 38.465, 47.368}}], Polygon[{{-3.8468, 39.954, 41.053}, {2.7132, 41.142, 41.053}, {1.5786, 41.201, 47.368}, {-4.9462, 39.833, 47.368}}], Polygon[{{2.7132, 41.142, 41.053}, {9.2732, 42.329, 41.053}, {8.1033, 42.569, 47.368}, {1.5786, 41.201, 47.368}}], Polygon[{{9.2732, 42.329, 41.053}, {15.833, 43.517, 41.053}, {14.628, 43.937, 47.368}, {8.1033, 42.569, 47.368}}], Polygon[{{15.833, 43.517, 41.053}, {22.393, 44.705, 41.053}, {21.153, 45.305, 47.368}, {14.628, 43.937, 47.368}}], Polygon[{{-37.57, 32.992, 47.368}, {-31.045, 34.36, 47.368}, {-31.98, 33.492, 53.684}, {-38.465, 31.944, 53.684}}], Polygon[{{-31.045, 34.36, 47.368}, {-24.521, 35.728, 47.368}, {-25.496, 35.039, 53.684}, {-31.98, 33.492, 53.684}}], Polygon[{{-24.521, 35.728, 47.368}, {-17.996, 37.097, 47.368}, {-19.011, 36.587, 53.684}, {-25.496, 35.039, 53.684}}], Polygon[{{-17.996, 37.097, 47.368}, {-11.471, 38.465, 47.368}, {-12.527, 38.134, 53.684}, {-19.011, 36.587, 53.684}}], Polygon[{{-11.471, 38.465, 47.368}, {-4.9462, 39.833, 47.368}, {-6.0419, 39.681, 53.684}, {-12.527, 38.134, 53.684}}], Polygon[{{-4.9462, 39.833, 47.368}, {1.5786, 41.201, 47.368}, {0.44269, 41.229, 53.684}, {-6.0419, 39.681, 53.684}}], Polygon[{{1.5786, 41.201, 47.368}, {8.1033, 42.569, 47.368}, {6.9273, 42.776, 53.684}, {0.44269, 41.229, 53.684}}], Polygon[{{8.1033, 42.569, 47.368}, {14.628, 43.937, 47.368}, {13.412, 44.323, 53.684}, {6.9273, 42.776, 53.684}}], Polygon[{{14.628, 43.937, 47.368}, {21.153, 45.305, 47.368}, {19.897, 45.871, 53.684}, {13.412, 44.323, 53.684}}], Polygon[{{-38.465, 31.944, 53.684}, {-31.98, 33.492, 53.684}, {-32.891, 32.598, 60.}, {-39.331, 30.872, 60.}}], Polygon[{{-31.98, 33.492, 53.684}, {-25.496, 35.039, 53.684}, {-26.452, 34.323, 60.}, {-32.891, 32.598, 60.}}], Polygon[{{-25.496, 35.039, 53.684}, {-19.011, 36.587, 53.684}, {-20.012, 36.049, 60.}, {-26.452, 34.323, 60.}}], Polygon[{{-19.011, 36.587, 53.684}, {-12.527, 38.134, 53.684}, {-13.573, 37.774, 60.}, {-20.012, 36.049, 60.}}], Polygon[{{-12.527, 38.134, 53.684}, {-6.0419, 39.681, 53.684}, {-7.133, 39.5, 60.}, {-13.573, 37.774, 60.}}], Polygon[{{-6.0419, 39.681, 53.684}, {0.44269, 41.229, 53.684}, {-0.6935, 41.225, 60.}, {-7.133, 39.5, 60.}}], Polygon[{{0.44269, 41.229, 53.684}, {6.9273, 42.776, 53.684}, {5.746, 42.951, 60.}, {-0.6935, 41.225, 60.}}], Polygon[{{6.9273, 42.776, 53.684}, {13.412, 44.323, 53.684}, {12.186, 44.676, 60.}, {5.746, 42.951, 60.}}], Polygon[{{13.412, 44.323, 53.684}, {19.897, 45.871, 53.684}, {18.625, 46.402, 60.}, {12.186, 44.676, 60.}}]}, {Polygon[{{18.625, -46.402, -60.}, {12.186, -44.676, -60.}, {13.412, -44.323, -53.684}, {19.897, -45.871, -53.684}}], Polygon[{{12.186, -44.676, -60.}, {5.746, -42.951, -60.}, {6.9273, -42.776, -53.684}, {13.412, -44.323, -53.684}}], Polygon[{{5.746, -42.951, -60.}, {-0.6935, -41.225, -60.}, {0.44269, -41.229, -53.684}, {6.9273, -42.776, -53.684}}], Polygon[{{-0.6935, -41.225, -60.}, {-7.133, -39.5, -60.}, {-6.0419, -39.681, -53.684}, {0.44269, -41.229, -53.684}}], Polygon[{{-7.133, -39.5, -60.}, {-13.573, -37.774, -60.}, {-12.527, -38.134, -53.684}, {-6.0419, -39.681, -53.684}}], Polygon[{{-13.573, -37.774, -60.}, {-20.012, -36.049, -60.}, {-19.011, -36.587, -53.684}, {-12.527, -38.134, -53.684}}], Polygon[{{-20.012, -36.049, -60.}, {-26.452, -34.323, -60.}, {-25.496, -35.039, -53.684}, {-19.011, -36.587, -53.684}}], Polygon[{{-26.452, -34.323, -60.}, {-32.891, -32.598, -60.}, {-31.98, -33.492, -53.684}, {-25.496, -35.039, -53.684}}], Polygon[{{-32.891, -32.598, -60.}, {-39.331, -30.872, -60.}, {-38.465, -31.944, -53.684}, {-31.98, -33.492, -53.684}}], Polygon[{{19.897, -45.871, -53.684}, {13.412, -44.323, -53.684}, {14.628, -43.937, -47.368}, {21.153, -45.305, -47.368}}], Polygon[{{13.412, -44.323, -53.684}, {6.9273, -42.776, -53.684}, {8.1033, -42.569, -47.368}, {14.628, -43.937, -47.368}}], Polygon[{{6.9273, -42.776, -53.684}, {0.44269, -41.229, -53.684}, {1.5786, -41.201, -47.368}, {8.1033, -42.569, -47.368}}], Polygon[{{0.44269, -41.229, -53.684}, {-6.0419, -39.681, -53.684}, {-4.9462, -39.833, -47.368}, {1.5786, -41.201, -47.368}}], Polygon[{{-6.0419, -39.681, -53.684}, {-12.527, -38.134, -53.684}, {-11.471, -38.465, -47.368}, {-4.9462, -39.833, -47.368}}], Polygon[{{-12.527, -38.134, -53.684}, {-19.011, -36.587, -53.684}, {-17.996, -37.097, -47.368}, {-11.471, -38.465, -47.368}}], Polygon[{{-19.011, -36.587, -53.684}, {-25.496, -35.039, -53.684}, {-24.521, -35.728, -47.368}, {-17.996, -37.097, -47.368}}], Polygon[{{-25.496, -35.039, -53.684}, {-31.98, -33.492, -53.684}, {-31.045, -34.36, -47.368}, {-24.521, -35.728, -47.368}}], Polygon[{{-31.98, -33.492, -53.684}, {-38.465, -31.944, -53.684}, {-37.57, -32.992, -47.368}, {-31.045, -34.36, -47.368}}], Polygon[{{21.153, -45.305, -47.368}, {14.628, -43.937, -47.368}, {15.833, -43.517, -41.053}, {22.393, -44.705, -41.053}}], Polygon[{{14.628, -43.937, -47.368}, {8.1033, -42.569, -47.368}, {9.2732, -42.329, -41.053}, {15.833, -43.517, -41.053}}], Polygon[{{8.1033, -42.569, -47.368}, {1.5786, -41.201, -47.368}, {2.7132, -41.142, -41.053}, {9.2732, -42.329, -41.053}}], Polygon[{{1.5786, -41.201, -47.368}, {-4.9462, -39.833, -47.368}, {-3.8468, -39.954, -41.053}, {2.7132, -41.142, -41.053}}], Polygon[{{-4.9462, -39.833, -47.368}, {-11.471, -38.465, -47.368}, {-10.407, -38.766, -41.053}, {-3.8468, -39.954, -41.053}}], Polygon[{{-11.471, -38.465, -47.368}, {-17.996, -37.097, -47.368}, {-16.967, -37.578, -41.053}, {-10.407, -38.766, -41.053}}], Polygon[{{-17.996, -37.097, -47.368}, {-24.521, -35.728, -47.368}, {-23.527, -36.391, -41.053}, {-16.967, -37.578, -41.053}}], Polygon[{{-24.521, -35.728, -47.368}, {-31.045, -34.36, -47.368}, {-30.087, -35.203, -41.053}, {-23.527, -36.391, -41.053}}], Polygon[{{-31.045, -34.36, -47.368}, {-37.57, -32.992, -47.368}, {-36.647, -34.015, -41.053}, {-30.087, -35.203, -41.053}}], Polygon[{{22.393, -44.705, -41.053}, {15.833, -43.517, -41.053}, {17.026, -43.064, -34.737}, {23.617, -44.071, -34.737}}], Polygon[{{15.833, -43.517, -41.053}, {9.2732, -42.329, -41.053}, {10.436, -42.058, -34.737}, {17.026, -43.064, -34.737}}], Polygon[{{9.2732, -42.329, -41.053}, {2.7132, -41.142, -41.053}, {3.8458, -41.051, -34.737}, {10.436, -42.058, -34.737}}], Polygon[{{2.7132, -41.142, -41.053}, {-3.8468, -39.954, -41.053}, {-2.7444, -40.045, -34.737}, {3.8458, -41.051, -34.737}}], Polygon[{{-3.8468, -39.954, -41.053}, {-10.407, -38.766, -41.053}, {-9.3347, -39.038, -34.737}, {-2.7444, -40.045, -34.737}}], Polygon[{{-10.407, -38.766, -41.053}, {-16.967, -37.578, -41.053}, {-15.925, -38.032, -34.737}, {-9.3347, -39.038, -34.737}}], Polygon[{{-16.967, -37.578, -41.053}, {-23.527, -36.391, -41.053}, {-22.515, -37.025, -34.737}, {-15.925, -38.032, -34.737}}], Polygon[{{-23.527, -36.391, -41.053}, {-30.087, -35.203, -41.053}, {-29.105, -36.018, -34.737}, {-22.515, -37.025, -34.737}}], Polygon[{{-30.087, -35.203, -41.053}, {-36.647, -34.015, -41.053}, {-35.696, -35.012, -34.737}, {-29.105, -36.018, -34.737}}], Polygon[{{23.617, -44.071, -34.737}, {17.026, -43.064, -34.737}, {18.206, -42.579, -28.421}, {24.822, -43.404, -28.421}}], Polygon[{{17.026, -43.064, -34.737}, {10.436, -42.058, -34.737}, {11.591, -41.754, -28.421}, {18.206, -42.579, -28.421}}], Polygon[{{10.436, -42.058, -34.737}, {3.8458, -41.051, -34.737}, {4.9755, -40.93, -28.421}, {11.591, -41.754, -28.421}}], Polygon[{{3.8458, -41.051, -34.737}, {-2.7444, -40.045, -34.737}, {-1.64, -40.105, -28.421}, {4.9755, -40.93, -28.421}}], Polygon[{{-2.7444, -40.045, -34.737}, {-9.3347, -39.038, -34.737}, {-8.2554, -39.281, -28.421}, {-1.64, -40.105, -28.421}}], Polygon[{{-9.3347, -39.038, -34.737}, {-15.925, -38.032, -34.737}, {-14.871, -38.456, -28.421}, {-8.2554, -39.281, -28.421}}], Polygon[{{-15.925, -38.032, -34.737}, {-22.515, -37.025, -34.737}, {-21.486, -37.631, -28.421}, {-14.871, -38.456, -28.421}}], Polygon[{{-22.515, -37.025, -34.737}, {-29.105, -36.018, -34.737}, {-28.102, -36.807, -28.421}, {-21.486, -37.631, -28.421}}], Polygon[{{-29.105, -36.018, -34.737}, {-35.696, -35.012, -34.737}, {-34.717, -35.982, -28.421}, {-28.102, -36.807, -28.421}}], Polygon[{{24.822, -43.404, -28.421}, {18.206, -42.579, -28.421}, {19.373, -42.061, -22.105}, {26.008, -42.703, -22.105}}], Polygon[{{18.206, -42.579, -28.421}, {11.591, -41.754, -28.421}, {12.737, -41.419, -22.105}, {19.373, -42.061, -22.105}}], Polygon[{{11.591, -41.754, -28.421}, {4.9755, -40.93, -28.421}, {6.1014, -40.777, -22.105}, {12.737, -41.419, -22.105}}], Polygon[{{4.9755, -40.93, -28.421}, {-1.64, -40.105, -28.421}, {-0.53428, -40.135, -22.105}, {6.1014, -40.777, -22.105}}], Polygon[{{-1.64, -40.105, -28.421}, {-8.2554, -39.281, -28.421}, {-7.17, -39.493, -22.105}, {-0.53428, -40.135, -22.105}}], Polygon[{{-8.2554, -39.281, -28.421}, {-14.871, -38.456, -28.421}, {-13.806, -38.851, -22.105}, {-7.17, -39.493, -22.105}}], Polygon[{{-14.871, -38.456, -28.421}, {-21.486, -37.631, -28.421}, {-20.441, -38.209, -22.105}, {-13.806, -38.851, -22.105}}], Polygon[{{-21.486, -37.631, -28.421}, {-28.102, -36.807, -28.421}, {-27.077, -37.567, -22.105}, {-20.441, -38.209, -22.105}}], Polygon[{{-28.102, -36.807, -28.421}, {-34.717, -35.982, -28.421}, {-33.713, -36.925, -22.105}, {-27.077, -37.567, -22.105}}], Polygon[{{26.008, -42.703, -22.105}, {19.373, -42.061, -22.105}, {20.524, -41.511, -15.789}, {27.175, -41.97, -15.789}}], Polygon[{{19.373, -42.061, -22.105}, {12.737, -41.419, -22.105}, {13.874, -41.052, -15.789}, {20.524, -41.511, -15.789}}], Polygon[{{12.737, -41.419, -22.105}, {6.1014, -40.777, -22.105}, {7.2227, -40.594, -15.789}, {13.874, -41.052, -15.789}}], Polygon[{{6.1014, -40.777, -22.105}, {-0.53428, -40.135, -22.105}, {0.57182, -40.135, -15.789}, {7.2227, -40.594, -15.789}}], Polygon[{{-0.53428, -40.135, -22.105}, {-7.17, -39.493, -22.105}, {-6.079, -39.676, -15.789}, {0.57182, -40.135, -15.789}}], Polygon[{{-7.17, -39.493, -22.105}, {-13.806, -38.851, -22.105}, {-12.73, -39.217, -15.789}, {-6.079, -39.676, -15.789}}], Polygon[{{-13.806, -38.851, -22.105}, {-20.441, -38.209, -22.105}, {-19.381, -38.758, -15.789}, {-12.73, -39.217, -15.789}}], Polygon[{{-20.441, -38.209, -22.105}, {-27.077, -37.567, -22.105}, {-26.032, -38.299, -15.789}, {-19.381, -38.758, -15.789}}], Polygon[{{-27.077, -37.567, -22.105}, {-33.713, -36.925, -22.105}, {-32.682, -37.84, -15.789}, {-26.032, -38.299, -15.789}}], Polygon[{{27.175, -41.97, -15.789}, {20.524, -41.511, -15.789}, {21.66, -40.93, -9.4737}, {28.321, -41.206, -9.4737}}], Polygon[{{20.524, -41.511, -15.789}, {13.874, -41.052, -15.789}, {14.999, -40.655, -9.4737}, {21.66, -40.93, -9.4737}}], Polygon[{{13.874, -41.052, -15.789}, {7.2227, -40.594, -15.789}, {8.3385, -40.379, -9.4737}, {14.999, -40.655, -9.4737}}], Polygon[{{7.2227, -40.594, -15.789}, {0.57182, -40.135, -15.789}, {1.6775, -40.104, -9.4737}, {8.3385, -40.379, -9.4737}}], Polygon[{{0.57182, -40.135, -15.789}, {-6.079, -39.676, -15.789}, {-4.9835, -39.828, -9.4737}, {1.6775, -40.104, -9.4737}}], Polygon[{{-6.079, -39.676, -15.789}, {-12.73, -39.217, -15.789}, {-11.644, -39.553, -9.4737}, {-4.9835, -39.828, -9.4737}}], Polygon[{{-12.73, -39.217, -15.789}, {-19.381, -38.758, -15.789}, {-18.305, -39.277, -9.4737}, {-11.644, -39.553, -9.4737}}], Polygon[{{-19.381, -38.758, -15.789}, {-26.032, -38.299, -15.789}, {-24.966, -39.002, -9.4737}, {-18.305, -39.277, -9.4737}}], Polygon[{{-26.032, -38.299, -15.789}, {-32.682, -37.84, -15.789}, {-31.627, -38.726, -9.4737}, {-24.966, -39.002, -9.4737}}], Polygon[{{28.321, -41.206, -9.4737}, {21.66, -40.93, -9.4737}, {22.78, -40.318, -3.1579}, {29.446, -40.41, -3.1579}}], Polygon[{{21.66, -40.93, -9.4737}, {14.999, -40.655, -9.4737}, {16.114, -40.226, -3.1579}, {22.78, -40.318, -3.1579}}], Polygon[{{14.999, -40.655, -9.4737}, {8.3385, -40.379, -9.4737}, {9.4479, -40.134, -3.1579}, {16.114, -40.226, -3.1579}}], Polygon[{{8.3385, -40.379, -9.4737}, {1.6775, -40.104, -9.4737}, {2.7819, -40.042, -3.1579}, {9.4479, -40.134, -3.1579}}], Polygon[{{1.6775, -40.104, -9.4737}, {-4.9835, -39.828, -9.4737}, {-3.8842, -39.95, -3.1579}, {2.7819, -40.042, -3.1579}}], Polygon[{{-4.9835, -39.828, -9.4737}, {-11.644, -39.553, -9.4737}, {-10.55, -39.858, -3.1579}, {-3.8842, -39.95, -3.1579}}], Polygon[{{-11.644, -39.553, -9.4737}, {-18.305, -39.277, -9.4737}, {-17.216, -39.767, -3.1579}, {-10.55, -39.858, -3.1579}}], Polygon[{{-18.305, -39.277, -9.4737}, {-24.966, -39.002, -9.4737}, {-23.882, -39.675, -3.1579}, {-17.216, -39.767, -3.1579}}], Polygon[{{-24.966, -39.002, -9.4737}, {-31.627, -38.726, -9.4737}, {-30.548, -39.583, -3.1579}, {-23.882, -39.675, -3.1579}}], Polygon[{{29.446, -40.41, -3.1579}, {22.78, -40.318, -3.1579}, {23.882, -39.675, 3.1579}, {30.548, -39.583, 3.1579}}], Polygon[{{22.78, -40.318, -3.1579}, {16.114, -40.226, -3.1579}, {17.216, -39.767, 3.1579}, {23.882, -39.675, 3.1579}}], Polygon[{{16.114, -40.226, -3.1579}, {9.4479, -40.134, -3.1579}, {10.55, -39.858, 3.1579}, {17.216, -39.767, 3.1579}}], Polygon[{{9.4479, -40.134, -3.1579}, {2.7819, -40.042, -3.1579}, {3.8842, -39.95, 3.1579}, {10.55, -39.858, 3.1579}}], Polygon[{{2.7819, -40.042, -3.1579}, {-3.8842, -39.95, -3.1579}, {-2.7819, -40.042, 3.1579}, {3.8842, -39.95, 3.1579}}], Polygon[{{-3.8842, -39.95, -3.1579}, {-10.55, -39.858, -3.1579}, {-9.4479, -40.134, 3.1579}, {-2.7819, -40.042, 3.1579}}], Polygon[{{-10.55, -39.858, -3.1579}, {-17.216, -39.767, -3.1579}, {-16.114, -40.226, 3.1579}, {-9.4479, -40.134, 3.1579}}], Polygon[{{-17.216, -39.767, -3.1579}, {-23.882, -39.675, -3.1579}, {-22.78, -40.318, 3.1579}, {-16.114, -40.226, 3.1579}}], Polygon[{{-23.882, -39.675, -3.1579}, {-30.548, -39.583, -3.1579}, {-29.446, -40.41, 3.1579}, {-22.78, -40.318, 3.1579}}], Polygon[{{30.548, -39.583, 3.1579}, {23.882, -39.675, 3.1579}, {24.966, -39.002, 9.4737}, {31.627, -38.726, 9.4737}}], Polygon[{{23.882, -39.675, 3.1579}, {17.216, -39.767, 3.1579}, {18.305, -39.277, 9.4737}, {24.966, -39.002, 9.4737}}], Polygon[{{17.216, -39.767, 3.1579}, {10.55, -39.858, 3.1579}, {11.644, -39.553, 9.4737}, {18.305, -39.277, 9.4737}}], Polygon[{{10.55, -39.858, 3.1579}, {3.8842, -39.95, 3.1579}, {4.9835, -39.828, 9.4737}, {11.644, -39.553, 9.4737}}], Polygon[{{3.8842, -39.95, 3.1579}, {-2.7819, -40.042, 3.1579}, {-1.6775, -40.104, 9.4737}, {4.9835, -39.828, 9.4737}}], Polygon[{{-2.7819, -40.042, 3.1579}, {-9.4479, -40.134, 3.1579}, {-8.3385, -40.379, 9.4737}, {-1.6775, -40.104, 9.4737}}], Polygon[{{-9.4479, -40.134, 3.1579}, {-16.114, -40.226, 3.1579}, {-14.999, -40.655, 9.4737}, {-8.3385, -40.379, 9.4737}}], Polygon[{{-16.114, -40.226, 3.1579}, {-22.78, -40.318, 3.1579}, {-21.66, -40.93, 9.4737}, {-14.999, -40.655, 9.4737}}], Polygon[{{-22.78, -40.318, 3.1579}, {-29.446, -40.41, 3.1579}, {-28.321, -41.206, 9.4737}, {-21.66, -40.93, 9.4737}}], Polygon[{{31.627, -38.726, 9.4737}, {24.966, -39.002, 9.4737}, {26.032, -38.299, 15.789}, {32.682, -37.84, 15.789}}], Polygon[{{24.966, -39.002, 9.4737}, {18.305, -39.277, 9.4737}, {19.381, -38.758, 15.789}, {26.032, -38.299, 15.789}}], Polygon[{{18.305, -39.277, 9.4737}, {11.644, -39.553, 9.4737}, {12.73, -39.217, 15.789}, {19.381, -38.758, 15.789}}], Polygon[{{11.644, -39.553, 9.4737}, {4.9835, -39.828, 9.4737}, {6.079, -39.676, 15.789}, {12.73, -39.217, 15.789}}], Polygon[{{4.9835, -39.828, 9.4737}, {-1.6775, -40.104, 9.4737}, {-0.57182, -40.135, 15.789}, {6.079, -39.676, 15.789}}], Polygon[{{-1.6775, -40.104, 9.4737}, {-8.3385, -40.379, 9.4737}, {-7.2227, -40.594, 15.789}, {-0.57182, -40.135, 15.789}}], Polygon[{{-8.3385, -40.379, 9.4737}, {-14.999, -40.655, 9.4737}, {-13.874, -41.052, 15.789}, {-7.2227, -40.594, 15.789}}], Polygon[{{-14.999, -40.655, 9.4737}, {-21.66, -40.93, 9.4737}, {-20.524, -41.511, 15.789}, {-13.874, -41.052, 15.789}}], Polygon[{{-21.66, -40.93, 9.4737}, {-28.321, -41.206, 9.4737}, {-27.175, -41.97, 15.789}, {-20.524, -41.511, 15.789}}], Polygon[{{32.682, -37.84, 15.789}, {26.032, -38.299, 15.789}, {27.077, -37.567, 22.105}, {33.713, -36.925, 22.105}}], Polygon[{{26.032, -38.299, 15.789}, {19.381, -38.758, 15.789}, {20.441, -38.209, 22.105}, {27.077, -37.567, 22.105}}], Polygon[{{19.381, -38.758, 15.789}, {12.73, -39.217, 15.789}, {13.806, -38.851, 22.105}, {20.441, -38.209, 22.105}}], Polygon[{{12.73, -39.217, 15.789}, {6.079, -39.676, 15.789}, {7.17, -39.493, 22.105}, {13.806, -38.851, 22.105}}], Polygon[{{6.079, -39.676, 15.789}, {-0.57182, -40.135, 15.789}, {0.53428, -40.135, 22.105}, {7.17, -39.493, 22.105}}], Polygon[{{-0.57182, -40.135, 15.789}, {-7.2227, -40.594, 15.789}, {-6.1014, -40.777, 22.105}, {0.53428, -40.135, 22.105}}], Polygon[{{-7.2227, -40.594, 15.789}, {-13.874, -41.052, 15.789}, {-12.737, -41.419, 22.105}, {-6.1014, -40.777, 22.105}}], Polygon[{{-13.874, -41.052, 15.789}, {-20.524, -41.511, 15.789}, {-19.373, -42.061, 22.105}, {-12.737, -41.419, 22.105}}], Polygon[{{-20.524, -41.511, 15.789}, {-27.175, -41.97, 15.789}, {-26.008, -42.703, 22.105}, {-19.373, -42.061, 22.105}}], Polygon[{{33.713, -36.925, 22.105}, {27.077, -37.567, 22.105}, {28.102, -36.807, 28.421}, {34.717, -35.982, 28.421}}], Polygon[{{27.077, -37.567, 22.105}, {20.441, -38.209, 22.105}, {21.486, -37.631, 28.421}, {28.102, -36.807, 28.421}}], Polygon[{{20.441, -38.209, 22.105}, {13.806, -38.851, 22.105}, {14.871, -38.456, 28.421}, {21.486, -37.631, 28.421}}], Polygon[{{13.806, -38.851, 22.105}, {7.17, -39.493, 22.105}, {8.2554, -39.281, 28.421}, {14.871, -38.456, 28.421}}], Polygon[{{7.17, -39.493, 22.105}, {0.53428, -40.135, 22.105}, {1.64, -40.105, 28.421}, {8.2554, -39.281, 28.421}}], Polygon[{{0.53428, -40.135, 22.105}, {-6.1014, -40.777, 22.105}, {-4.9755, -40.93, 28.421}, {1.64, -40.105, 28.421}}], Polygon[{{-6.1014, -40.777, 22.105}, {-12.737, -41.419, 22.105}, {-11.591, -41.754, 28.421}, {-4.9755, -40.93, 28.421}}], Polygon[{{-12.737, -41.419, 22.105}, {-19.373, -42.061, 22.105}, {-18.206, -42.579, 28.421}, {-11.591, -41.754, 28.421}}], Polygon[{{-19.373, -42.061, 22.105}, {-26.008, -42.703, 22.105}, {-24.822, -43.404, 28.421}, {-18.206, -42.579, 28.421}}], Polygon[{{34.717, -35.982, 28.421}, {28.102, -36.807, 28.421}, {29.105, -36.018, 34.737}, {35.696, -35.012, 34.737}}], Polygon[{{28.102, -36.807, 28.421}, {21.486, -37.631, 28.421}, {22.515, -37.025, 34.737}, {29.105, -36.018, 34.737}}], Polygon[{{21.486, -37.631, 28.421}, {14.871, -38.456, 28.421}, {15.925, -38.032, 34.737}, {22.515, -37.025, 34.737}}], Polygon[{{14.871, -38.456, 28.421}, {8.2554, -39.281, 28.421}, {9.3347, -39.038, 34.737}, {15.925, -38.032, 34.737}}], Polygon[{{8.2554, -39.281, 28.421}, {1.64, -40.105, 28.421}, {2.7444, -40.045, 34.737}, {9.3347, -39.038, 34.737}}], Polygon[{{1.64, -40.105, 28.421}, {-4.9755, -40.93, 28.421}, {-3.8458, -41.051, 34.737}, {2.7444, -40.045, 34.737}}], Polygon[{{-4.9755, -40.93, 28.421}, {-11.591, -41.754, 28.421}, {-10.436, -42.058, 34.737}, {-3.8458, -41.051, 34.737}}], Polygon[{{-11.591, -41.754, 28.421}, {-18.206, -42.579, 28.421}, {-17.026, -43.064, 34.737}, {-10.436, -42.058, 34.737}}], Polygon[{{-18.206, -42.579, 28.421}, {-24.822, -43.404, 28.421}, {-23.617, -44.071, 34.737}, {-17.026, -43.064, 34.737}}], Polygon[{{35.696, -35.012, 34.737}, {29.105, -36.018, 34.737}, {30.087, -35.203, 41.053}, {36.647, -34.015, 41.053}}], Polygon[{{29.105, -36.018, 34.737}, {22.515, -37.025, 34.737}, {23.527, -36.391, 41.053}, {30.087, -35.203, 41.053}}], Polygon[{{22.515, -37.025, 34.737}, {15.925, -38.032, 34.737}, {16.967, -37.578, 41.053}, {23.527, -36.391, 41.053}}], Polygon[{{15.925, -38.032, 34.737}, {9.3347, -39.038, 34.737}, {10.407, -38.766, 41.053}, {16.967, -37.578, 41.053}}], Polygon[{{9.3347, -39.038, 34.737}, {2.7444, -40.045, 34.737}, {3.8468, -39.954, 41.053}, {10.407, -38.766, 41.053}}], Polygon[{{2.7444, -40.045, 34.737}, {-3.8458, -41.051, 34.737}, {-2.7132, -41.142, 41.053}, {3.8468, -39.954, 41.053}}], Polygon[{{-3.8458, -41.051, 34.737}, {-10.436, -42.058, 34.737}, {-9.2732, -42.329, 41.053}, {-2.7132, -41.142, 41.053}}], Polygon[{{-10.436, -42.058, 34.737}, {-17.026, -43.064, 34.737}, {-15.833, -43.517, 41.053}, {-9.2732, -42.329, 41.053}}], Polygon[{{-17.026, -43.064, 34.737}, {-23.617, -44.071, 34.737}, {-22.393, -44.705, 41.053}, {-15.833, -43.517, 41.053}}], Polygon[{{36.647, -34.015, 41.053}, {30.087, -35.203, 41.053}, {31.045, -34.36, 47.368}, {37.57, -32.992, 47.368}}], Polygon[{{30.087, -35.203, 41.053}, {23.527, -36.391, 41.053}, {24.521, -35.728, 47.368}, {31.045, -34.36, 47.368}}], Polygon[{{23.527, -36.391, 41.053}, {16.967, -37.578, 41.053}, {17.996, -37.097, 47.368}, {24.521, -35.728, 47.368}}], Polygon[{{16.967, -37.578, 41.053}, {10.407, -38.766, 41.053}, {11.471, -38.465, 47.368}, {17.996, -37.097, 47.368}}], Polygon[{{10.407, -38.766, 41.053}, {3.8468, -39.954, 41.053}, {4.9462, -39.833, 47.368}, {11.471, -38.465, 47.368}}], Polygon[{{3.8468, -39.954, 41.053}, {-2.7132, -41.142, 41.053}, {-1.5786, -41.201, 47.368}, {4.9462, -39.833, 47.368}}], Polygon[{{-2.7132, -41.142, 41.053}, {-9.2732, -42.329, 41.053}, {-8.1033, -42.569, 47.368}, {-1.5786, -41.201, 47.368}}], Polygon[{{-9.2732, -42.329, 41.053}, {-15.833, -43.517, 41.053}, {-14.628, -43.937, 47.368}, {-8.1033, -42.569, 47.368}}], Polygon[{{-15.833, -43.517, 41.053}, {-22.393, -44.705, 41.053}, {-21.153, -45.305, 47.368}, {-14.628, -43.937, 47.368}}], Polygon[{{37.57, -32.992, 47.368}, {31.045, -34.36, 47.368}, {31.98, -33.492, 53.684}, {38.465, -31.944, 53.684}}], Polygon[{{31.045, -34.36, 47.368}, {24.521, -35.728, 47.368}, {25.496, -35.039, 53.684}, {31.98, -33.492, 53.684}}], Polygon[{{24.521, -35.728, 47.368}, {17.996, -37.097, 47.368}, {19.011, -36.587, 53.684}, {25.496, -35.039, 53.684}}], Polygon[{{17.996, -37.097, 47.368}, {11.471, -38.465, 47.368}, {12.527, -38.134, 53.684}, {19.011, -36.587, 53.684}}], Polygon[{{11.471, -38.465, 47.368}, {4.9462, -39.833, 47.368}, {6.0419, -39.681, 53.684}, {12.527, -38.134, 53.684}}], Polygon[{{4.9462, -39.833, 47.368}, {-1.5786, -41.201, 47.368}, {-0.44269, -41.229, 53.684}, {6.0419, -39.681, 53.684}}], Polygon[{{-1.5786, -41.201, 47.368}, {-8.1033, -42.569, 47.368}, {-6.9273, -42.776, 53.684}, {-0.44269, -41.229, 53.684}}], Polygon[{{-8.1033, -42.569, 47.368}, {-14.628, -43.937, 47.368}, {-13.412, -44.323, 53.684}, {-6.9273, -42.776, 53.684}}], Polygon[{{-14.628, -43.937, 47.368}, {-21.153, -45.305, 47.368}, {-19.897, -45.871, 53.684}, {-13.412, -44.323, 53.684}}], Polygon[{{38.465, -31.944, 53.684}, {31.98, -33.492, 53.684}, {32.891, -32.598, 60.}, {39.331, -30.872, 60.}}], Polygon[{{31.98, -33.492, 53.684}, {25.496, -35.039, 53.684}, {26.452, -34.323, 60.}, {32.891, -32.598, 60.}}], Polygon[{{25.496, -35.039, 53.684}, {19.011, -36.587, 53.684}, {20.012, -36.049, 60.}, {26.452, -34.323, 60.}}], Polygon[{{19.011, -36.587, 53.684}, {12.527, -38.134, 53.684}, {13.573, -37.774, 60.}, {20.012, -36.049, 60.}}], Polygon[{{12.527, -38.134, 53.684}, {6.0419, -39.681, 53.684}, {7.133, -39.5, 60.}, {13.573, -37.774, 60.}}], Polygon[{{6.0419, -39.681, 53.684}, {-0.44269, -41.229, 53.684}, {0.6935, -41.225, 60.}, {7.133, -39.5, 60.}}], Polygon[{{-0.44269, -41.229, 53.684}, {-6.9273, -42.776, 53.684}, {-5.746, -42.951, 60.}, {0.6935, -41.225, 60.}}], Polygon[{{-6.9273, -42.776, 53.684}, {-13.412, -44.323, 53.684}, {-12.186, -44.676, 60.}, {-5.746, -42.951, 60.}}], Polygon[{{-13.412, -44.323, 53.684}, {-19.897, -45.871, 53.684}, {-18.625, -46.402, 60.}, {-12.186, -44.676, 60.}}]}, {Polygon[{{18.625, -46.402, -60.}, {20.926, -37.816, -60.}, {14.486, -36.09, -60.}, {12.186, -44.676, -60.}}], Polygon[{{20.926, -37.816, -60.}, {23.226, -29.23, -60.}, {16.787, -27.504, -60.}, {14.486, -36.09, -60.}}], Polygon[{{23.226, -29.23, -60.}, {25.527, -20.644, -60.}, {19.087, -18.918, -60.}, {16.787, -27.504, -60.}}], Polygon[{{25.527, -20.644, -60.}, {27.827, -12.058, -60.}, {21.388, -10.332, -60.}, {19.087, -18.918, -60.}}], Polygon[{{27.827, -12.058, -60.}, {30.128, -3.4716, -60.}, {23.689, -1.7461, -60.}, {21.388, -10.332, -60.}}], Polygon[{{30.128, -3.4716, -60.}, {32.429, 5.1144, -60.}, {25.989, 6.8399, -60.}, {23.689, -1.7461, -60.}}], Polygon[{{32.429, 5.1144, -60.}, {34.729, 13.7, -60.}, {28.29, 15.426, -60.}, {25.989, 6.8399, -60.}}], Polygon[{{34.729, 13.7, -60.}, {37.03, 22.286, -60.}, {30.59, 24.012, -60.}, {28.29, 15.426, -60.}}], Polygon[{{37.03, 22.286, -60.}, {39.331, 30.872, -60.}, {32.891, 32.598, -60.}, {30.59, 24.012, -60.}}], Polygon[{{12.186, -44.676, -60.}, {14.486, -36.09, -60.}, {8.0466, -34.365, -60.}, {5.746, -42.951, -60.}}], Polygon[{{14.486, -36.09, -60.}, {16.787, -27.504, -60.}, {10.347, -25.779, -60.}, {8.0466, -34.365, -60.}}], Polygon[{{16.787, -27.504, -60.}, {19.087, -18.918, -60.}, {12.648, -17.193, -60.}, {10.347, -25.779, -60.}}], Polygon[{{19.087, -18.918, -60.}, {21.388, -10.332, -60.}, {14.948, -8.6067, -60.}, {12.648, -17.193, -60.}}], Polygon[{{21.388, -10.332, -60.}, {23.689, -1.7461, -60.}, {17.249, -0.020647, -60.}, {14.948, -8.6067, -60.}}], Polygon[{{23.689, -1.7461, -60.}, {25.989, 6.8399, -60.}, {19.55, 8.5654, -60.}, {17.249, -0.020647, -60.}}], Polygon[{{25.989, 6.8399, -60.}, {28.29, 15.426, -60.}, {21.85, 17.151, -60.}, {19.55, 8.5654, -60.}}], Polygon[{{28.29, 15.426, -60.}, {30.59, 24.012, -60.}, {24.151, 25.737, -60.}, {21.85, 17.151, -60.}}], Polygon[{{30.59, 24.012, -60.}, {32.891, 32.598, -60.}, {26.452, 34.323, -60.}, {24.151, 25.737, -60.}}], Polygon[{{5.746, -42.951, -60.}, {8.0466, -34.365, -60.}, {1.6071, -32.639, -60.}, {-0.6935, -41.225, -60.}}], Polygon[{{8.0466, -34.365, -60.}, {10.347, -25.779, -60.}, {3.9077, -24.053, -60.}, {1.6071, -32.639, -60.}}], Polygon[{{10.347, -25.779, -60.}, {12.648, -17.193, -60.}, {6.2083, -15.467, -60.}, {3.9077, -24.053, -60.}}], Polygon[{{12.648, -17.193, -60.}, {14.948, -8.6067, -60.}, {8.509, -6.8812, -60.}, {6.2083, -15.467, -60.}}], Polygon[{{14.948, -8.6067, -60.}, {17.249, -0.020647, -60.}, {10.81, 1.7048, -60.}, {8.509, -6.8812, -60.}}], Polygon[{{17.249, -0.020647, -60.}, {19.55, 8.5654, -60.}, {13.11, 10.291, -60.}, {10.81, 1.7048, -60.}}], Polygon[{{19.55, 8.5654, -60.}, {21.85, 17.151, -60.}, {15.411, 18.877, -60.}, {13.11, 10.291, -60.}}], Polygon[{{21.85, 17.151, -60.}, {24.151, 25.737, -60.}, {17.711, 27.463, -60.}, {15.411, 18.877, -60.}}], Polygon[{{24.151, 25.737, -60.}, {26.452, 34.323, -60.}, {20.012, 36.049, -60.}, {17.711, 27.463, -60.}}], Polygon[{{-0.6935, -41.225, -60.}, {1.6071, -32.639, -60.}, {-4.8324, -30.914, -60.}, {-7.133, -39.5, -60.}}], Polygon[{{1.6071, -32.639, -60.}, {3.9077, -24.053, -60.}, {-2.5318, -22.328, -60.}, {-4.8324, -30.914, -60.}}], Polygon[{{3.9077, -24.053, -60.}, {6.2083, -15.467, -60.}, {-0.23117, -13.742, -60.}, {-2.5318, -22.328, -60.}}], Polygon[{{6.2083, -15.467, -60.}, {8.509, -6.8812, -60.}, {2.0694, -5.1557, -60.}, {-0.23117, -13.742, -60.}}], Polygon[{{8.509, -6.8812, -60.}, {10.81, 1.7048, -60.}, {4.3701, 3.4303, -60.}, {2.0694, -5.1557, -60.}}], Polygon[{{10.81, 1.7048, -60.}, {13.11, 10.291, -60.}, {6.6707, 12.016, -60.}, {4.3701, 3.4303, -60.}}], Polygon[{{13.11, 10.291, -60.}, {15.411, 18.877, -60.}, {8.9713, 20.602, -60.}, {6.6707, 12.016, -60.}}], Polygon[{{15.411, 18.877, -60.}, {17.711, 27.463, -60.}, {11.272, 29.188, -60.}, {8.9713, 20.602, -60.}}], Polygon[{{17.711, 27.463, -60.}, {20.012, 36.049, -60.}, {13.573, 37.774, -60.}, {11.272, 29.188, -60.}}], Polygon[{{-7.133, -39.5, -60.}, {-4.8324, -30.914, -60.}, {-11.272, -29.188, -60.}, {-13.573, -37.774, -60.}}], Polygon[{{-4.8324, -30.914, -60.}, {-2.5318, -22.328, -60.}, {-8.9713, -20.602, -60.}, {-11.272, -29.188, -60.}}], Polygon[{{-2.5318, -22.328, -60.}, {-0.23117, -13.742, -60.}, {-6.6707, -12.016, -60.}, {-8.9713, -20.602, -60.}}], Polygon[{{-0.23117, -13.742, -60.}, {2.0694, -5.1557, -60.}, {-4.3701, -3.4303, -60.}, {-6.6707, -12.016, -60.}}], Polygon[{{2.0694, -5.1557, -60.}, {4.3701, 3.4303, -60.}, {-2.0694, 5.1557, -60.}, {-4.3701, -3.4303, -60.}}], Polygon[{{4.3701, 3.4303, -60.}, {6.6707, 12.016, -60.}, {0.23117, 13.742, -60.}, {-2.0694, 5.1557, -60.}}], Polygon[{{6.6707, 12.016, -60.}, {8.9713, 20.602, -60.}, {2.5318, 22.328, -60.}, {0.23117, 13.742, -60.}}], Polygon[{{8.9713, 20.602, -60.}, {11.272, 29.188, -60.}, {4.8324, 30.914, -60.}, {2.5318, 22.328, -60.}}], Polygon[{{11.272, 29.188, -60.}, {13.573, 37.774, -60.}, {7.133, 39.5, -60.}, {4.8324, 30.914, -60.}}], Polygon[{{-13.573, -37.774, -60.}, {-11.272, -29.188, -60.}, {-17.711, -27.463, -60.}, {-20.012, -36.049, -60.}}], Polygon[{{-11.272, -29.188, -60.}, {-8.9713, -20.602, -60.}, {-15.411, -18.877, -60.}, {-17.711, -27.463, -60.}}], Polygon[{{-8.9713, -20.602, -60.}, {-6.6707, -12.016, -60.}, {-13.11, -10.291, -60.}, {-15.411, -18.877, -60.}}], Polygon[{{-6.6707, -12.016, -60.}, {-4.3701, -3.4303, -60.}, {-10.81, -1.7048, -60.}, {-13.11, -10.291, -60.}}], Polygon[{{-4.3701, -3.4303, -60.}, {-2.0694, 5.1557, -60.}, {-8.509, 6.8812, -60.}, {-10.81, -1.7048, -60.}}], Polygon[{{-2.0694, 5.1557, -60.}, {0.23117, 13.742, -60.}, {-6.2083, 15.467, -60.}, {-8.509, 6.8812, -60.}}], Polygon[{{0.23117, 13.742, -60.}, {2.5318, 22.328, -60.}, {-3.9077, 24.053, -60.}, {-6.2083, 15.467, -60.}}], Polygon[{{2.5318, 22.328, -60.}, {4.8324, 30.914, -60.}, {-1.6071, 32.639, -60.}, {-3.9077, 24.053, -60.}}], Polygon[{{4.8324, 30.914, -60.}, {7.133, 39.5, -60.}, {0.6935, 41.225, -60.}, {-1.6071, 32.639, -60.}}], Polygon[{{-20.012, -36.049, -60.}, {-17.711, -27.463, -60.}, {-24.151, -25.737, -60.}, {-26.452, -34.323, -60.}}], Polygon[{{-17.711, -27.463, -60.}, {-15.411, -18.877, -60.}, {-21.85, -17.151, -60.}, {-24.151, -25.737, -60.}}], Polygon[{{-15.411, -18.877, -60.}, {-13.11, -10.291, -60.}, {-19.55, -8.5654, -60.}, {-21.85, -17.151, -60.}}], Polygon[{{-13.11, -10.291, -60.}, {-10.81, -1.7048, -60.}, {-17.249, 0.020647, -60.}, {-19.55, -8.5654, -60.}}], Polygon[{{-10.81, -1.7048, -60.}, {-8.509, 6.8812, -60.}, {-14.948, 8.6067, -60.}, {-17.249, 0.020647, -60.}}], Polygon[{{-8.509, 6.8812, -60.}, {-6.2083, 15.467, -60.}, {-12.648, 17.193, -60.}, {-14.948, 8.6067, -60.}}], Polygon[{{-6.2083, 15.467, -60.}, {-3.9077, 24.053, -60.}, {-10.347, 25.779, -60.}, {-12.648, 17.193, -60.}}], Polygon[{{-3.9077, 24.053, -60.}, {-1.6071, 32.639, -60.}, {-8.0466, 34.365, -60.}, {-10.347, 25.779, -60.}}], Polygon[{{-1.6071, 32.639, -60.}, {0.6935, 41.225, -60.}, {-5.746, 42.951, -60.}, {-8.0466, 34.365, -60.}}], Polygon[{{-26.452, -34.323, -60.}, {-24.151, -25.737, -60.}, {-30.59, -24.012, -60.}, {-32.891, -32.598, -60.}}], Polygon[{{-24.151, -25.737, -60.}, {-21.85, -17.151, -60.}, {-28.29, -15.426, -60.}, {-30.59, -24.012, -60.}}], Polygon[{{-21.85, -17.151, -60.}, {-19.55, -8.5654, -60.}, {-25.989, -6.8399, -60.}, {-28.29, -15.426, -60.}}], Polygon[{{-19.55, -8.5654, -60.}, {-17.249, 0.020647, -60.}, {-23.689, 1.7461, -60.}, {-25.989, -6.8399, -60.}}], Polygon[{{-17.249, 0.020647, -60.}, {-14.948, 8.6067, -60.}, {-21.388, 10.332, -60.}, {-23.689, 1.7461, -60.}}], Polygon[{{-14.948, 8.6067, -60.}, {-12.648, 17.193, -60.}, {-19.087, 18.918, -60.}, {-21.388, 10.332, -60.}}], Polygon[{{-12.648, 17.193, -60.}, {-10.347, 25.779, -60.}, {-16.787, 27.504, -60.}, {-19.087, 18.918, -60.}}], Polygon[{{-10.347, 25.779, -60.}, {-8.0466, 34.365, -60.}, {-14.486, 36.09, -60.}, {-16.787, 27.504, -60.}}], Polygon[{{-8.0466, 34.365, -60.}, {-5.746, 42.951, -60.}, {-12.186, 44.676, -60.}, {-14.486, 36.09, -60.}}], Polygon[{{-32.891, -32.598, -60.}, {-30.59, -24.012, -60.}, {-37.03, -22.286, -60.}, {-39.331, -30.872, -60.}}], Polygon[{{-30.59, -24.012, -60.}, {-28.29, -15.426, -60.}, {-34.729, -13.7, -60.}, {-37.03, -22.286, -60.}}], Polygon[{{-28.29, -15.426, -60.}, {-25.989, -6.8399, -60.}, {-32.429, -5.1144, -60.}, {-34.729, -13.7, -60.}}], Polygon[{{-25.989, -6.8399, -60.}, {-23.689, 1.7461, -60.}, {-30.128, 3.4716, -60.}, {-32.429, -5.1144, -60.}}], Polygon[{{-23.689, 1.7461, -60.}, {-21.388, 10.332, -60.}, {-27.827, 12.058, -60.}, {-30.128, 3.4716, -60.}}], Polygon[{{-21.388, 10.332, -60.}, {-19.087, 18.918, -60.}, {-25.527, 20.644, -60.}, {-27.827, 12.058, -60.}}], Polygon[{{-19.087, 18.918, -60.}, {-16.787, 27.504, -60.}, {-23.226, 29.23, -60.}, {-25.527, 20.644, -60.}}], Polygon[{{-16.787, 27.504, -60.}, {-14.486, 36.09, -60.}, {-20.926, 37.816, -60.}, {-23.226, 29.23, -60.}}], Polygon[{{-14.486, 36.09, -60.}, {-12.186, 44.676, -60.}, {-18.625, 46.402, -60.}, {-20.926, 37.816, -60.}}]}, {Polygon[{{39.331, -30.872, 60.}, {37.03, -22.286, 60.}, {30.59, -24.012, 60.}, {32.891, -32.598, 60.}}], Polygon[{{37.03, -22.286, 60.}, {34.729, -13.7, 60.}, {28.29, -15.426, 60.}, {30.59, -24.012, 60.}}], Polygon[{{34.729, -13.7, 60.}, {32.429, -5.1144, 60.}, {25.989, -6.8399, 60.}, {28.29, -15.426, 60.}}], Polygon[{{32.429, -5.1144, 60.}, {30.128, 3.4716, 60.}, {23.689, 1.7461, 60.}, {25.989, -6.8399, 60.}}], Polygon[{{30.128, 3.4716, 60.}, {27.827, 12.058, 60.}, {21.388, 10.332, 60.}, {23.689, 1.7461, 60.}}], Polygon[{{27.827, 12.058, 60.}, {25.527, 20.644, 60.}, {19.087, 18.918, 60.}, {21.388, 10.332, 60.}}], Polygon[{{25.527, 20.644, 60.}, {23.226, 29.23, 60.}, {16.787, 27.504, 60.}, {19.087, 18.918, 60.}}], Polygon[{{23.226, 29.23, 60.}, {20.926, 37.816, 60.}, {14.486, 36.09, 60.}, {16.787, 27.504, 60.}}], Polygon[{{20.926, 37.816, 60.}, {18.625, 46.402, 60.}, {12.186, 44.676, 60.}, {14.486, 36.09, 60.}}], Polygon[{{32.891, -32.598, 60.}, {30.59, -24.012, 60.}, {24.151, -25.737, 60.}, {26.452, -34.323, 60.}}], Polygon[{{30.59, -24.012, 60.}, {28.29, -15.426, 60.}, {21.85, -17.151, 60.}, {24.151, -25.737, 60.}}], Polygon[{{28.29, -15.426, 60.}, {25.989, -6.8399, 60.}, {19.55, -8.5654, 60.}, {21.85, -17.151, 60.}}], Polygon[{{25.989, -6.8399, 60.}, {23.689, 1.7461, 60.}, {17.249, 0.020647, 60.}, {19.55, -8.5654, 60.}}], Polygon[{{23.689, 1.7461, 60.}, {21.388, 10.332, 60.}, {14.948, 8.6067, 60.}, {17.249, 0.020647, 60.}}], Polygon[{{21.388, 10.332, 60.}, {19.087, 18.918, 60.}, {12.648, 17.193, 60.}, {14.948, 8.6067, 60.}}], Polygon[{{19.087, 18.918, 60.}, {16.787, 27.504, 60.}, {10.347, 25.779, 60.}, {12.648, 17.193, 60.}}], Polygon[{{16.787, 27.504, 60.}, {14.486, 36.09, 60.}, {8.0466, 34.365, 60.}, {10.347, 25.779, 60.}}], Polygon[{{14.486, 36.09, 60.}, {12.186, 44.676, 60.}, {5.746, 42.951, 60.}, {8.0466, 34.365, 60.}}], Polygon[{{26.452, -34.323, 60.}, {24.151, -25.737, 60.}, {17.711, -27.463, 60.}, {20.012, -36.049, 60.}}], Polygon[{{24.151, -25.737, 60.}, {21.85, -17.151, 60.}, {15.411, -18.877, 60.}, {17.711, -27.463, 60.}}], Polygon[{{21.85, -17.151, 60.}, {19.55, -8.5654, 60.}, {13.11, -10.291, 60.}, {15.411, -18.877, 60.}}], Polygon[{{19.55, -8.5654, 60.}, {17.249, 0.020647, 60.}, {10.81, -1.7048, 60.}, {13.11, -10.291, 60.}}], Polygon[{{17.249, 0.020647, 60.}, {14.948, 8.6067, 60.}, {8.509, 6.8812, 60.}, {10.81, -1.7048, 60.}}], Polygon[{{14.948, 8.6067, 60.}, {12.648, 17.193, 60.}, {6.2083, 15.467, 60.}, {8.509, 6.8812, 60.}}], Polygon[{{12.648, 17.193, 60.}, {10.347, 25.779, 60.}, {3.9077, 24.053, 60.}, {6.2083, 15.467, 60.}}], Polygon[{{10.347, 25.779, 60.}, {8.0466, 34.365, 60.}, {1.6071, 32.639, 60.}, {3.9077, 24.053, 60.}}], Polygon[{{8.0466, 34.365, 60.}, {5.746, 42.951, 60.}, {-0.6935, 41.225, 60.}, {1.6071, 32.639, 60.}}], Polygon[{{20.012, -36.049, 60.}, {17.711, -27.463, 60.}, {11.272, -29.188, 60.}, {13.573, -37.774, 60.}}], Polygon[{{17.711, -27.463, 60.}, {15.411, -18.877, 60.}, {8.9713, -20.602, 60.}, {11.272, -29.188, 60.}}], Polygon[{{15.411, -18.877, 60.}, {13.11, -10.291, 60.}, {6.6707, -12.016, 60.}, {8.9713, -20.602, 60.}}], Polygon[{{13.11, -10.291, 60.}, {10.81, -1.7048, 60.}, {4.3701, -3.4303, 60.}, {6.6707, -12.016, 60.}}], Polygon[{{10.81, -1.7048, 60.}, {8.509, 6.8812, 60.}, {2.0694, 5.1557, 60.}, {4.3701, -3.4303, 60.}}], Polygon[{{8.509, 6.8812, 60.}, {6.2083, 15.467, 60.}, {-0.23117, 13.742, 60.}, {2.0694, 5.1557, 60.}}], Polygon[{{6.2083, 15.467, 60.}, {3.9077, 24.053, 60.}, {-2.5318, 22.328, 60.}, {-0.23117, 13.742, 60.}}], Polygon[{{3.9077, 24.053, 60.}, {1.6071, 32.639, 60.}, {-4.8324, 30.914, 60.}, {-2.5318, 22.328, 60.}}], Polygon[{{1.6071, 32.639, 60.}, {-0.6935, 41.225, 60.}, {-7.133, 39.5, 60.}, {-4.8324, 30.914, 60.}}], Polygon[{{13.573, -37.774, 60.}, {11.272, -29.188, 60.}, {4.8324, -30.914, 60.}, {7.133, -39.5, 60.}}], Polygon[{{11.272, -29.188, 60.}, {8.9713, -20.602, 60.}, {2.5318, -22.328, 60.}, {4.8324, -30.914, 60.}}], Polygon[{{8.9713, -20.602, 60.}, {6.6707, -12.016, 60.}, {0.23117, -13.742, 60.}, {2.5318, -22.328, 60.}}], Polygon[{{6.6707, -12.016, 60.}, {4.3701, -3.4303, 60.}, {-2.0694, -5.1557, 60.}, {0.23117, -13.742, 60.}}], Polygon[{{4.3701, -3.4303, 60.}, {2.0694, 5.1557, 60.}, {-4.3701, 3.4303, 60.}, {-2.0694, -5.1557, 60.}}], Polygon[{{2.0694, 5.1557, 60.}, {-0.23117, 13.742, 60.}, {-6.6707, 12.016, 60.}, {-4.3701, 3.4303, 60.}}], Polygon[{{-0.23117, 13.742, 60.}, {-2.5318, 22.328, 60.}, {-8.9713, 20.602, 60.}, {-6.6707, 12.016, 60.}}], Polygon[{{-2.5318, 22.328, 60.}, {-4.8324, 30.914, 60.}, {-11.272, 29.188, 60.}, {-8.9713, 20.602, 60.}}], Polygon[{{-4.8324, 30.914, 60.}, {-7.133, 39.5, 60.}, {-13.573, 37.774, 60.}, {-11.272, 29.188, 60.}}], Polygon[{{7.133, -39.5, 60.}, {4.8324, -30.914, 60.}, {-1.6071, -32.639, 60.}, {0.6935, -41.225, 60.}}], Polygon[{{4.8324, -30.914, 60.}, {2.5318, -22.328, 60.}, {-3.9077, -24.053, 60.}, {-1.6071, -32.639, 60.}}], Polygon[{{2.5318, -22.328, 60.}, {0.23117, -13.742, 60.}, {-6.2083, -15.467, 60.}, {-3.9077, -24.053, 60.}}], Polygon[{{0.23117, -13.742, 60.}, {-2.0694, -5.1557, 60.}, {-8.509, -6.8812, 60.}, {-6.2083, -15.467, 60.}}], Polygon[{{-2.0694, -5.1557, 60.}, {-4.3701, 3.4303, 60.}, {-10.81, 1.7048, 60.}, {-8.509, -6.8812, 60.}}], Polygon[{{-4.3701, 3.4303, 60.}, {-6.6707, 12.016, 60.}, {-13.11, 10.291, 60.}, {-10.81, 1.7048, 60.}}], Polygon[{{-6.6707, 12.016, 60.}, {-8.9713, 20.602, 60.}, {-15.411, 18.877, 60.}, {-13.11, 10.291, 60.}}], Polygon[{{-8.9713, 20.602, 60.}, {-11.272, 29.188, 60.}, {-17.711, 27.463, 60.}, {-15.411, 18.877, 60.}}], Polygon[{{-11.272, 29.188, 60.}, {-13.573, 37.774, 60.}, {-20.012, 36.049, 60.}, {-17.711, 27.463, 60.}}], Polygon[{{0.6935, -41.225, 60.}, {-1.6071, -32.639, 60.}, {-8.0466, -34.365, 60.}, {-5.746, -42.951, 60.}}], Polygon[{{-1.6071, -32.639, 60.}, {-3.9077, -24.053, 60.}, {-10.347, -25.779, 60.}, {-8.0466, -34.365, 60.}}], Polygon[{{-3.9077, -24.053, 60.}, {-6.2083, -15.467, 60.}, {-12.648, -17.193, 60.}, {-10.347, -25.779, 60.}}], Polygon[{{-6.2083, -15.467, 60.}, {-8.509, -6.8812, 60.}, {-14.948, -8.6067, 60.}, {-12.648, -17.193, 60.}}], Polygon[{{-8.509, -6.8812, 60.}, {-10.81, 1.7048, 60.}, {-17.249, -0.020647, 60.}, {-14.948, -8.6067, 60.}}], Polygon[{{-10.81, 1.7048, 60.}, {-13.11, 10.291, 60.}, {-19.55, 8.5654, 60.}, {-17.249, -0.020647, 60.}}], Polygon[{{-13.11, 10.291, 60.}, {-15.411, 18.877, 60.}, {-21.85, 17.151, 60.}, {-19.55, 8.5654, 60.}}], Polygon[{{-15.411, 18.877, 60.}, {-17.711, 27.463, 60.}, {-24.151, 25.737, 60.}, {-21.85, 17.151, 60.}}], Polygon[{{-17.711, 27.463, 60.}, {-20.012, 36.049, 60.}, {-26.452, 34.323, 60.}, {-24.151, 25.737, 60.}}], Polygon[{{-5.746, -42.951, 60.}, {-8.0466, -34.365, 60.}, {-14.486, -36.09, 60.}, {-12.186, -44.676, 60.}}], Polygon[{{-8.0466, -34.365, 60.}, {-10.347, -25.779, 60.}, {-16.787, -27.504, 60.}, {-14.486, -36.09, 60.}}], Polygon[{{-10.347, -25.779, 60.}, {-12.648, -17.193, 60.}, {-19.087, -18.918, 60.}, {-16.787, -27.504, 60.}}], Polygon[{{-12.648, -17.193, 60.}, {-14.948, -8.6067, 60.}, {-21.388, -10.332, 60.}, {-19.087, -18.918, 60.}}], Polygon[{{-14.948, -8.6067, 60.}, {-17.249, -0.020647, 60.}, {-23.689, -1.7461, 60.}, {-21.388, -10.332, 60.}}], Polygon[{{-17.249, -0.020647, 60.}, {-19.55, 8.5654, 60.}, {-25.989, 6.8399, 60.}, {-23.689, -1.7461, 60.}}], Polygon[{{-19.55, 8.5654, 60.}, {-21.85, 17.151, 60.}, {-28.29, 15.426, 60.}, {-25.989, 6.8399, 60.}}], Polygon[{{-21.85, 17.151, 60.}, {-24.151, 25.737, 60.}, {-30.59, 24.012, 60.}, {-28.29, 15.426, 60.}}], Polygon[{{-24.151, 25.737, 60.}, {-26.452, 34.323, 60.}, {-32.891, 32.598, 60.}, {-30.59, 24.012, 60.}}], Polygon[{{-12.186, -44.676, 60.}, {-14.486, -36.09, 60.}, {-20.926, -37.816, 60.}, {-18.625, -46.402, 60.}}], Polygon[{{-14.486, -36.09, 60.}, {-16.787, -27.504, 60.}, {-23.226, -29.23, 60.}, {-20.926, -37.816, 60.}}], Polygon[{{-16.787, -27.504, 60.}, {-19.087, -18.918, 60.}, {-25.527, -20.644, 60.}, {-23.226, -29.23, 60.}}], Polygon[{{-19.087, -18.918, 60.}, {-21.388, -10.332, 60.}, {-27.827, -12.058, 60.}, {-25.527, -20.644, 60.}}], Polygon[{{-21.388, -10.332, 60.}, {-23.689, -1.7461, 60.}, {-30.128, -3.4716, 60.}, {-27.827, -12.058, 60.}}], Polygon[{{-23.689, -1.7461, 60.}, {-25.989, 6.8399, 60.}, {-32.429, 5.1144, 60.}, {-30.128, -3.4716, 60.}}], Polygon[{{-25.989, 6.8399, 60.}, {-28.29, 15.426, 60.}, {-34.729, 13.7, 60.}, {-32.429, 5.1144, 60.}}], Polygon[{{-28.29, 15.426, 60.}, {-30.59, 24.012, 60.}, {-37.03, 22.286, 60.}, {-34.729, 13.7, 60.}}], Polygon[{{-30.59, 24.012, 60.}, {-32.891, 32.598, 60.}, {-39.331, 30.872, 60.}, {-37.03, 22.286, 60.}}]}}, {AmbientLight -> GrayLevel[0.15], PlotRange -> Automatic, DisplayFunction :> $DisplayFunction, ColorOutput -> Automatic, Axes -> True, PlotLabel -> None, AxesLabel -> {"x", "y", "z"}, Ticks -> Automatic, Prolog -> {}, Epilog -> {}, AxesStyle -> Automatic, Background -> Automatic, DefaultColor -> Automatic, DefaultFont :> $DefaultFont, AspectRatio -> Automatic, ViewPoint -> {1.3, -2.4, 2.}, Boxed -> True, BoxRatios -> Automatic, Plot3Matrix -> Automatic, Lighting -> True, AmbientLight -> GrayLevel[0.], LightSources -> {{{1., 0., 1.}, RGBColor[1., 0., 0.]}, {{1., 1., 1.}, RGBColor[0., 1., 0.]}, {{0., 1., 1.}, RGBColor[0., 0., 1.]}}, ViewCenter -> Automatic, PlotRegion -> Automatic, ImageSize -> Automatic, TextStyle :> {FontFamily -> "Times", FontSize -> 16.}, FormatType :> $FormatType, ViewVertical -> {0., 0., 1.}, FaceGrids -> None, Shading -> True, RenderAll -> True, PolygonIntersections -> True, AxesEdge -> Automatic, BoxStyle -> Automatic, SphericalRegion -> False}]
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aTwistedTrap.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aTwistedTrap.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aTwistedTrap.txt	(revision 904)
@@ -0,0 +1,1 @@
+Graphics3D[{{Polygon[{{-9.9429, -46.479, -60.}, {-5.055, -38.587, -60.}, {-2.4221, -36.744, -53.684}, {-6.9431, -44.515, -53.684}}], Polygon[{{-5.055, -38.587, -60.}, {-0.16723, -30.694, -60.}, {2.099, -28.973, -53.684}, {-2.4221, -36.744, -53.684}}], Polygon[{{-0.16723, -30.694, -60.}, {4.7206, -22.801, -60.}, {6.62, -21.202, -53.684}, {2.099, -28.973, -53.684}}], Polygon[{{4.7206, -22.801, -60.}, {9.6084, -14.908, -60.}, {11.141, -13.431, -53.684}, {6.62, -21.202, -53.684}}], Polygon[{{9.6084, -14.908, -60.}, {14.496, -7.0156, -60.}, {15.662, -5.6602, -53.684}, {11.141, -13.431, -53.684}}], Polygon[{{14.496, -7.0156, -60.}, {19.384, 0.87716, -60.}, {20.183, 2.1109, -53.684}, {15.662, -5.6602, -53.684}}], Polygon[{{19.384, 0.87716, -60.}, {24.272, 8.7699, -60.}, {24.704, 9.8819, -53.684}, {20.183, 2.1109, -53.684}}], Polygon[{{24.272, 8.7699, -60.}, {29.16, 16.663, -60.}, {29.225, 17.653, -53.684}, {24.704, 9.8819, -53.684}}], Polygon[{{29.16, 16.663, -60.}, {34.047, 24.555, -60.}, {33.746, 25.424, -53.684}, {29.225, 17.653, -53.684}}], Polygon[{{-6.9431, -44.515, -53.684}, {-2.4221, -36.744, -53.684}, {0.13361, -34.912, -47.368}, {-4.0312, -42.547, -47.368}}], Polygon[{{-2.4221, -36.744, -53.684}, {2.099, -28.973, -53.684}, {4.2984, -27.277, -47.368}, {0.13361, -34.912, -47.368}}], Polygon[{{2.099, -28.973, -53.684}, {6.62, -21.202, -53.684}, {8.4632, -19.641, -47.368}, {4.2984, -27.277, -47.368}}], Polygon[{{6.62, -21.202, -53.684}, {11.141, -13.431, -53.684}, {12.628, -12.006, -47.368}, {8.4632, -19.641, -47.368}}], Polygon[{{11.141, -13.431, -53.684}, {15.662, -5.6602, -53.684}, {16.793, -4.3707, -47.368}, {12.628, -12.006, -47.368}}], Polygon[{{15.662, -5.6602, -53.684}, {20.183, 2.1109, -53.684}, {20.958, 3.2646, -47.368}, {16.793, -4.3707, -47.368}}], Polygon[{{20.183, 2.1109, -53.684}, {24.704, 9.8819, -53.684}, {25.123, 10.9, -47.368}, {20.958, 3.2646, -47.368}}], Polygon[{{24.704, 9.8819, -53.684}, {29.225, 17.653, -53.684}, {29.287, 18.535, -47.368}, {25.123, 10.9, -47.368}}], Polygon[{{29.225, 17.653, -53.684}, {33.746, 25.424, -53.684}, {33.452, 26.171, -47.368}, {29.287, 18.535, -47.368}}], Polygon[{{-4.0312, -42.547, -47.368}, {0.13361, -34.912, -47.368}, {2.6128, -33.092, -41.053}, {-1.2068, -40.578, -41.053}}], Polygon[{{0.13361, -34.912, -47.368}, {4.2984, -27.277, -47.368}, {6.4324, -25.606, -41.053}, {2.6128, -33.092, -41.053}}], Polygon[{{4.2984, -27.277, -47.368}, {8.4632, -19.641, -47.368}, {10.252, -18.12, -41.053}, {6.4324, -25.606, -41.053}}], Polygon[{{8.4632, -19.641, -47.368}, {12.628, -12.006, -47.368}, {14.072, -10.634, -41.053}, {10.252, -18.12, -41.053}}], Polygon[{{12.628, -12.006, -47.368}, {16.793, -4.3707, -47.368}, {17.891, -3.1482, -41.053}, {14.072, -10.634, -41.053}}], Polygon[{{16.793, -4.3707, -47.368}, {20.958, 3.2646, -47.368}, {21.711, 4.3379, -41.053}, {17.891, -3.1482, -41.053}}], Polygon[{{20.958, 3.2646, -47.368}, {25.123, 10.9, -47.368}, {25.53, 11.824, -41.053}, {21.711, 4.3379, -41.053}}], Polygon[{{25.123, 10.9, -47.368}, {29.287, 18.535, -47.368}, {29.35, 19.31, -41.053}, {25.53, 11.824, -41.053}}], Polygon[{{29.287, 18.535, -47.368}, {33.452, 26.171, -47.368}, {33.17, 26.796, -41.053}, {29.35, 19.31, -41.053}}], Polygon[{{-1.2068, -40.578, -41.053}, {2.6128, -33.092, -41.053}, {5.0165, -31.288, -34.737}, {1.5306, -38.612, -34.737}}], Polygon[{{2.6128, -33.092, -41.053}, {6.4324, -25.606, -41.053}, {8.5024, -23.965, -34.737}, {5.0165, -31.288, -34.737}}], Polygon[{{6.4324, -25.606, -41.053}, {10.252, -18.12, -41.053}, {11.988, -16.641, -34.737}, {8.5024, -23.965, -34.737}}], Polygon[{{10.252, -18.12, -41.053}, {14.072, -10.634, -41.053}, {15.474, -9.3173, -34.737}, {11.988, -16.641, -34.737}}], Polygon[{{14.072, -10.634, -41.053}, {17.891, -3.1482, -41.053}, {18.96, -1.9936, -34.737}, {15.474, -9.3173, -34.737}}], Polygon[{{17.891, -3.1482, -41.053}, {21.711, 4.3379, -41.053}, {22.446, 5.3302, -34.737}, {18.96, -1.9936, -34.737}}], Polygon[{{21.711, 4.3379, -41.053}, {25.53, 11.824, -41.053}, {25.932, 12.654, -34.737}, {22.446, 5.3302, -34.737}}], Polygon[{{25.53, 11.824, -41.053}, {29.35, 19.31, -41.053}, {29.418, 19.978, -34.737}, {25.932, 12.654, -34.737}}], Polygon[{{29.35, 19.31, -41.053}, {33.17, 26.796, -41.053}, {32.904, 27.301, -34.737}, {29.418, 19.978, -34.737}}], Polygon[{{1.5306, -38.612, -34.737}, {5.0165, -31.288, -34.737}, {7.3456, -29.503, -28.421}, {4.1815, -36.652, -28.421}}], Polygon[{{5.0165, -31.288, -34.737}, {8.5024, -23.965, -34.737}, {10.51, -22.354, -28.421}, {7.3456, -29.503, -28.421}}], Polygon[{{8.5024, -23.965, -34.737}, {11.988, -16.641, -34.737}, {13.674, -15.206, -28.421}, {10.51, -22.354, -28.421}}], Polygon[{{11.988, -16.641, -34.737}, {15.474, -9.3173, -34.737}, {16.838, -8.0566, -28.421}, {13.674, -15.206, -28.421}}], Polygon[{{15.474, -9.3173, -34.737}, {18.96, -1.9936, -34.737}, {20.002, -0.9077, -28.421}, {16.838, -8.0566, -28.421}}], Polygon[{{18.96, -1.9936, -34.737}, {22.446, 5.3302, -34.737}, {23.166, 6.2412, -28.421}, {20.002, -0.9077, -28.421}}], Polygon[{{22.446, 5.3302, -34.737}, {25.932, 12.654, -34.737}, {26.33, 13.39, -28.421}, {23.166, 6.2412, -28.421}}], Polygon[{{25.932, 12.654, -34.737}, {29.418, 19.978, -34.737}, {29.494, 20.539, -28.421}, {26.33, 13.39, -28.421}}], Polygon[{{29.418, 19.978, -34.737}, {32.904, 27.301, -34.737}, {32.659, 27.688, -28.421}, {29.494, 20.539, -28.421}}], Polygon[{{4.1815, -36.652, -28.421}, {7.3456, -29.503, -28.421}, {9.6014, -27.74, -22.105}, {6.7467, -34.702, -22.105}}], Polygon[{{7.3456, -29.503, -28.421}, {10.51, -22.354, -28.421}, {12.456, -20.778, -22.105}, {9.6014, -27.74, -22.105}}], Polygon[{{10.51, -22.354, -28.421}, {13.674, -15.206, -28.421}, {15.311, -13.816, -22.105}, {12.456, -20.778, -22.105}}], Polygon[{{13.674, -15.206, -28.421}, {16.838, -8.0566, -28.421}, {18.166, -6.8534, -22.105}, {15.311, -13.816, -22.105}}], Polygon[{{16.838, -8.0566, -28.421}, {20.002, -0.9077, -28.421}, {21.02, 0.1087, -22.105}, {18.166, -6.8534, -22.105}}], Polygon[{{20.002, -0.9077, -28.421}, {23.166, 6.2412, -28.421}, {23.875, 7.0708, -22.105}, {21.02, 0.1087, -22.105}}], Polygon[{{23.166, 6.2412, -28.421}, {26.33, 13.39, -28.421}, {26.73, 14.033, -22.105}, {23.875, 7.0708, -22.105}}], Polygon[{{26.33, 13.39, -28.421}, {29.494, 20.539, -28.421}, {29.584, 20.995, -22.105}, {26.73, 14.033, -22.105}}], Polygon[{{29.494, 20.539, -28.421}, {32.659, 27.688, -28.421}, {32.439, 27.957, -22.105}, {29.584, 20.995, -22.105}}], Polygon[{{6.7467, -34.702, -22.105}, {9.6014, -27.74, -22.105}, {11.785, -26.001, -15.789}, {9.227, -32.765, -15.789}}], Polygon[{{9.6014, -27.74, -22.105}, {12.456, -20.778, -22.105}, {14.343, -19.237, -15.789}, {11.785, -26.001, -15.789}}], Polygon[{{12.456, -20.778, -22.105}, {15.311, -13.816, -22.105}, {16.901, -12.473, -15.789}, {14.343, -19.237, -15.789}}], Polygon[{{15.311, -13.816, -22.105}, {18.166, -6.8534, -22.105}, {19.459, -5.7089, -15.789}, {16.901, -12.473, -15.789}}], Polygon[{{18.166, -6.8534, -22.105}, {21.02, 0.1087, -22.105}, {22.017, 1.055, -15.789}, {19.459, -5.7089, -15.789}}], Polygon[{{21.02, 0.1087, -22.105}, {23.875, 7.0708, -22.105}, {24.575, 7.8189, -15.789}, {22.017, 1.055, -15.789}}], Polygon[{{23.875, 7.0708, -22.105}, {26.73, 14.033, -22.105}, {27.134, 14.583, -15.789}, {24.575, 7.8189, -15.789}}], Polygon[{{26.73, 14.033, -22.105}, {29.584, 20.995, -22.105}, {29.692, 21.347, -15.789}, {27.134, 14.583, -15.789}}], Polygon[{{29.584, 20.995, -22.105}, {32.439, 27.957, -22.105}, {32.25, 28.111, -15.789}, {29.692, 21.347, -15.789}}], Polygon[{{9.227, -32.765, -15.789}, {11.785, -26.001, -15.789}, {13.898, -24.289, -9.4737}, {11.623, -30.844, -9.4737}}], Polygon[{{11.785, -26.001, -15.789}, {14.343, -19.237, -15.789}, {16.173, -17.734, -9.4737}, {13.898, -24.289, -9.4737}}], Polygon[{{14.343, -19.237, -15.789}, {16.901, -12.473, -15.789}, {18.447, -11.179, -9.4737}, {16.173, -17.734, -9.4737}}], Polygon[{{16.901, -12.473, -15.789}, {19.459, -5.7089, -15.789}, {20.722, -4.6241, -9.4737}, {18.447, -11.179, -9.4737}}], Polygon[{{19.459, -5.7089, -15.789}, {22.017, 1.055, -15.789}, {22.996, 1.9307, -9.4737}, {20.722, -4.6241, -9.4737}}], Polygon[{{22.017, 1.055, -15.789}, {24.575, 7.8189, -15.789}, {25.271, 8.4856, -9.4737}, {22.996, 1.9307, -9.4737}}], Polygon[{{24.575, 7.8189, -15.789}, {27.134, 14.583, -15.789}, {27.546, 15.04, -9.4737}, {25.271, 8.4856, -9.4737}}], Polygon[{{27.134, 14.583, -15.789}, {29.692, 21.347, -15.789}, {29.82, 21.595, -9.4737}, {27.546, 15.04, -9.4737}}], Polygon[{{29.692, 21.347, -15.789}, {32.25, 28.111, -15.789}, {32.095, 28.15, -9.4737}, {29.82, 21.595, -9.4737}}], Polygon[{{11.623, -30.844, -9.4737}, {13.898, -24.289, -9.4737}, {15.942, -22.607, -3.1579}, {13.937, -28.942, -3.1579}}], Polygon[{{13.898, -24.289, -9.4737}, {16.173, -17.734, -9.4737}, {17.946, -16.271, -3.1579}, {15.942, -22.607, -3.1579}}], Polygon[{{16.173, -17.734, -9.4737}, {18.447, -11.179, -9.4737}, {19.951, -9.9356, -3.1579}, {17.946, -16.271, -3.1579}}], Polygon[{{18.447, -11.179, -9.4737}, {20.722, -4.6241, -9.4737}, {21.956, -3.6001, -3.1579}, {19.951, -9.9356, -3.1579}}], Polygon[{{20.722, -4.6241, -9.4737}, {22.996, 1.9307, -9.4737}, {23.96, 2.7355, -3.1579}, {21.956, -3.6001, -3.1579}}], Polygon[{{22.996, 1.9307, -9.4737}, {25.271, 8.4856, -9.4737}, {25.965, 9.071, -3.1579}, {23.96, 2.7355, -3.1579}}], Polygon[{{25.271, 8.4856, -9.4737}, {27.546, 15.04, -9.4737}, {27.97, 15.407, -3.1579}, {25.965, 9.071, -3.1579}}], Polygon[{{27.546, 15.04, -9.4737}, {29.82, 21.595, -9.4737}, {29.974, 21.742, -3.1579}, {27.97, 15.407, -3.1579}}], Polygon[{{29.82, 21.595, -9.4737}, {32.095, 28.15, -9.4737}, {31.979, 28.078, -3.1579}, {29.974, 21.742, -3.1579}}], Polygon[{{13.937, -28.942, -3.1579}, {15.942, -22.607, -3.1579}, {17.917, -20.957, 3.1579}, {16.169, -27.064, 3.1579}}], Polygon[{{15.942, -22.607, -3.1579}, {17.946, -16.271, -3.1579}, {19.666, -14.851, 3.1579}, {17.917, -20.957, 3.1579}}], Polygon[{{17.946, -16.271, -3.1579}, {19.951, -9.9356, -3.1579}, {21.415, -8.7442, 3.1579}, {19.666, -14.851, 3.1579}}], Polygon[{{19.951, -9.9356, -3.1579}, {21.956, -3.6001, -3.1579}, {23.163, -2.6376, 3.1579}, {21.415, -8.7442, 3.1579}}], Polygon[{{21.956, -3.6001, -3.1579}, {23.96, 2.7355, -3.1579}, {24.912, 3.4689, 3.1579}, {23.163, -2.6376, 3.1579}}], Polygon[{{23.96, 2.7355, -3.1579}, {25.965, 9.071, -3.1579}, {26.661, 9.5754, 3.1579}, {24.912, 3.4689, 3.1579}}], Polygon[{{25.965, 9.071, -3.1579}, {27.97, 15.407, -3.1579}, {28.409, 15.682, 3.1579}, {26.661, 9.5754, 3.1579}}], Polygon[{{27.97, 15.407, -3.1579}, {29.974, 21.742, -3.1579}, {30.158, 21.789, 3.1579}, {28.409, 15.682, 3.1579}}], Polygon[{{29.974, 21.742, -3.1579}, {31.979, 28.078, -3.1579}, {31.907, 27.895, 3.1579}, {30.158, 21.789, 3.1579}}], Polygon[{{16.169, -27.064, 3.1579}, {17.917, -20.957, 3.1579}, {19.827, -19.343, 9.4737}, {18.32, -25.211, 9.4737}}], Polygon[{{17.917, -20.957, 3.1579}, {19.666, -14.851, 3.1579}, {21.334, -13.475, 9.4737}, {19.827, -19.343, 9.4737}}], Polygon[{{19.666, -14.851, 3.1579}, {21.415, -8.7442, 3.1579}, {22.84, -7.6061, 9.4737}, {21.334, -13.475, 9.4737}}], Polygon[{{21.415, -8.7442, 3.1579}, {23.163, -2.6376, 3.1579}, {24.347, -1.7376, 9.4737}, {22.84, -7.6061, 9.4737}}], Polygon[{{23.163, -2.6376, 3.1579}, {24.912, 3.4689, 3.1579}, {25.854, 4.1309, 9.4737}, {24.347, -1.7376, 9.4737}}], Polygon[{{24.912, 3.4689, 3.1579}, {26.661, 9.5754, 3.1579}, {27.361, 9.9993, 9.4737}, {25.854, 4.1309, 9.4737}}], Polygon[{{26.661, 9.5754, 3.1579}, {28.409, 15.682, 3.1579}, {28.868, 15.868, 9.4737}, {27.361, 9.9993, 9.4737}}], Polygon[{{28.409, 15.682, 3.1579}, {30.158, 21.789, 3.1579}, {30.375, 21.736, 9.4737}, {28.868, 15.868, 9.4737}}], Polygon[{{30.158, 21.789, 3.1579}, {31.907, 27.895, 3.1579}, {31.881, 27.605, 9.4737}, {30.375, 21.736, 9.4737}}], Polygon[{{18.32, -25.211, 9.4737}, {19.827, -19.343, 9.4737}, {21.672, -17.766, 15.789}, {20.392, -23.388, 15.789}}], Polygon[{{19.827, -19.343, 9.4737}, {21.334, -13.475, 9.4737}, {22.951, -12.144, 15.789}, {21.672, -17.766, 15.789}}], Polygon[{{21.334, -13.475, 9.4737}, {22.84, -7.6061, 9.4737}, {24.231, -6.5225, 15.789}, {22.951, -12.144, 15.789}}], Polygon[{{22.84, -7.6061, 9.4737}, {24.347, -1.7376, 9.4737}, {25.51, -0.90066, 15.789}, {24.231, -6.5225, 15.789}}], Polygon[{{24.347, -1.7376, 9.4737}, {25.854, 4.1309, 9.4737}, {26.79, 4.7212, 15.789}, {25.51, -0.90066, 15.789}}], Polygon[{{25.854, 4.1309, 9.4737}, {27.361, 9.9993, 9.4737}, {28.069, 10.343, 15.789}, {26.79, 4.7212, 15.789}}], Polygon[{{27.361, 9.9993, 9.4737}, {28.868, 15.868, 9.4737}, {29.349, 15.965, 15.789}, {28.069, 10.343, 15.789}}], Polygon[{{28.868, 15.868, 9.4737}, {30.375, 21.736, 9.4737}, {30.628, 21.587, 15.789}, {29.349, 15.965, 15.789}}], Polygon[{{30.375, 21.736, 9.4737}, {31.881, 27.605, 9.4737}, {31.908, 27.209, 15.789}, {30.628, 21.587, 15.789}}], Polygon[{{20.392, -23.388, 15.789}, {21.672, -17.766, 15.789}, {23.454, -16.23, 22.105}, {22.387, -21.597, 22.105}}], Polygon[{{21.672, -17.766, 15.789}, {22.951, -12.144, 15.789}, {24.521, -10.862, 22.105}, {23.454, -16.23, 22.105}}], Polygon[{{22.951, -12.144, 15.789}, {24.231, -6.5225, 15.789}, {25.588, -5.4949, 22.105}, {24.521, -10.862, 22.105}}], Polygon[{{24.231, -6.5225, 15.789}, {25.51, -0.90066, 15.789}, {26.655, -0.12741, 22.105}, {25.588, -5.4949, 22.105}}], Polygon[{{25.51, -0.90066, 15.789}, {26.79, 4.7212, 15.789}, {27.722, 5.2401, 22.105}, {26.655, -0.12741, 22.105}}], Polygon[{{26.79, 4.7212, 15.789}, {28.069, 10.343, 15.789}, {28.789, 10.608, 22.105}, {27.722, 5.2401, 22.105}}], Polygon[{{28.069, 10.343, 15.789}, {29.349, 15.965, 15.789}, {29.856, 15.975, 22.105}, {28.789, 10.608, 22.105}}], Polygon[{{29.349, 15.965, 15.789}, {30.628, 21.587, 15.789}, {30.923, 21.342, 22.105}, {29.856, 15.975, 22.105}}], Polygon[{{30.628, 21.587, 15.789}, {31.908, 27.209, 15.789}, {31.99, 26.71, 22.105}, {30.923, 21.342, 22.105}}], Polygon[{{22.387, -21.597, 22.105}, {23.454, -16.23, 22.105}, {25.176, -14.736, 28.421}, {24.307, -19.842, 28.421}}], Polygon[{{23.454, -16.23, 22.105}, {24.521, -10.862, 22.105}, {26.045, -9.63, 28.421}, {25.176, -14.736, 28.421}}], Polygon[{{24.521, -10.862, 22.105}, {25.588, -5.4949, 22.105}, {26.915, -4.5242, 28.421}, {26.045, -9.63, 28.421}}], Polygon[{{25.588, -5.4949, 22.105}, {26.655, -0.12741, 22.105}, {27.784, 0.58165, 28.421}, {26.915, -4.5242, 28.421}}], Polygon[{{26.655, -0.12741, 22.105}, {27.722, 5.2401, 22.105}, {28.654, 5.6875, 28.421}, {27.784, 0.58165, 28.421}}], Polygon[{{27.722, 5.2401, 22.105}, {28.789, 10.608, 22.105}, {29.523, 10.793, 28.421}, {28.654, 5.6875, 28.421}}], Polygon[{{28.789, 10.608, 22.105}, {29.856, 15.975, 22.105}, {30.393, 15.899, 28.421}, {29.523, 10.793, 28.421}}], Polygon[{{29.856, 15.975, 22.105}, {30.923, 21.342, 22.105}, {31.262, 21.005, 28.421}, {30.393, 15.899, 28.421}}], Polygon[{{30.923, 21.342, 22.105}, {31.99, 26.71, 22.105}, {32.131, 26.111, 28.421}, {31.262, 21.005, 28.421}}], Polygon[{{24.307, -19.842, 28.421}, {25.176, -14.736, 28.421}, {26.839, -13.287, 34.737}, {26.152, -18.124, 34.737}}], Polygon[{{25.176, -14.736, 28.421}, {26.045, -9.63, 28.421}, {27.526, -8.4491, 34.737}, {26.839, -13.287, 34.737}}], Polygon[{{26.045, -9.63, 28.421}, {26.915, -4.5242, 28.421}, {28.213, -3.6115, 34.737}, {27.526, -8.4491, 34.737}}], Polygon[{{26.915, -4.5242, 28.421}, {27.784, 0.58165, 28.421}, {28.9, 1.2261, 34.737}, {28.213, -3.6115, 34.737}}], Polygon[{{27.784, 0.58165, 28.421}, {28.654, 5.6875, 28.421}, {29.588, 6.0637, 34.737}, {28.9, 1.2261, 34.737}}], Polygon[{{28.654, 5.6875, 28.421}, {29.523, 10.793, 28.421}, {30.275, 10.901, 34.737}, {29.588, 6.0637, 34.737}}], Polygon[{{29.523, 10.793, 28.421}, {30.393, 15.899, 28.421}, {30.962, 15.739, 34.737}, {30.275, 10.901, 34.737}}], Polygon[{{30.393, 15.899, 28.421}, {31.262, 21.005, 28.421}, {31.649, 20.576, 34.737}, {30.962, 15.739, 34.737}}], Polygon[{{31.262, 21.005, 28.421}, {32.131, 26.111, 28.421}, {32.336, 25.414, 34.737}, {31.649, 20.576, 34.737}}], Polygon[{{26.152, -18.124, 34.737}, {26.839, -13.287, 34.737}, {28.445, -11.885, 41.053}, {27.925, -16.448, 41.053}}], Polygon[{{26.839, -13.287, 34.737}, {27.526, -8.4491, 34.737}, {28.966, -7.3211, 41.053}, {28.445, -11.885, 41.053}}], Polygon[{{27.526, -8.4491, 34.737}, {28.213, -3.6115, 34.737}, {29.486, -2.7577, 41.053}, {28.966, -7.3211, 41.053}}], Polygon[{{28.213, -3.6115, 34.737}, {28.9, 1.2261, 34.737}, {30.006, 1.8056, 41.053}, {29.486, -2.7577, 41.053}}], Polygon[{{28.9, 1.2261, 34.737}, {29.588, 6.0637, 34.737}, {30.527, 6.369, 41.053}, {30.006, 1.8056, 41.053}}], Polygon[{{29.588, 6.0637, 34.737}, {30.275, 10.901, 34.737}, {31.047, 10.932, 41.053}, {30.527, 6.369, 41.053}}], Polygon[{{30.275, 10.901, 34.737}, {30.962, 15.739, 34.737}, {31.568, 15.496, 41.053}, {31.047, 10.932, 41.053}}], Polygon[{{30.962, 15.739, 34.737}, {31.649, 20.576, 34.737}, {32.088, 20.059, 41.053}, {31.568, 15.496, 41.053}}], Polygon[{{31.649, 20.576, 34.737}, {32.336, 25.414, 34.737}, {32.608, 24.623, 41.053}, {32.088, 20.059, 41.053}}], Polygon[{{27.925, -16.448, 41.053}, {28.445, -11.885, 41.053}, {29.997, -10.532, 47.368}, {29.627, -14.816, 47.368}}], Polygon[{{28.445, -11.885, 41.053}, {28.966, -7.3211, 41.053}, {30.366, -6.2477, 47.368}, {29.997, -10.532, 47.368}}], Polygon[{{28.966, -7.3211, 41.053}, {29.486, -2.7577, 41.053}, {30.735, -1.9638, 47.368}, {30.366, -6.2477, 47.368}}], Polygon[{{29.486, -2.7577, 41.053}, {30.006, 1.8056, 41.053}, {31.105, 2.3201, 47.368}, {30.735, -1.9638, 47.368}}], Polygon[{{30.006, 1.8056, 41.053}, {30.527, 6.369, 41.053}, {31.474, 6.604, 47.368}, {31.105, 2.3201, 47.368}}], Polygon[{{30.527, 6.369, 41.053}, {31.047, 10.932, 41.053}, {31.843, 10.888, 47.368}, {31.474, 6.604, 47.368}}], Polygon[{{31.047, 10.932, 41.053}, {31.568, 15.496, 41.053}, {32.212, 15.172, 47.368}, {31.843, 10.888, 47.368}}], Polygon[{{31.568, 15.496, 41.053}, {32.088, 20.059, 41.053}, {32.582, 19.456, 47.368}, {32.212, 15.172, 47.368}}], Polygon[{{32.088, 20.059, 41.053}, {32.608, 24.623, 41.053}, {32.951, 23.74, 47.368}, {32.582, 19.456, 47.368}}], Polygon[{{29.627, -14.816, 47.368}, {29.997, -10.532, 47.368}, {31.496, -9.2301, 53.684}, {31.262, -13.23, 53.684}}], Polygon[{{29.997, -10.532, 47.368}, {30.366, -6.2477, 47.368}, {31.73, -5.2303, 53.684}, {31.496, -9.2301, 53.684}}], Polygon[{{30.366, -6.2477, 47.368}, {30.735, -1.9638, 47.368}, {31.964, -1.2305, 53.684}, {31.73, -5.2303, 53.684}}], Polygon[{{30.735, -1.9638, 47.368}, {31.105, 2.3201, 47.368}, {32.198, 2.7693, 53.684}, {31.964, -1.2305, 53.684}}], Polygon[{{31.105, 2.3201, 47.368}, {31.474, 6.604, 47.368}, {32.432, 6.7691, 53.684}, {32.198, 2.7693, 53.684}}], Polygon[{{31.474, 6.604, 47.368}, {31.843, 10.888, 47.368}, {32.666, 10.769, 53.684}, {32.432, 6.7691, 53.684}}], Polygon[{{31.843, 10.888, 47.368}, {32.212, 15.172, 47.368}, {32.9, 14.769, 53.684}, {32.666, 10.769, 53.684}}], Polygon[{{32.212, 15.172, 47.368}, {32.582, 19.456, 47.368}, {33.134, 18.769, 53.684}, {32.9, 14.769, 53.684}}], Polygon[{{32.582, 19.456, 47.368}, {32.951, 23.74, 47.368}, {33.368, 22.768, 53.684}, {33.134, 18.769, 53.684}}], Polygon[{{31.262, -13.23, 53.684}, {31.496, -9.2301, 53.684}, {32.945, -7.9818, 60.}, {32.83, -11.693, 60.}}], Polygon[{{31.496, -9.2301, 53.684}, {31.73, -5.2303, 53.684}, {33.06, -4.2701, 60.}, {32.945, -7.9818, 60.}}], Polygon[{{31.73, -5.2303, 53.684}, {31.964, -1.2305, 53.684}, {33.174, -0.55839, 60.}, {33.06, -4.2701, 60.}}], Polygon[{{31.964, -1.2305, 53.684}, {32.198, 2.7693, 53.684}, {33.289, 3.1533, 60.}, {33.174, -0.55839, 60.}}], Polygon[{{32.198, 2.7693, 53.684}, {32.432, 6.7691, 53.684}, {33.404, 6.865, 60.}, {33.289, 3.1533, 60.}}], Polygon[{{32.432, 6.7691, 53.684}, {32.666, 10.769, 53.684}, {33.518, 10.577, 60.}, {33.404, 6.865, 60.}}], Polygon[{{32.666, 10.769, 53.684}, {32.9, 14.769, 53.684}, {33.633, 14.288, 60.}, {33.518, 10.577, 60.}}], Polygon[{{32.9, 14.769, 53.684}, {33.134, 18.769, 53.684}, {33.747, 18., 60.}, {33.633, 14.288, 60.}}], Polygon[{{33.134, 18.769, 53.684}, {33.368, 22.768, 53.684}, {33.862, 21.712, 60.}, {33.747, 18., 60.}}]}, {Polygon[{{-43.227, 45.261, -60.}, {-45.968, 36.793, -60.}, {-43.835, 35.087, -53.684}, {-41.407, 43.357, -53.684}}], Polygon[{{-45.968, 36.793, -60.}, {-48.709, 28.325, -60.}, {-46.262, 26.816, -53.684}, {-43.835, 35.087, -53.684}}], Polygon[{{-48.709, 28.325, -60.}, {-51.451, 19.857, -60.}, {-48.69, 18.546, -53.684}, {-46.262, 26.816, -53.684}}], Polygon[{{-51.451, 19.857, -60.}, {-54.192, 11.389, -60.}, {-51.118, 10.275, -53.684}, {-48.69, 18.546, -53.684}}], Polygon[{{-54.192, 11.389, -60.}, {-56.933, 2.9214, -60.}, {-53.546, 2.0045, -53.684}, {-51.118, 10.275, -53.684}}], Polygon[{{-56.933, 2.9214, -60.}, {-59.674, -5.5465, -60.}, {-55.973, -6.2661, -53.684}, {-53.546, 2.0045, -53.684}}], Polygon[{{-59.674, -5.5465, -60.}, {-62.416, -14.014, -60.}, {-58.401, -14.537, -53.684}, {-55.973, -6.2661, -53.684}}], Polygon[{{-62.416, -14.014, -60.}, {-65.157, -22.482, -60.}, {-60.829, -22.807, -53.684}, {-58.401, -14.537, -53.684}}], Polygon[{{-65.157, -22.482, -60.}, {-67.898, -30.95, -60.}, {-63.257, -31.078, -53.684}, {-60.829, -22.807, -53.684}}], Polygon[{{-41.407, 43.357, -53.684}, {-43.835, 35.087, -53.684}, {-41.615, 33.402, -47.368}, {-39.488, 41.464, -47.368}}], Polygon[{{-43.835, 35.087, -53.684}, {-46.262, 26.816, -53.684}, {-43.743, 25.339, -47.368}, {-41.615, 33.402, -47.368}}], Polygon[{{-46.262, 26.816, -53.684}, {-48.69, 18.546, -53.684}, {-45.87, 17.277, -47.368}, {-43.743, 25.339, -47.368}}], Polygon[{{-48.69, 18.546, -53.684}, {-51.118, 10.275, -53.684}, {-47.997, 9.2143, -47.368}, {-45.87, 17.277, -47.368}}], Polygon[{{-51.118, 10.275, -53.684}, {-53.546, 2.0045, -53.684}, {-50.124, 1.1518, -47.368}, {-47.997, 9.2143, -47.368}}], Polygon[{{-53.546, 2.0045, -53.684}, {-55.973, -6.2661, -53.684}, {-52.252, -6.9107, -47.368}, {-50.124, 1.1518, -47.368}}], Polygon[{{-55.973, -6.2661, -53.684}, {-58.401, -14.537, -53.684}, {-54.379, -14.973, -47.368}, {-52.252, -6.9107, -47.368}}], Polygon[{{-58.401, -14.537, -53.684}, {-60.829, -22.807, -53.684}, {-56.506, -23.036, -47.368}, {-54.379, -14.973, -47.368}}], Polygon[{{-60.829, -22.807, -53.684}, {-63.257, -31.078, -53.684}, {-58.633, -31.098, -47.368}, {-56.506, -23.036, -47.368}}], Polygon[{{-39.488, 41.464, -47.368}, {-41.615, 33.402, -47.368}, {-39.311, 31.742, -41.053}, {-37.471, 39.587, -41.053}}], Polygon[{{-41.615, 33.402, -47.368}, {-43.743, 25.339, -47.368}, {-41.151, 23.898, -41.053}, {-39.311, 31.742, -41.053}}], Polygon[{{-43.743, 25.339, -47.368}, {-45.87, 17.277, -47.368}, {-42.991, 16.053, -41.053}, {-41.151, 23.898, -41.053}}], Polygon[{{-45.87, 17.277, -47.368}, {-47.997, 9.2143, -47.368}, {-44.832, 8.2088, -41.053}, {-42.991, 16.053, -41.053}}], Polygon[{{-47.997, 9.2143, -47.368}, {-50.124, 1.1518, -47.368}, {-46.672, 0.3644, -41.053}, {-44.832, 8.2088, -41.053}}], Polygon[{{-50.124, 1.1518, -47.368}, {-52.252, -6.9107, -47.368}, {-48.512, -7.48, -41.053}, {-46.672, 0.3644, -41.053}}], Polygon[{{-52.252, -6.9107, -47.368}, {-54.379, -14.973, -47.368}, {-50.352, -15.324, -41.053}, {-48.512, -7.48, -41.053}}], Polygon[{{-54.379, -14.973, -47.368}, {-56.506, -23.036, -47.368}, {-52.192, -23.169, -41.053}, {-50.352, -15.324, -41.053}}], Polygon[{{-56.506, -23.036, -47.368}, {-58.633, -31.098, -47.368}, {-54.032, -31.013, -41.053}, {-52.192, -23.169, -41.053}}], Polygon[{{-37.471, 39.587, -41.053}, {-39.311, 31.742, -41.053}, {-36.924, 30.111, -34.737}, {-35.357, 37.727, -34.737}}], Polygon[{{-39.311, 31.742, -41.053}, {-41.151, 23.898, -41.053}, {-38.491, 22.494, -34.737}, {-36.924, 30.111, -34.737}}], Polygon[{{-41.151, 23.898, -41.053}, {-42.991, 16.053, -41.053}, {-40.057, 14.877, -34.737}, {-38.491, 22.494, -34.737}}], Polygon[{{-42.991, 16.053, -41.053}, {-44.832, 8.2088, -41.053}, {-41.624, 7.26, -34.737}, {-40.057, 14.877, -34.737}}], Polygon[{{-44.832, 8.2088, -41.053}, {-46.672, 0.3644, -41.053}, {-43.191, -0.35686, -34.737}, {-41.624, 7.26, -34.737}}], Polygon[{{-46.672, 0.3644, -41.053}, {-48.512, -7.48, -41.053}, {-44.757, -7.9737, -34.737}, {-43.191, -0.35686, -34.737}}], Polygon[{{-48.512, -7.48, -41.053}, {-50.352, -15.324, -41.053}, {-46.324, -15.591, -34.737}, {-44.757, -7.9737, -34.737}}], Polygon[{{-50.352, -15.324, -41.053}, {-52.192, -23.169, -41.053}, {-47.89, -23.207, -34.737}, {-46.324, -15.591, -34.737}}], Polygon[{{-52.192, -23.169, -41.053}, {-54.032, -31.013, -41.053}, {-49.457, -30.824, -34.737}, {-47.89, -23.207, -34.737}}], Polygon[{{-35.357, 37.727, -34.737}, {-36.924, 30.111, -34.737}, {-34.455, 28.51, -28.421}, {-33.148, 35.891, -28.421}}], Polygon[{{-36.924, 30.111, -34.737}, {-38.491, 22.494, -34.737}, {-35.762, 21.13, -28.421}, {-34.455, 28.51, -28.421}}], Polygon[{{-38.491, 22.494, -34.737}, {-40.057, 14.877, -34.737}, {-37.069, 13.75, -28.421}, {-35.762, 21.13, -28.421}}], Polygon[{{-40.057, 14.877, -34.737}, {-41.624, 7.26, -34.737}, {-38.377, 6.3692, -28.421}, {-37.069, 13.75, -28.421}}], Polygon[{{-41.624, 7.26, -34.737}, {-43.191, -0.35686, -34.737}, {-39.684, -1.0112, -28.421}, {-38.377, 6.3692, -28.421}}], Polygon[{{-43.191, -0.35686, -34.737}, {-44.757, -7.9737, -34.737}, {-40.991, -8.3916, -28.421}, {-39.684, -1.0112, -28.421}}], Polygon[{{-44.757, -7.9737, -34.737}, {-46.324, -15.591, -34.737}, {-42.298, -15.772, -28.421}, {-40.991, -8.3916, -28.421}}], Polygon[{{-46.324, -15.591, -34.737}, {-47.89, -23.207, -34.737}, {-43.605, -23.152, -28.421}, {-42.298, -15.772, -28.421}}], Polygon[{{-47.89, -23.207, -34.737}, {-49.457, -30.824, -34.737}, {-44.912, -30.533, -28.421}, {-43.605, -23.152, -28.421}}], Polygon[{{-33.148, 35.891, -28.421}, {-34.455, 28.51, -28.421}, {-31.906, 26.944, -22.105}, {-30.844, 34.08, -22.105}}], Polygon[{{-34.455, 28.51, -28.421}, {-35.762, 21.13, -28.421}, {-32.968, 19.809, -22.105}, {-31.906, 26.944, -22.105}}], Polygon[{{-35.762, 21.13, -28.421}, {-37.069, 13.75, -28.421}, {-34.03, 12.673, -22.105}, {-32.968, 19.809, -22.105}}], Polygon[{{-37.069, 13.75, -28.421}, {-38.377, 6.3692, -28.421}, {-35.092, 5.5377, -22.105}, {-34.03, 12.673, -22.105}}], Polygon[{{-38.377, 6.3692, -28.421}, {-39.684, -1.0112, -28.421}, {-36.154, -1.5979, -22.105}, {-35.092, 5.5377, -22.105}}], Polygon[{{-39.684, -1.0112, -28.421}, {-40.991, -8.3916, -28.421}, {-37.216, -8.7335, -22.105}, {-36.154, -1.5979, -22.105}}], Polygon[{{-40.991, -8.3916, -28.421}, {-42.298, -15.772, -28.421}, {-38.278, -15.869, -22.105}, {-37.216, -8.7335, -22.105}}], Polygon[{{-42.298, -15.772, -28.421}, {-43.605, -23.152, -28.421}, {-39.34, -23.005, -22.105}, {-38.278, -15.869, -22.105}}], Polygon[{{-43.605, -23.152, -28.421}, {-44.912, -30.533, -28.421}, {-40.402, -30.14, -22.105}, {-39.34, -23.005, -22.105}}], Polygon[{{-30.844, 34.08, -22.105}, {-31.906, 26.944, -22.105}, {-29.279, 25.416, -15.789}, {-28.448, 32.299, -15.789}}], Polygon[{{-31.906, 26.944, -22.105}, {-32.968, 19.809, -22.105}, {-30.11, 18.533, -15.789}, {-29.279, 25.416, -15.789}}], Polygon[{{-32.968, 19.809, -22.105}, {-34.03, 12.673, -22.105}, {-30.942, 11.65, -15.789}, {-30.11, 18.533, -15.789}}], Polygon[{{-34.03, 12.673, -22.105}, {-35.092, 5.5377, -22.105}, {-31.773, 4.7667, -15.789}, {-30.942, 11.65, -15.789}}], Polygon[{{-35.092, 5.5377, -22.105}, {-36.154, -1.5979, -22.105}, {-32.604, -2.1163, -15.789}, {-31.773, 4.7667, -15.789}}], Polygon[{{-36.154, -1.5979, -22.105}, {-37.216, -8.7335, -22.105}, {-33.435, -8.9994, -15.789}, {-32.604, -2.1163, -15.789}}], Polygon[{{-37.216, -8.7335, -22.105}, {-38.278, -15.869, -22.105}, {-34.266, -15.883, -15.789}, {-33.435, -8.9994, -15.789}}], Polygon[{{-38.278, -15.869, -22.105}, {-39.34, -23.005, -22.105}, {-35.098, -22.766, -15.789}, {-34.266, -15.883, -15.789}}], Polygon[{{-39.34, -23.005, -22.105}, {-40.402, -30.14, -22.105}, {-35.929, -29.649, -15.789}, {-35.098, -22.766, -15.789}}], Polygon[{{-28.448, 32.299, -15.789}, {-29.279, 25.416, -15.789}, {-26.576, 23.928, -9.4737}, {-25.961, 30.551, -9.4737}}], Polygon[{{-29.279, 25.416, -15.789}, {-30.11, 18.533, -15.789}, {-27.191, 17.304, -9.4737}, {-26.576, 23.928, -9.4737}}], Polygon[{{-30.11, 18.533, -15.789}, {-30.942, 11.65, -15.789}, {-27.806, 10.681, -9.4737}, {-27.191, 17.304, -9.4737}}], Polygon[{{-30.942, 11.65, -15.789}, {-31.773, 4.7667, -15.789}, {-28.422, 4.0574, -9.4737}, {-27.806, 10.681, -9.4737}}], Polygon[{{-31.773, 4.7667, -15.789}, {-32.604, -2.1163, -15.789}, {-29.037, -2.5661, -9.4737}, {-28.422, 4.0574, -9.4737}}], Polygon[{{-32.604, -2.1163, -15.789}, {-33.435, -8.9994, -15.789}, {-29.652, -9.1896, -9.4737}, {-29.037, -2.5661, -9.4737}}], Polygon[{{-33.435, -8.9994, -15.789}, {-34.266, -15.883, -15.789}, {-30.267, -15.813, -9.4737}, {-29.652, -9.1896, -9.4737}}], Polygon[{{-34.266, -15.883, -15.789}, {-35.098, -22.766, -15.789}, {-30.882, -22.437, -9.4737}, {-30.267, -15.813, -9.4737}}], Polygon[{{-35.098, -22.766, -15.789}, {-35.929, -29.649, -15.789}, {-31.498, -29.06, -9.4737}, {-30.882, -22.437, -9.4737}}], Polygon[{{-25.961, 30.551, -9.4737}, {-26.576, 23.928, -9.4737}, {-23.798, 22.483, -3.1579}, {-23.384, 28.841, -3.1579}}], Polygon[{{-26.576, 23.928, -9.4737}, {-27.191, 17.304, -9.4737}, {-24.212, 16.126, -3.1579}, {-23.798, 22.483, -3.1579}}], Polygon[{{-27.191, 17.304, -9.4737}, {-27.806, 10.681, -9.4737}, {-24.627, 9.7682, -3.1579}, {-24.212, 16.126, -3.1579}}], Polygon[{{-27.806, 10.681, -9.4737}, {-28.422, 4.0574, -9.4737}, {-25.041, 3.4107, -3.1579}, {-24.627, 9.7682, -3.1579}}], Polygon[{{-28.422, 4.0574, -9.4737}, {-29.037, -2.5661, -9.4737}, {-25.455, -2.9468, -3.1579}, {-25.041, 3.4107, -3.1579}}], Polygon[{{-29.037, -2.5661, -9.4737}, {-29.652, -9.1896, -9.4737}, {-25.869, -9.3042, -3.1579}, {-25.455, -2.9468, -3.1579}}], Polygon[{{-29.652, -9.1896, -9.4737}, {-30.267, -15.813, -9.4737}, {-26.283, -15.662, -3.1579}, {-25.869, -9.3042, -3.1579}}], Polygon[{{-30.267, -15.813, -9.4737}, {-30.882, -22.437, -9.4737}, {-26.698, -22.019, -3.1579}, {-26.283, -15.662, -3.1579}}], Polygon[{{-30.882, -22.437, -9.4737}, {-31.498, -29.06, -9.4737}, {-27.112, -28.377, -3.1579}, {-26.698, -22.019, -3.1579}}], Polygon[{{-23.384, 28.841, -3.1579}, {-23.798, 22.483, -3.1579}, {-20.948, 21.084, 3.1579}, {-20.72, 27.17, 3.1579}}], Polygon[{{-23.798, 22.483, -3.1579}, {-24.212, 16.126, -3.1579}, {-21.177, 14.999, 3.1579}, {-20.948, 21.084, 3.1579}}], Polygon[{{-24.212, 16.126, -3.1579}, {-24.627, 9.7682, -3.1579}, {-21.405, 8.9131, 3.1579}, {-21.177, 14.999, 3.1579}}], Polygon[{{-24.627, 9.7682, -3.1579}, {-25.041, 3.4107, -3.1579}, {-21.633, 2.8275, 3.1579}, {-21.405, 8.9131, 3.1579}}], Polygon[{{-25.041, 3.4107, -3.1579}, {-25.455, -2.9468, -3.1579}, {-21.862, -3.2581, 3.1579}, {-21.633, 2.8275, 3.1579}}], Polygon[{{-25.455, -2.9468, -3.1579}, {-25.869, -9.3042, -3.1579}, {-22.09, -9.3437, 3.1579}, {-21.862, -3.2581, 3.1579}}], Polygon[{{-25.869, -9.3042, -3.1579}, {-26.283, -15.662, -3.1579}, {-22.318, -15.429, 3.1579}, {-22.09, -9.3437, 3.1579}}], Polygon[{{-26.283, -15.662, -3.1579}, {-26.698, -22.019, -3.1579}, {-22.547, -21.515, 3.1579}, {-22.318, -15.429, 3.1579}}], Polygon[{{-26.698, -22.019, -3.1579}, {-27.112, -28.377, -3.1579}, {-22.775, -27.6, 3.1579}, {-22.547, -21.515, 3.1579}}], Polygon[{{-20.72, 27.17, 3.1579}, {-20.948, 21.084, 3.1579}, {-18.028, 19.734, 9.4737}, {-17.971, 25.543, 9.4737}}], Polygon[{{-20.948, 21.084, 3.1579}, {-21.177, 14.999, 3.1579}, {-18.086, 13.926, 9.4737}, {-18.028, 19.734, 9.4737}}], Polygon[{{-21.177, 14.999, 3.1579}, {-21.405, 8.9131, 3.1579}, {-18.144, 8.1172, 9.4737}, {-18.086, 13.926, 9.4737}}], Polygon[{{-21.405, 8.9131, 3.1579}, {-21.633, 2.8275, 3.1579}, {-18.202, 2.3087, 9.4737}, {-18.144, 8.1172, 9.4737}}], Polygon[{{-21.633, 2.8275, 3.1579}, {-21.862, -3.2581, 3.1579}, {-18.26, -3.4998, 9.4737}, {-18.202, 2.3087, 9.4737}}], Polygon[{{-21.862, -3.2581, 3.1579}, {-22.09, -9.3437, 3.1579}, {-18.317, -9.3084, 9.4737}, {-18.26, -3.4998, 9.4737}}], Polygon[{{-22.09, -9.3437, 3.1579}, {-22.318, -15.429, 3.1579}, {-18.375, -15.117, 9.4737}, {-18.317, -9.3084, 9.4737}}], Polygon[{{-22.318, -15.429, 3.1579}, {-22.547, -21.515, 3.1579}, {-18.433, -20.925, 9.4737}, {-18.375, -15.117, 9.4737}}], Polygon[{{-22.547, -21.515, 3.1579}, {-22.775, -27.6, 3.1579}, {-18.491, -26.734, 9.4737}, {-18.433, -20.925, 9.4737}}], Polygon[{{-17.971, 25.543, 9.4737}, {-18.028, 19.734, 9.4737}, {-15.041, 18.436, 15.789}, {-15.138, 23.962, 15.789}}], Polygon[{{-18.028, 19.734, 9.4737}, {-18.086, 13.926, 9.4737}, {-14.943, 12.909, 15.789}, {-15.041, 18.436, 15.789}}], Polygon[{{-18.086, 13.926, 9.4737}, {-18.144, 8.1172, 9.4737}, {-14.846, 7.3818, 15.789}, {-14.943, 12.909, 15.789}}], Polygon[{{-18.144, 8.1172, 9.4737}, {-18.202, 2.3087, 9.4737}, {-14.749, 1.8549, 15.789}, {-14.846, 7.3818, 15.789}}], Polygon[{{-18.202, 2.3087, 9.4737}, {-18.26, -3.4998, 9.4737}, {-14.651, -3.672, 15.789}, {-14.749, 1.8549, 15.789}}], Polygon[{{-18.26, -3.4998, 9.4737}, {-18.317, -9.3084, 9.4737}, {-14.554, -9.1989, 15.789}, {-14.651, -3.672, 15.789}}], Polygon[{{-18.317, -9.3084, 9.4737}, {-18.375, -15.117, 9.4737}, {-14.457, -14.726, 15.789}, {-14.554, -9.1989, 15.789}}], Polygon[{{-18.375, -15.117, 9.4737}, {-18.433, -20.925, 9.4737}, {-14.359, -20.253, 15.789}, {-14.457, -14.726, 15.789}}], Polygon[{{-18.433, -20.925, 9.4737}, {-18.491, -26.734, 9.4737}, {-14.262, -25.779, 15.789}, {-14.359, -20.253, 15.789}}], Polygon[{{-15.138, 23.962, 15.789}, {-15.041, 18.436, 15.789}, {-11.988, 17.191, 22.105}, {-12.225, 22.432, 22.105}}], Polygon[{{-15.041, 18.436, 15.789}, {-14.943, 12.909, 15.789}, {-11.751, 11.949, 22.105}, {-11.988, 17.191, 22.105}}], Polygon[{{-14.943, 12.909, 15.789}, {-14.846, 7.3818, 15.789}, {-11.514, 6.7081, 22.105}, {-11.751, 11.949, 22.105}}], Polygon[{{-14.846, 7.3818, 15.789}, {-14.749, 1.8549, 15.789}, {-11.277, 1.4668, 22.105}, {-11.514, 6.7081, 22.105}}], Polygon[{{-14.749, 1.8549, 15.789}, {-14.651, -3.672, 15.789}, {-11.04, -3.7745, 22.105}, {-11.277, 1.4668, 22.105}}], Polygon[{{-14.651, -3.672, 15.789}, {-14.554, -9.1989, 15.789}, {-10.803, -9.0158, 22.105}, {-11.04, -3.7745, 22.105}}], Polygon[{{-14.554, -9.1989, 15.789}, {-14.457, -14.726, 15.789}, {-10.566, -14.257, 22.105}, {-10.803, -9.0158, 22.105}}], Polygon[{{-14.457, -14.726, 15.789}, {-14.359, -20.253, 15.789}, {-10.329, -19.498, 22.105}, {-10.566, -14.257, 22.105}}], Polygon[{{-14.359, -20.253, 15.789}, {-14.262, -25.779, 15.789}, {-10.092, -24.74, 22.105}, {-10.329, -19.498, 22.105}}], Polygon[{{-12.225, 22.432, 22.105}, {-11.988, 17.191, 22.105}, {-8.8718, 16.002, 28.421}, {-9.2326, 20.955, 28.421}}], Polygon[{{-11.988, 17.191, 22.105}, {-11.751, 11.949, 22.105}, {-8.511, 11.05, 28.421}, {-8.8718, 16.002, 28.421}}], Polygon[{{-11.751, 11.949, 22.105}, {-11.514, 6.7081, 22.105}, {-8.1502, 6.0973, 28.421}, {-8.511, 11.05, 28.421}}], Polygon[{{-11.514, 6.7081, 22.105}, {-11.277, 1.4668, 22.105}, {-7.7894, 1.1448, 28.421}, {-8.1502, 6.0973, 28.421}}], Polygon[{{-11.277, 1.4668, 22.105}, {-11.04, -3.7745, 22.105}, {-7.4285, -3.8076, 28.421}, {-7.7894, 1.1448, 28.421}}], Polygon[{{-11.04, -3.7745, 22.105}, {-10.803, -9.0158, 22.105}, {-7.0677, -8.7601, 28.421}, {-7.4285, -3.8076, 28.421}}], Polygon[{{-10.803, -9.0158, 22.105}, {-10.566, -14.257, 22.105}, {-6.7069, -13.713, 28.421}, {-7.0677, -8.7601, 28.421}}], Polygon[{{-10.566, -14.257, 22.105}, {-10.329, -19.498, 22.105}, {-6.3461, -18.665, 28.421}, {-6.7069, -13.713, 28.421}}], Polygon[{{-10.329, -19.498, 22.105}, {-10.092, -24.74, 22.105}, {-5.9853, -23.617, 28.421}, {-6.3461, -18.665, 28.421}}], Polygon[{{-9.2326, 20.955, 28.421}, {-8.8718, 16.002, 28.421}, {-5.6955, 14.872, 34.737}, {-6.1645, 19.533, 34.737}}], Polygon[{{-8.8718, 16.002, 28.421}, {-8.511, 11.05, 28.421}, {-5.2265, 10.211, 34.737}, {-5.6955, 14.872, 34.737}}], Polygon[{{-8.511, 11.05, 28.421}, {-8.1502, 6.0973, 28.421}, {-4.7575, 5.5504, 34.737}, {-5.2265, 10.211, 34.737}}], Polygon[{{-8.1502, 6.0973, 28.421}, {-7.7894, 1.1448, 28.421}, {-4.2885, 0.88945, 34.737}, {-4.7575, 5.5504, 34.737}}], Polygon[{{-7.7894, 1.1448, 28.421}, {-7.4285, -3.8076, 28.421}, {-3.8195, -3.7715, 34.737}, {-4.2885, 0.88945, 34.737}}], Polygon[{{-7.4285, -3.8076, 28.421}, {-7.0677, -8.7601, 28.421}, {-3.3504, -8.4325, 34.737}, {-3.8195, -3.7715, 34.737}}], Polygon[{{-7.0677, -8.7601, 28.421}, {-6.7069, -13.713, 28.421}, {-2.8814, -13.093, 34.737}, {-3.3504, -8.4325, 34.737}}], Polygon[{{-6.7069, -13.713, 28.421}, {-6.3461, -18.665, 28.421}, {-2.4124, -17.754, 34.737}, {-2.8814, -13.093, 34.737}}], Polygon[{{-6.3461, -18.665, 28.421}, {-5.9853, -23.617, 28.421}, {-1.9434, -22.415, 34.737}, {-2.4124, -17.754, 34.737}}], Polygon[{{-6.1645, 19.533, 34.737}, {-5.6955, 14.872, 34.737}, {-2.4614, 13.804, 41.053}, {-3.0228, 18.171, 41.053}}], Polygon[{{-5.6955, 14.872, 34.737}, {-5.2265, 10.211, 34.737}, {-1.8999, 9.436, 41.053}, {-2.4614, 13.804, 41.053}}], Polygon[{{-5.2265, 10.211, 34.737}, {-4.7575, 5.5504, 34.737}, {-1.3385, 5.0685, 41.053}, {-1.8999, 9.436, 41.053}}], Polygon[{{-4.7575, 5.5504, 34.737}, {-4.2885, 0.88945, 34.737}, {-0.7771, 0.70096, 41.053}, {-1.3385, 5.0685, 41.053}}], Polygon[{{-4.2885, 0.88945, 34.737}, {-3.8195, -3.7715, 34.737}, {-0.21568, -3.6666, 41.053}, {-0.7771, 0.70096, 41.053}}], Polygon[{{-3.8195, -3.7715, 34.737}, {-3.3504, -8.4325, 34.737}, {0.34574, -8.0341, 41.053}, {-0.21568, -3.6666, 41.053}}], Polygon[{{-3.3504, -8.4325, 34.737}, {-2.8814, -13.093, 34.737}, {0.90716, -12.402, 41.053}, {0.34574, -8.0341, 41.053}}], Polygon[{{-2.8814, -13.093, 34.737}, {-2.4124, -17.754, 34.737}, {1.4686, -16.769, 41.053}, {0.90716, -12.402, 41.053}}], Polygon[{{-2.4124, -17.754, 34.737}, {-1.9434, -22.415, 34.737}, {2.03, -21.137, 41.053}, {1.4686, -16.769, 41.053}}], Polygon[{{-3.0228, 18.171, 41.053}, {-2.4614, 13.804, 41.053}, {0.82779, 12.798, 47.368}, {0.18974, 16.87, 47.368}}], Polygon[{{-2.4614, 13.804, 41.053}, {-1.8999, 9.436, 41.053}, {1.4658, 8.725, 47.368}, {0.82779, 12.798, 47.368}}], Polygon[{{-1.8999, 9.436, 41.053}, {-1.3385, 5.0685, 41.053}, {2.1039, 4.6523, 47.368}, {1.4658, 8.725, 47.368}}], Polygon[{{-1.3385, 5.0685, 41.053}, {-0.7771, 0.70096, 41.053}, {2.7419, 0.57956, 47.368}, {2.1039, 4.6523, 47.368}}], Polygon[{{-0.7771, 0.70096, 41.053}, {-0.21568, -3.6666, 41.053}, {3.38, -3.4931, 47.368}, {2.7419, 0.57956, 47.368}}], Polygon[{{-0.21568, -3.6666, 41.053}, {0.34574, -8.0341, 41.053}, {4.018, -7.5658, 47.368}, {3.38, -3.4931, 47.368}}], Polygon[{{0.34574, -8.0341, 41.053}, {0.90716, -12.402, 41.053}, {4.6561, -11.639, 47.368}, {4.018, -7.5658, 47.368}}], Polygon[{{0.90716, -12.402, 41.053}, {1.4686, -16.769, 41.053}, {5.2941, -15.711, 47.368}, {4.6561, -11.639, 47.368}}], Polygon[{{1.4686, -16.769, 41.053}, {2.03, -21.137, 41.053}, {5.9322, -19.784, 47.368}, {5.2941, -15.711, 47.368}}], Polygon[{{0.18974, 16.87, 47.368}, {0.82779, 12.798, 47.368}, {4.1692, 11.857, 53.684}, {3.4703, 15.634, 53.684}}], Polygon[{{0.82779, 12.798, 47.368}, {1.4658, 8.725, 47.368}, {4.8681, 8.0797, 53.684}, {4.1692, 11.857, 53.684}}], Polygon[{{1.4658, 8.725, 47.368}, {2.1039, 4.6523, 47.368}, {5.567, 4.3025, 53.684}, {4.8681, 8.0797, 53.684}}], Polygon[{{2.1039, 4.6523, 47.368}, {2.7419, 0.57956, 47.368}, {6.2659, 0.52534, 53.684}, {5.567, 4.3025, 53.684}}], Polygon[{{2.7419, 0.57956, 47.368}, {3.38, -3.4931, 47.368}, {6.9648, -3.2519, 53.684}, {6.2659, 0.52534, 53.684}}], Polygon[{{3.38, -3.4931, 47.368}, {4.018, -7.5658, 47.368}, {7.6637, -7.029, 53.684}, {6.9648, -3.2519, 53.684}}], Polygon[{{4.018, -7.5658, 47.368}, {4.6561, -11.639, 47.368}, {8.3626, -10.806, 53.684}, {7.6637, -7.029, 53.684}}], Polygon[{{4.6561, -11.639, 47.368}, {5.2941, -15.711, 47.368}, {9.0615, -14.583, 53.684}, {8.3626, -10.806, 53.684}}], Polygon[{{5.2941, -15.711, 47.368}, {5.9322, -19.784, 47.368}, {9.7603, -18.361, 53.684}, {9.0615, -14.583, 53.684}}], Polygon[{{3.4703, 15.634, 53.684}, {4.1692, 11.857, 53.684}, {7.5601, 10.983, 60.}, {6.8161, 14.465, 60.}}], Polygon[{{4.1692, 11.857, 53.684}, {4.8681, 8.0797, 53.684}, {8.3041, 7.5016, 60.}, {7.5601, 10.983, 60.}}], Polygon[{{4.8681, 8.0797, 53.684}, {5.567, 4.3025, 53.684}, {9.0481, 4.02, 60.}, {8.3041, 7.5016, 60.}}], Polygon[{{5.567, 4.3025, 53.684}, {6.2659, 0.52534, 53.684}, {9.792, 0.53832, 60.}, {9.0481, 4.02, 60.}}], Polygon[{{6.2659, 0.52534, 53.684}, {6.9648, -3.2519, 53.684}, {10.536, -2.9433, 60.}, {9.792, 0.53832, 60.}}], Polygon[{{6.9648, -3.2519, 53.684}, {7.6637, -7.029, 53.684}, {11.28, -6.425, 60.}, {10.536, -2.9433, 60.}}], Polygon[{{7.6637, -7.029, 53.684}, {8.3626, -10.806, 53.684}, {12.024, -9.9066, 60.}, {11.28, -6.425, 60.}}], Polygon[{{8.3626, -10.806, 53.684}, {9.0615, -14.583, 53.684}, {12.768, -13.388, 60.}, {12.024, -9.9066, 60.}}], Polygon[{{9.0615, -14.583, 53.684}, {9.7603, -18.361, 53.684}, {13.512, -16.87, 60.}, {12.768, -13.388, 60.}}]}, {Polygon[{{-43.227, 45.261, -60.}, {-34.641, 42.96, -60.}, {-33.056, 41.365, -53.684}, {-41.407, 43.357, -53.684}}], Polygon[{{-34.641, 42.96, -60.}, {-26.055, 40.66, -60.}, {-24.706, 39.372, -53.684}, {-33.056, 41.365, -53.684}}], Polygon[{{-26.055, 40.66, -60.}, {-17.469, 38.359, -60.}, {-16.356, 37.379, -53.684}, {-24.706, 39.372, -53.684}}], Polygon[{{-17.469, 38.359, -60.}, {-8.8826, 36.059, -60.}, {-8.0054, 35.387, -53.684}, {-16.356, 37.379, -53.684}}], Polygon[{{-8.8826, 36.059, -60.}, {-0.2966, 33.758, -60.}, {0.34492, 33.394, -53.684}, {-8.0054, 35.387, -53.684}}], Polygon[{{-0.2966, 33.758, -60.}, {8.2894, 31.457, -60.}, {8.6953, 31.402, -53.684}, {0.34492, 33.394, -53.684}}], Polygon[{{8.2894, 31.457, -60.}, {16.875, 29.157, -60.}, {17.046, 29.409, -53.684}, {8.6953, 31.402, -53.684}}], Polygon[{{16.875, 29.157, -60.}, {25.461, 26.856, -60.}, {25.396, 27.417, -53.684}, {17.046, 29.409, -53.684}}], Polygon[{{25.461, 26.856, -60.}, {34.047, 24.555, -60.}, {33.746, 25.424, -53.684}, {25.396, 27.417, -53.684}}], Polygon[{{-41.407, 43.357, -53.684}, {-33.056, 41.365, -53.684}, {-31.384, 39.765, -47.368}, {-39.488, 41.464, -47.368}}], Polygon[{{-33.056, 41.365, -53.684}, {-24.706, 39.372, -53.684}, {-23.279, 38.066, -47.368}, {-31.384, 39.765, -47.368}}], Polygon[{{-24.706, 39.372, -53.684}, {-16.356, 37.379, -53.684}, {-15.175, 36.367, -47.368}, {-23.279, 38.066, -47.368}}], Polygon[{{-16.356, 37.379, -53.684}, {-8.0054, 35.387, -53.684}, {-7.0702, 34.667, -47.368}, {-15.175, 36.367, -47.368}}], Polygon[{{-8.0054, 35.387, -53.684}, {0.34492, 33.394, -53.684}, {1.0343, 32.968, -47.368}, {-7.0702, 34.667, -47.368}}], Polygon[{{0.34492, 33.394, -53.684}, {8.6953, 31.402, -53.684}, {9.1388, 31.269, -47.368}, {1.0343, 32.968, -47.368}}], Polygon[{{8.6953, 31.402, -53.684}, {17.046, 29.409, -53.684}, {17.243, 29.569, -47.368}, {9.1388, 31.269, -47.368}}], Polygon[{{17.046, 29.409, -53.684}, {25.396, 27.417, -53.684}, {25.348, 27.87, -47.368}, {17.243, 29.569, -47.368}}], Polygon[{{25.396, 27.417, -53.684}, {33.746, 25.424, -53.684}, {33.452, 26.171, -47.368}, {25.348, 27.87, -47.368}}], Polygon[{{-39.488, 41.464, -47.368}, {-31.384, 39.765, -47.368}, {-29.622, 38.165, -41.053}, {-37.471, 39.587, -41.053}}], Polygon[{{-31.384, 39.765, -47.368}, {-23.279, 38.066, -47.368}, {-21.773, 36.744, -41.053}, {-29.622, 38.165, -41.053}}], Polygon[{{-23.279, 38.066, -47.368}, {-15.175, 36.367, -47.368}, {-13.924, 35.323, -41.053}, {-21.773, 36.744, -41.053}}], Polygon[{{-15.175, 36.367, -47.368}, {-7.0702, 34.667, -47.368}, {-6.0752, 33.902, -41.053}, {-13.924, 35.323, -41.053}}], Polygon[{{-7.0702, 34.667, -47.368}, {1.0343, 32.968, -47.368}, {1.7738, 32.481, -41.053}, {-6.0752, 33.902, -41.053}}], Polygon[{{1.0343, 32.968, -47.368}, {9.1388, 31.269, -47.368}, {9.6227, 31.059, -41.053}, {1.7738, 32.481, -41.053}}], Polygon[{{9.1388, 31.269, -47.368}, {17.243, 29.569, -47.368}, {17.472, 29.638, -41.053}, {9.6227, 31.059, -41.053}}], Polygon[{{17.243, 29.569, -47.368}, {25.348, 27.87, -47.368}, {25.321, 28.217, -41.053}, {17.472, 29.638, -41.053}}], Polygon[{{25.348, 27.87, -47.368}, {33.452, 26.171, -47.368}, {33.17, 26.796, -41.053}, {25.321, 28.217, -41.053}}], Polygon[{{-37.471, 39.587, -41.053}, {-29.622, 38.165, -41.053}, {-27.773, 36.569, -34.737}, {-35.357, 37.727, -34.737}}], Polygon[{{-29.622, 38.165, -41.053}, {-21.773, 36.744, -41.053}, {-20.188, 35.411, -34.737}, {-27.773, 36.569, -34.737}}], Polygon[{{-21.773, 36.744, -41.053}, {-13.924, 35.323, -41.053}, {-12.604, 34.252, -34.737}, {-20.188, 35.411, -34.737}}], Polygon[{{-13.924, 35.323, -41.053}, {-6.0752, 33.902, -41.053}, {-5.0192, 33.094, -34.737}, {-12.604, 34.252, -34.737}}], Polygon[{{-6.0752, 33.902, -41.053}, {1.7738, 32.481, -41.053}, {2.5654, 31.935, -34.737}, {-5.0192, 33.094, -34.737}}], Polygon[{{1.7738, 32.481, -41.053}, {9.6227, 31.059, -41.053}, {10.15, 30.777, -34.737}, {2.5654, 31.935, -34.737}}], Polygon[{{9.6227, 31.059, -41.053}, {17.472, 29.638, -41.053}, {17.734, 29.618, -34.737}, {10.15, 30.777, -34.737}}], Polygon[{{17.472, 29.638, -41.053}, {25.321, 28.217, -41.053}, {25.319, 28.46, -34.737}, {17.734, 29.618, -34.737}}], Polygon[{{25.321, 28.217, -41.053}, {33.17, 26.796, -41.053}, {32.904, 27.301, -34.737}, {25.319, 28.46, -34.737}}], Polygon[{{-35.357, 37.727, -34.737}, {-27.773, 36.569, -34.737}, {-25.836, 34.979, -28.421}, {-33.148, 35.891, -28.421}}], Polygon[{{-27.773, 36.569, -34.737}, {-20.188, 35.411, -34.737}, {-18.524, 34.068, -28.421}, {-25.836, 34.979, -28.421}}], Polygon[{{-20.188, 35.411, -34.737}, {-12.604, 34.252, -34.737}, {-11.212, 33.156, -28.421}, {-18.524, 34.068, -28.421}}], Polygon[{{-12.604, 34.252, -34.737}, {-5.0192, 33.094, -34.737}, {-3.9007, 32.245, -28.421}, {-11.212, 33.156, -28.421}}], Polygon[{{-5.0192, 33.094, -34.737}, {2.5654, 31.935, -34.737}, {3.4112, 31.334, -28.421}, {-3.9007, 32.245, -28.421}}], Polygon[{{2.5654, 31.935, -34.737}, {10.15, 30.777, -34.737}, {10.723, 30.422, -28.421}, {3.4112, 31.334, -28.421}}], Polygon[{{10.15, 30.777, -34.737}, {17.734, 29.618, -34.737}, {18.035, 29.511, -28.421}, {10.723, 30.422, -28.421}}], Polygon[{{17.734, 29.618, -34.737}, {25.319, 28.46, -34.737}, {25.347, 28.599, -28.421}, {18.035, 29.511, -28.421}}], Polygon[{{25.319, 28.46, -34.737}, {32.904, 27.301, -34.737}, {32.659, 27.688, -28.421}, {25.347, 28.599, -28.421}}], Polygon[{{-33.148, 35.891, -28.421}, {-25.836, 34.979, -28.421}, {-23.813, 33.4, -22.105}, {-30.844, 34.08, -22.105}}], Polygon[{{-25.836, 34.979, -28.421}, {-18.524, 34.068, -28.421}, {-16.781, 32.719, -22.105}, {-23.813, 33.4, -22.105}}], Polygon[{{-18.524, 34.068, -28.421}, {-11.212, 33.156, -28.421}, {-9.7499, 32.039, -22.105}, {-16.781, 32.719, -22.105}}], Polygon[{{-11.212, 33.156, -28.421}, {-3.9007, 32.245, -28.421}, {-2.7184, 31.359, -22.105}, {-9.7499, 32.039, -22.105}}], Polygon[{{-3.9007, 32.245, -28.421}, {3.4112, 31.334, -28.421}, {4.3131, 30.678, -22.105}, {-2.7184, 31.359, -22.105}}], Polygon[{{3.4112, 31.334, -28.421}, {10.723, 30.422, -28.421}, {11.345, 29.998, -22.105}, {4.3131, 30.678, -22.105}}], Polygon[{{10.723, 30.422, -28.421}, {18.035, 29.511, -28.421}, {18.376, 29.318, -22.105}, {11.345, 29.998, -22.105}}], Polygon[{{18.035, 29.511, -28.421}, {25.347, 28.599, -28.421}, {25.408, 28.637, -22.105}, {18.376, 29.318, -22.105}}], Polygon[{{25.347, 28.599, -28.421}, {32.659, 27.688, -28.421}, {32.439, 27.957, -22.105}, {25.408, 28.637, -22.105}}], Polygon[{{-30.844, 34.08, -22.105}, {-23.813, 33.4, -22.105}, {-21.704, 31.834, -15.789}, {-28.448, 32.299, -15.789}}], Polygon[{{-23.813, 33.4, -22.105}, {-16.781, 32.719, -22.105}, {-14.96, 31.368, -15.789}, {-21.704, 31.834, -15.789}}], Polygon[{{-16.781, 32.719, -22.105}, {-9.7499, 32.039, -22.105}, {-8.2155, 30.903, -15.789}, {-14.96, 31.368, -15.789}}], Polygon[{{-9.7499, 32.039, -22.105}, {-2.7184, 31.359, -22.105}, {-1.4713, 30.438, -15.789}, {-8.2155, 30.903, -15.789}}], Polygon[{{-2.7184, 31.359, -22.105}, {4.3131, 30.678, -22.105}, {5.2729, 29.972, -15.789}, {-1.4713, 30.438, -15.789}}], Polygon[{{4.3131, 30.678, -22.105}, {11.345, 29.998, -22.105}, {12.017, 29.507, -15.789}, {5.2729, 29.972, -15.789}}], Polygon[{{11.345, 29.998, -22.105}, {18.376, 29.318, -22.105}, {18.761, 29.041, -15.789}, {12.017, 29.507, -15.789}}], Polygon[{{18.376, 29.318, -22.105}, {25.408, 28.637, -22.105}, {25.506, 28.576, -15.789}, {18.761, 29.041, -15.789}}], Polygon[{{25.408, 28.637, -22.105}, {32.439, 27.957, -22.105}, {32.25, 28.111, -15.789}, {25.506, 28.576, -15.789}}], Polygon[{{-28.448, 32.299, -15.789}, {-21.704, 31.834, -15.789}, {-19.51, 30.285, -9.4737}, {-25.961, 30.551, -9.4737}}], Polygon[{{-21.704, 31.834, -15.789}, {-14.96, 31.368, -15.789}, {-13.059, 30.018, -9.4737}, {-19.51, 30.285, -9.4737}}], Polygon[{{-14.96, 31.368, -15.789}, {-8.2155, 30.903, -15.789}, {-6.6088, 29.751, -9.4737}, {-13.059, 30.018, -9.4737}}], Polygon[{{-8.2155, 30.903, -15.789}, {-1.4713, 30.438, -15.789}, {-0.15819, 29.484, -9.4737}, {-6.6088, 29.751, -9.4737}}], Polygon[{{-1.4713, 30.438, -15.789}, {5.2729, 29.972, -15.789}, {6.2924, 29.217, -9.4737}, {-0.15819, 29.484, -9.4737}}], Polygon[{{5.2729, 29.972, -15.789}, {12.017, 29.507, -15.789}, {12.743, 28.951, -9.4737}, {6.2924, 29.217, -9.4737}}], Polygon[{{12.017, 29.507, -15.789}, {18.761, 29.041, -15.789}, {19.194, 28.684, -9.4737}, {12.743, 28.951, -9.4737}}], Polygon[{{18.761, 29.041, -15.789}, {25.506, 28.576, -15.789}, {25.644, 28.417, -9.4737}, {19.194, 28.684, -9.4737}}], Polygon[{{25.506, 28.576, -15.789}, {32.25, 28.111, -15.789}, {32.095, 28.15, -9.4737}, {25.644, 28.417, -9.4737}}], Polygon[{{-25.961, 30.551, -9.4737}, {-19.51, 30.285, -9.4737}, {-17.233, 28.756, -3.1579}, {-23.384, 28.841, -3.1579}}], Polygon[{{-19.51, 30.285, -9.4737}, {-13.059, 30.018, -9.4737}, {-11.081, 28.671, -3.1579}, {-17.233, 28.756, -3.1579}}], Polygon[{{-13.059, 30.018, -9.4737}, {-6.6088, 29.751, -9.4737}, {-4.9297, 28.586, -3.1579}, {-11.081, 28.671, -3.1579}}], Polygon[{{-6.6088, 29.751, -9.4737}, {-0.15819, 29.484, -9.4737}, {1.2218, 28.502, -3.1579}, {-4.9297, 28.586, -3.1579}}], Polygon[{{-0.15819, 29.484, -9.4737}, {6.2924, 29.217, -9.4737}, {7.3733, 28.417, -3.1579}, {1.2218, 28.502, -3.1579}}], Polygon[{{6.2924, 29.217, -9.4737}, {12.743, 28.951, -9.4737}, {13.525, 28.332, -3.1579}, {7.3733, 28.417, -3.1579}}], Polygon[{{12.743, 28.951, -9.4737}, {19.194, 28.684, -9.4737}, {19.676, 28.247, -3.1579}, {13.525, 28.332, -3.1579}}], Polygon[{{19.194, 28.684, -9.4737}, {25.644, 28.417, -9.4737}, {25.828, 28.162, -3.1579}, {19.676, 28.247, -3.1579}}], Polygon[{{25.644, 28.417, -9.4737}, {32.095, 28.15, -9.4737}, {31.979, 28.078, -3.1579}, {25.828, 28.162, -3.1579}}], Polygon[{{-23.384, 28.841, -3.1579}, {-17.233, 28.756, -3.1579}, {-14.873, 27.25, 3.1579}, {-20.72, 27.17, 3.1579}}], Polygon[{{-17.233, 28.756, -3.1579}, {-11.081, 28.671, -3.1579}, {-9.0253, 27.331, 3.1579}, {-14.873, 27.25, 3.1579}}], Polygon[{{-11.081, 28.671, -3.1579}, {-4.9297, 28.586, -3.1579}, {-3.1779, 27.412, 3.1579}, {-9.0253, 27.331, 3.1579}}], Polygon[{{-4.9297, 28.586, -3.1579}, {1.2218, 28.502, -3.1579}, {2.6695, 27.492, 3.1579}, {-3.1779, 27.412, 3.1579}}], Polygon[{{1.2218, 28.502, -3.1579}, {7.3733, 28.417, -3.1579}, {8.5169, 27.573, 3.1579}, {2.6695, 27.492, 3.1579}}], Polygon[{{7.3733, 28.417, -3.1579}, {13.525, 28.332, -3.1579}, {14.364, 27.653, 3.1579}, {8.5169, 27.573, 3.1579}}], Polygon[{{13.525, 28.332, -3.1579}, {19.676, 28.247, -3.1579}, {20.212, 27.734, 3.1579}, {14.364, 27.653, 3.1579}}], Polygon[{{19.676, 28.247, -3.1579}, {25.828, 28.162, -3.1579}, {26.059, 27.815, 3.1579}, {20.212, 27.734, 3.1579}}], Polygon[{{25.828, 28.162, -3.1579}, {31.979, 28.078, -3.1579}, {31.907, 27.895, 3.1579}, {26.059, 27.815, 3.1579}}], Polygon[{{-20.72, 27.17, 3.1579}, {-14.873, 27.25, 3.1579}, {-12.432, 25.772, 9.4737}, {-17.971, 25.543, 9.4737}}], Polygon[{{-14.873, 27.25, 3.1579}, {-9.0253, 27.331, 3.1579}, {-6.8925, 26.001, 9.4737}, {-12.432, 25.772, 9.4737}}], Polygon[{{-9.0253, 27.331, 3.1579}, {-3.1779, 27.412, 3.1579}, {-1.3533, 26.23, 9.4737}, {-6.8925, 26.001, 9.4737}}], Polygon[{{-3.1779, 27.412, 3.1579}, {2.6695, 27.492, 3.1579}, {4.1858, 26.459, 9.4737}, {-1.3533, 26.23, 9.4737}}], Polygon[{{2.6695, 27.492, 3.1579}, {8.5169, 27.573, 3.1579}, {9.7249, 26.688, 9.4737}, {4.1858, 26.459, 9.4737}}], Polygon[{{8.5169, 27.573, 3.1579}, {14.364, 27.653, 3.1579}, {15.264, 26.917, 9.4737}, {9.7249, 26.688, 9.4737}}], Polygon[{{14.364, 27.653, 3.1579}, {20.212, 27.734, 3.1579}, {20.803, 27.146, 9.4737}, {15.264, 26.917, 9.4737}}], Polygon[{{20.212, 27.734, 3.1579}, {26.059, 27.815, 3.1579}, {26.342, 27.376, 9.4737}, {20.803, 27.146, 9.4737}}], Polygon[{{26.059, 27.815, 3.1579}, {31.907, 27.895, 3.1579}, {31.881, 27.605, 9.4737}, {26.342, 27.376, 9.4737}}], Polygon[{{-17.971, 25.543, 9.4737}, {-12.432, 25.772, 9.4737}, {-9.9108, 24.323, 15.789}, {-15.138, 23.962, 15.789}}], Polygon[{{-12.432, 25.772, 9.4737}, {-6.8925, 26.001, 9.4737}, {-4.6835, 24.684, 15.789}, {-9.9108, 24.323, 15.789}}], Polygon[{{-6.8925, 26.001, 9.4737}, {-1.3533, 26.23, 9.4737}, {0.54384, 25.045, 15.789}, {-4.6835, 24.684, 15.789}}], Polygon[{{-1.3533, 26.23, 9.4737}, {4.1858, 26.459, 9.4737}, {5.7712, 25.405, 15.789}, {0.54384, 25.045, 15.789}}], Polygon[{{4.1858, 26.459, 9.4737}, {9.7249, 26.688, 9.4737}, {10.999, 25.766, 15.789}, {5.7712, 25.405, 15.789}}], Polygon[{{9.7249, 26.688, 9.4737}, {15.264, 26.917, 9.4737}, {16.226, 26.127, 15.789}, {10.999, 25.766, 15.789}}], Polygon[{{15.264, 26.917, 9.4737}, {20.803, 27.146, 9.4737}, {21.453, 26.487, 15.789}, {16.226, 26.127, 15.789}}], Polygon[{{20.803, 27.146, 9.4737}, {26.342, 27.376, 9.4737}, {26.681, 26.848, 15.789}, {21.453, 26.487, 15.789}}], Polygon[{{26.342, 27.376, 9.4737}, {31.881, 27.605, 9.4737}, {31.908, 27.209, 15.789}, {26.681, 26.848, 15.789}}], Polygon[{{-15.138, 23.962, 15.789}, {-9.9108, 24.323, 15.789}, {-7.312, 22.907, 22.105}, {-12.225, 22.432, 22.105}}], Polygon[{{-9.9108, 24.323, 15.789}, {-4.6835, 24.684, 15.789}, {-2.3992, 23.383, 22.105}, {-7.312, 22.907, 22.105}}], Polygon[{{-4.6835, 24.684, 15.789}, {0.54384, 25.045, 15.789}, {2.5135, 23.858, 22.105}, {-2.3992, 23.383, 22.105}}], Polygon[{{0.54384, 25.045, 15.789}, {5.7712, 25.405, 15.789}, {7.4262, 24.333, 22.105}, {2.5135, 23.858, 22.105}}], Polygon[{{5.7712, 25.405, 15.789}, {10.999, 25.766, 15.789}, {12.339, 24.809, 22.105}, {7.4262, 24.333, 22.105}}], Polygon[{{10.999, 25.766, 15.789}, {16.226, 26.127, 15.789}, {17.252, 25.284, 22.105}, {12.339, 24.809, 22.105}}], Polygon[{{16.226, 26.127, 15.789}, {21.453, 26.487, 15.789}, {22.164, 25.759, 22.105}, {17.252, 25.284, 22.105}}], Polygon[{{21.453, 26.487, 15.789}, {26.681, 26.848, 15.789}, {27.077, 26.235, 22.105}, {22.164, 25.759, 22.105}}], Polygon[{{26.681, 26.848, 15.789}, {31.908, 27.209, 15.789}, {31.99, 26.71, 22.105}, {27.077, 26.235, 22.105}}], Polygon[{{-12.225, 22.432, 22.105}, {-7.312, 22.907, 22.105}, {-4.6366, 21.528, 28.421}, {-9.2326, 20.955, 28.421}}], Polygon[{{-7.312, 22.907, 22.105}, {-2.3992, 23.383, 22.105}, {-0.040615, 22.1, 28.421}, {-4.6366, 21.528, 28.421}}], Polygon[{{-2.3992, 23.383, 22.105}, {2.5135, 23.858, 22.105}, {4.5554, 22.673, 28.421}, {-0.040615, 22.1, 28.421}}], Polygon[{{2.5135, 23.858, 22.105}, {7.4262, 24.333, 22.105}, {9.1514, 23.246, 28.421}, {4.5554, 22.673, 28.421}}], Polygon[{{7.4262, 24.333, 22.105}, {12.339, 24.809, 22.105}, {13.747, 23.819, 28.421}, {9.1514, 23.246, 28.421}}], Polygon[{{12.339, 24.809, 22.105}, {17.252, 25.284, 22.105}, {18.343, 24.392, 28.421}, {13.747, 23.819, 28.421}}], Polygon[{{17.252, 25.284, 22.105}, {22.164, 25.759, 22.105}, {22.939, 24.965, 28.421}, {18.343, 24.392, 28.421}}], Polygon[{{22.164, 25.759, 22.105}, {27.077, 26.235, 22.105}, {27.535, 25.538, 28.421}, {22.939, 24.965, 28.421}}], Polygon[{{27.077, 26.235, 22.105}, {31.99, 26.71, 22.105}, {32.131, 26.111, 28.421}, {27.535, 25.538, 28.421}}], Polygon[{{-9.2326, 20.955, 28.421}, {-4.6366, 21.528, 28.421}, {-1.8866, 20.187, 34.737}, {-6.1645, 19.533, 34.737}}], Polygon[{{-4.6366, 21.528, 28.421}, {-0.040615, 22.1, 28.421}, {2.3913, 20.84, 34.737}, {-1.8866, 20.187, 34.737}}], Polygon[{{-0.040615, 22.1, 28.421}, {4.5554, 22.673, 28.421}, {6.6691, 21.494, 34.737}, {2.3913, 20.84, 34.737}}], Polygon[{{4.5554, 22.673, 28.421}, {9.1514, 23.246, 28.421}, {10.947, 22.147, 34.737}, {6.6691, 21.494, 34.737}}], Polygon[{{9.1514, 23.246, 28.421}, {13.747, 23.819, 28.421}, {15.225, 22.8, 34.737}, {10.947, 22.147, 34.737}}], Polygon[{{13.747, 23.819, 28.421}, {18.343, 24.392, 28.421}, {19.503, 23.454, 34.737}, {15.225, 22.8, 34.737}}], Polygon[{{18.343, 24.392, 28.421}, {22.939, 24.965, 28.421}, {23.781, 24.107, 34.737}, {19.503, 23.454, 34.737}}], Polygon[{{22.939, 24.965, 28.421}, {27.535, 25.538, 28.421}, {28.059, 24.761, 34.737}, {23.781, 24.107, 34.737}}], Polygon[{{27.535, 25.538, 28.421}, {32.131, 26.111, 28.421}, {32.336, 25.414, 34.737}, {28.059, 24.761, 34.737}}], Polygon[{{-6.1645, 19.533, 34.737}, {-1.8866, 20.187, 34.737}, {0.93622, 18.888, 41.053}, {-3.0228, 18.171, 41.053}}], Polygon[{{-1.8866, 20.187, 34.737}, {2.3913, 20.84, 34.737}, {4.8952, 19.605, 41.053}, {0.93622, 18.888, 41.053}}], Polygon[{{2.3913, 20.84, 34.737}, {6.6691, 21.494, 34.737}, {8.8543, 20.322, 41.053}, {4.8952, 19.605, 41.053}}], Polygon[{{6.6691, 21.494, 34.737}, {10.947, 22.147, 34.737}, {12.813, 21.038, 41.053}, {8.8543, 20.322, 41.053}}], Polygon[{{10.947, 22.147, 34.737}, {15.225, 22.8, 34.737}, {16.772, 21.755, 41.053}, {12.813, 21.038, 41.053}}], Polygon[{{15.225, 22.8, 34.737}, {19.503, 23.454, 34.737}, {20.731, 22.472, 41.053}, {16.772, 21.755, 41.053}}], Polygon[{{19.503, 23.454, 34.737}, {23.781, 24.107, 34.737}, {24.69, 23.189, 41.053}, {20.731, 22.472, 41.053}}], Polygon[{{23.781, 24.107, 34.737}, {28.059, 24.761, 34.737}, {28.649, 23.906, 41.053}, {24.69, 23.189, 41.053}}], Polygon[{{28.059, 24.761, 34.737}, {32.336, 25.414, 34.737}, {32.608, 24.623, 41.053}, {28.649, 23.906, 41.053}}], Polygon[{{-3.0228, 18.171, 41.053}, {0.93622, 18.888, 41.053}, {3.8299, 17.634, 47.368}, {0.18974, 16.87, 47.368}}], Polygon[{{0.93622, 18.888, 41.053}, {4.8952, 19.605, 41.053}, {7.47, 18.397, 47.368}, {3.8299, 17.634, 47.368}}], Polygon[{{4.8952, 19.605, 41.053}, {8.8543, 20.322, 41.053}, {11.11, 19.16, 47.368}, {7.47, 18.397, 47.368}}], Polygon[{{8.8543, 20.322, 41.053}, {12.813, 21.038, 41.053}, {14.75, 19.923, 47.368}, {11.11, 19.16, 47.368}}], Polygon[{{12.813, 21.038, 41.053}, {16.772, 21.755, 41.053}, {18.39, 20.687, 47.368}, {14.75, 19.923, 47.368}}], Polygon[{{16.772, 21.755, 41.053}, {20.731, 22.472, 41.053}, {22.031, 21.45, 47.368}, {18.39, 20.687, 47.368}}], Polygon[{{20.731, 22.472, 41.053}, {24.69, 23.189, 41.053}, {25.671, 22.213, 47.368}, {22.031, 21.45, 47.368}}], Polygon[{{24.69, 23.189, 41.053}, {28.649, 23.906, 41.053}, {29.311, 22.976, 47.368}, {25.671, 22.213, 47.368}}], Polygon[{{28.649, 23.906, 41.053}, {32.608, 24.623, 41.053}, {32.951, 23.74, 47.368}, {29.311, 22.976, 47.368}}], Polygon[{{0.18974, 16.87, 47.368}, {3.8299, 17.634, 47.368}, {6.7923, 16.427, 53.684}, {3.4703, 15.634, 53.684}}], Polygon[{{3.8299, 17.634, 47.368}, {7.47, 18.397, 47.368}, {10.114, 17.219, 53.684}, {6.7923, 16.427, 53.684}}], Polygon[{{7.47, 18.397, 47.368}, {11.11, 19.16, 47.368}, {13.436, 18.012, 53.684}, {10.114, 17.219, 53.684}}], Polygon[{{11.11, 19.16, 47.368}, {14.75, 19.923, 47.368}, {16.758, 18.805, 53.684}, {13.436, 18.012, 53.684}}], Polygon[{{14.75, 19.923, 47.368}, {18.39, 20.687, 47.368}, {20.08, 19.598, 53.684}, {16.758, 18.805, 53.684}}], Polygon[{{18.39, 20.687, 47.368}, {22.031, 21.45, 47.368}, {23.402, 20.39, 53.684}, {20.08, 19.598, 53.684}}], Polygon[{{22.031, 21.45, 47.368}, {25.671, 22.213, 47.368}, {26.724, 21.183, 53.684}, {23.402, 20.39, 53.684}}], Polygon[{{25.671, 22.213, 47.368}, {29.311, 22.976, 47.368}, {30.046, 21.976, 53.684}, {26.724, 21.183, 53.684}}], Polygon[{{29.311, 22.976, 47.368}, {32.951, 23.74, 47.368}, {33.368, 22.768, 53.684}, {30.046, 21.976, 53.684}}], Polygon[{{3.4703, 15.634, 53.684}, {6.7923, 16.427, 53.684}, {9.8212, 15.27, 60.}, {6.8161, 14.465, 60.}}], Polygon[{{6.7923, 16.427, 53.684}, {10.114, 17.219, 53.684}, {12.826, 16.075, 60.}, {9.8212, 15.27, 60.}}], Polygon[{{10.114, 17.219, 53.684}, {13.436, 18.012, 53.684}, {15.831, 16.881, 60.}, {12.826, 16.075, 60.}}], Polygon[{{13.436, 18.012, 53.684}, {16.758, 18.805, 53.684}, {18.837, 17.686, 60.}, {15.831, 16.881, 60.}}], Polygon[{{16.758, 18.805, 53.684}, {20.08, 19.598, 53.684}, {21.842, 18.491, 60.}, {18.837, 17.686, 60.}}], Polygon[{{20.08, 19.598, 53.684}, {23.402, 20.39, 53.684}, {24.847, 19.296, 60.}, {21.842, 18.491, 60.}}], Polygon[{{23.402, 20.39, 53.684}, {26.724, 21.183, 53.684}, {27.852, 20.101, 60.}, {24.847, 19.296, 60.}}], Polygon[{{26.724, 21.183, 53.684}, {30.046, 21.976, 53.684}, {30.857, 20.907, 60.}, {27.852, 20.101, 60.}}], Polygon[{{30.046, 21.976, 53.684}, {33.368, 22.768, 53.684}, {33.862, 21.712, 60.}, {30.857, 20.907, 60.}}]}, {Polygon[{{-9.9429, -46.479, -60.}, {-16.382, -44.754, -60.}, {-13.2, -43.022, -53.684}, {-6.9431, -44.515, -53.684}}], Polygon[{{-16.382, -44.754, -60.}, {-22.822, -43.029, -60.}, {-19.457, -41.529, -53.684}, {-13.2, -43.022, -53.684}}], Polygon[{{-22.822, -43.029, -60.}, {-29.261, -41.303, -60.}, {-25.714, -40.036, -53.684}, {-19.457, -41.529, -53.684}}], Polygon[{{-29.261, -41.303, -60.}, {-35.701, -39.578, -60.}, {-31.971, -38.543, -53.684}, {-25.714, -40.036, -53.684}}], Polygon[{{-35.701, -39.578, -60.}, {-42.14, -37.852, -60.}, {-38.228, -37.05, -53.684}, {-31.971, -38.543, -53.684}}], Polygon[{{-42.14, -37.852, -60.}, {-48.58, -36.127, -60.}, {-44.486, -35.557, -53.684}, {-38.228, -37.05, -53.684}}], Polygon[{{-48.58, -36.127, -60.}, {-55.019, -34.401, -60.}, {-50.743, -34.064, -53.684}, {-44.486, -35.557, -53.684}}], Polygon[{{-55.019, -34.401, -60.}, {-61.459, -32.676, -60.}, {-57., -32.571, -53.684}, {-50.743, -34.064, -53.684}}], Polygon[{{-61.459, -32.676, -60.}, {-67.898, -30.95, -60.}, {-63.257, -31.078, -53.684}, {-57., -32.571, -53.684}}], Polygon[{{-6.9431, -44.515, -53.684}, {-13.2, -43.022, -53.684}, {-10.098, -41.275, -47.368}, {-4.0312, -42.547, -47.368}}], Polygon[{{-13.2, -43.022, -53.684}, {-19.457, -41.529, -53.684}, {-16.165, -40.003, -47.368}, {-10.098, -41.275, -47.368}}], Polygon[{{-19.457, -41.529, -53.684}, {-25.714, -40.036, -53.684}, {-22.232, -38.731, -47.368}, {-16.165, -40.003, -47.368}}], Polygon[{{-25.714, -40.036, -53.684}, {-31.971, -38.543, -53.684}, {-28.299, -37.459, -47.368}, {-22.232, -38.731, -47.368}}], Polygon[{{-31.971, -38.543, -53.684}, {-38.228, -37.05, -53.684}, {-34.366, -36.187, -47.368}, {-28.299, -37.459, -47.368}}], Polygon[{{-38.228, -37.05, -53.684}, {-44.486, -35.557, -53.684}, {-40.433, -34.915, -47.368}, {-34.366, -36.187, -47.368}}], Polygon[{{-44.486, -35.557, -53.684}, {-50.743, -34.064, -53.684}, {-46.5, -33.643, -47.368}, {-40.433, -34.915, -47.368}}], Polygon[{{-50.743, -34.064, -53.684}, {-57., -32.571, -53.684}, {-52.566, -32.37, -47.368}, {-46.5, -33.643, -47.368}}], Polygon[{{-57., -32.571, -53.684}, {-63.257, -31.078, -53.684}, {-58.633, -31.098, -47.368}, {-52.566, -32.37, -47.368}}], Polygon[{{-4.0312, -42.547, -47.368}, {-10.098, -41.275, -47.368}, {-7.0763, -39.516, -41.053}, {-1.2068, -40.578, -41.053}}], Polygon[{{-10.098, -41.275, -47.368}, {-16.165, -40.003, -47.368}, {-12.946, -38.453, -41.053}, {-7.0763, -39.516, -41.053}}], Polygon[{{-16.165, -40.003, -47.368}, {-22.232, -38.731, -47.368}, {-18.815, -37.39, -41.053}, {-12.946, -38.453, -41.053}}], Polygon[{{-22.232, -38.731, -47.368}, {-28.299, -37.459, -47.368}, {-24.685, -36.327, -41.053}, {-18.815, -37.39, -41.053}}], Polygon[{{-28.299, -37.459, -47.368}, {-34.366, -36.187, -47.368}, {-30.554, -35.264, -41.053}, {-24.685, -36.327, -41.053}}], Polygon[{{-34.366, -36.187, -47.368}, {-40.433, -34.915, -47.368}, {-36.424, -34.202, -41.053}, {-30.554, -35.264, -41.053}}], Polygon[{{-40.433, -34.915, -47.368}, {-46.5, -33.643, -47.368}, {-42.293, -33.139, -41.053}, {-36.424, -34.202, -41.053}}], Polygon[{{-46.5, -33.643, -47.368}, {-52.566, -32.37, -47.368}, {-48.163, -32.076, -41.053}, {-42.293, -33.139, -41.053}}], Polygon[{{-52.566, -32.37, -47.368}, {-58.633, -31.098, -47.368}, {-54.032, -31.013, -41.053}, {-48.163, -32.076, -41.053}}], Polygon[{{-1.2068, -40.578, -41.053}, {-7.0763, -39.516, -41.053}, {-4.1347, -37.747, -34.737}, {1.5306, -38.612, -34.737}}], Polygon[{{-7.0763, -39.516, -41.053}, {-12.946, -38.453, -41.053}, {-9.8, -36.882, -34.737}, {-4.1347, -37.747, -34.737}}], Polygon[{{-12.946, -38.453, -41.053}, {-18.815, -37.39, -41.053}, {-15.465, -36.016, -34.737}, {-9.8, -36.882, -34.737}}], Polygon[{{-18.815, -37.39, -41.053}, {-24.685, -36.327, -41.053}, {-21.131, -35.151, -34.737}, {-15.465, -36.016, -34.737}}], Polygon[{{-24.685, -36.327, -41.053}, {-30.554, -35.264, -41.053}, {-26.796, -34.286, -34.737}, {-21.131, -35.151, -34.737}}], Polygon[{{-30.554, -35.264, -41.053}, {-36.424, -34.202, -41.053}, {-32.461, -33.42, -34.737}, {-26.796, -34.286, -34.737}}], Polygon[{{-36.424, -34.202, -41.053}, {-42.293, -33.139, -41.053}, {-38.126, -32.555, -34.737}, {-32.461, -33.42, -34.737}}], Polygon[{{-42.293, -33.139, -41.053}, {-48.163, -32.076, -41.053}, {-43.792, -31.69, -34.737}, {-38.126, -32.555, -34.737}}], Polygon[{{-48.163, -32.076, -41.053}, {-54.032, -31.013, -41.053}, {-49.457, -30.824, -34.737}, {-43.792, -31.69, -34.737}}], Polygon[{{1.5306, -38.612, -34.737}, {-4.1347, -37.747, -34.737}, {-1.2734, -35.972, -28.421}, {4.1815, -36.652, -28.421}}], Polygon[{{-4.1347, -37.747, -34.737}, {-9.8, -36.882, -34.737}, {-6.7282, -35.292, -28.421}, {-1.2734, -35.972, -28.421}}], Polygon[{{-9.8, -36.882, -34.737}, {-15.465, -36.016, -34.737}, {-12.183, -34.612, -28.421}, {-6.7282, -35.292, -28.421}}], Polygon[{{-15.465, -36.016, -34.737}, {-21.131, -35.151, -34.737}, {-17.638, -33.932, -28.421}, {-12.183, -34.612, -28.421}}], Polygon[{{-21.131, -35.151, -34.737}, {-26.796, -34.286, -34.737}, {-23.093, -33.252, -28.421}, {-17.638, -33.932, -28.421}}], Polygon[{{-26.796, -34.286, -34.737}, {-32.461, -33.42, -34.737}, {-28.548, -32.573, -28.421}, {-23.093, -33.252, -28.421}}], Polygon[{{-32.461, -33.42, -34.737}, {-38.126, -32.555, -34.737}, {-34.003, -31.893, -28.421}, {-28.548, -32.573, -28.421}}], Polygon[{{-38.126, -32.555, -34.737}, {-43.792, -31.69, -34.737}, {-39.457, -31.213, -28.421}, {-34.003, -31.893, -28.421}}], Polygon[{{-43.792, -31.69, -34.737}, {-49.457, -30.824, -34.737}, {-44.912, -30.533, -28.421}, {-39.457, -31.213, -28.421}}], Polygon[{{4.1815, -36.652, -28.421}, {-1.2734, -35.972, -28.421}, {1.508, -34.195, -22.105}, {6.7467, -34.702, -22.105}}], Polygon[{{-1.2734, -35.972, -28.421}, {-6.7282, -35.292, -28.421}, {-3.7307, -33.688, -22.105}, {1.508, -34.195, -22.105}}], Polygon[{{-6.7282, -35.292, -28.421}, {-12.183, -34.612, -28.421}, {-8.9694, -33.181, -22.105}, {-3.7307, -33.688, -22.105}}], Polygon[{{-12.183, -34.612, -28.421}, {-17.638, -33.932, -28.421}, {-14.208, -32.674, -22.105}, {-8.9694, -33.181, -22.105}}], Polygon[{{-17.638, -33.932, -28.421}, {-23.093, -33.252, -28.421}, {-19.447, -32.168, -22.105}, {-14.208, -32.674, -22.105}}], Polygon[{{-23.093, -33.252, -28.421}, {-28.548, -32.573, -28.421}, {-24.685, -31.661, -22.105}, {-19.447, -32.168, -22.105}}], Polygon[{{-28.548, -32.573, -28.421}, {-34.003, -31.893, -28.421}, {-29.924, -31.154, -22.105}, {-24.685, -31.661, -22.105}}], Polygon[{{-34.003, -31.893, -28.421}, {-39.457, -31.213, -28.421}, {-35.163, -30.647, -22.105}, {-29.924, -31.154, -22.105}}], Polygon[{{-39.457, -31.213, -28.421}, {-44.912, -30.533, -28.421}, {-40.402, -30.14, -22.105}, {-35.163, -30.647, -22.105}}], Polygon[{{6.7467, -34.702, -22.105}, {1.508, -34.195, -22.105}, {4.2097, -32.418, -15.789}, {9.227, -32.765, -15.789}}], Polygon[{{1.508, -34.195, -22.105}, {-3.7307, -33.688, -22.105}, {-0.80761, -32.072, -15.789}, {4.2097, -32.418, -15.789}}], Polygon[{{-3.7307, -33.688, -22.105}, {-8.9694, -33.181, -22.105}, {-5.8249, -31.726, -15.789}, {-0.80761, -32.072, -15.789}}], Polygon[{{-8.9694, -33.181, -22.105}, {-14.208, -32.674, -22.105}, {-10.842, -31.38, -15.789}, {-5.8249, -31.726, -15.789}}], Polygon[{{-14.208, -32.674, -22.105}, {-19.447, -32.168, -22.105}, {-15.86, -31.034, -15.789}, {-10.842, -31.38, -15.789}}], Polygon[{{-19.447, -32.168, -22.105}, {-24.685, -31.661, -22.105}, {-20.877, -30.687, -15.789}, {-15.86, -31.034, -15.789}}], Polygon[{{-24.685, -31.661, -22.105}, {-29.924, -31.154, -22.105}, {-25.894, -30.341, -15.789}, {-20.877, -30.687, -15.789}}], Polygon[{{-29.924, -31.154, -22.105}, {-35.163, -30.647, -22.105}, {-30.911, -29.995, -15.789}, {-25.894, -30.341, -15.789}}], Polygon[{{-35.163, -30.647, -22.105}, {-40.402, -30.14, -22.105}, {-35.929, -29.649, -15.789}, {-30.911, -29.995, -15.789}}], Polygon[{{9.227, -32.765, -15.789}, {4.2097, -32.418, -15.789}, {6.8321, -30.645, -9.4737}, {11.623, -30.844, -9.4737}}], Polygon[{{4.2097, -32.418, -15.789}, {-0.80761, -32.072, -15.789}, {2.0409, -30.447, -9.4737}, {6.8321, -30.645, -9.4737}}], Polygon[{{-0.80761, -32.072, -15.789}, {-5.8249, -31.726, -15.789}, {-2.7503, -30.249, -9.4737}, {2.0409, -30.447, -9.4737}}], Polygon[{{-5.8249, -31.726, -15.789}, {-10.842, -31.38, -15.789}, {-7.5416, -30.051, -9.4737}, {-2.7503, -30.249, -9.4737}}], Polygon[{{-10.842, -31.38, -15.789}, {-15.86, -31.034, -15.789}, {-12.333, -29.853, -9.4737}, {-7.5416, -30.051, -9.4737}}], Polygon[{{-15.86, -31.034, -15.789}, {-20.877, -30.687, -15.789}, {-17.124, -29.655, -9.4737}, {-12.333, -29.853, -9.4737}}], Polygon[{{-20.877, -30.687, -15.789}, {-25.894, -30.341, -15.789}, {-21.915, -29.456, -9.4737}, {-17.124, -29.655, -9.4737}}], Polygon[{{-25.894, -30.341, -15.789}, {-30.911, -29.995, -15.789}, {-26.706, -29.258, -9.4737}, {-21.915, -29.456, -9.4737}}], Polygon[{{-30.911, -29.995, -15.789}, {-35.929, -29.649, -15.789}, {-31.498, -29.06, -9.4737}, {-26.706, -29.258, -9.4737}}], Polygon[{{11.623, -30.844, -9.4737}, {6.8321, -30.645, -9.4737}, {9.3759, -28.879, -3.1579}, {13.937, -28.942, -3.1579}}], Polygon[{{6.8321, -30.645, -9.4737}, {2.0409, -30.447, -9.4737}, {4.8149, -28.817, -3.1579}, {9.3759, -28.879, -3.1579}}], Polygon[{{2.0409, -30.447, -9.4737}, {-2.7503, -30.249, -9.4737}, {0.25391, -28.754, -3.1579}, {4.8149, -28.817, -3.1579}}], Polygon[{{-2.7503, -30.249, -9.4737}, {-7.5416, -30.051, -9.4737}, {-4.3071, -28.691, -3.1579}, {0.25391, -28.754, -3.1579}}], Polygon[{{-7.5416, -30.051, -9.4737}, {-12.333, -29.853, -9.4737}, {-8.868, -28.628, -3.1579}, {-4.3071, -28.691, -3.1579}}], Polygon[{{-12.333, -29.853, -9.4737}, {-17.124, -29.655, -9.4737}, {-13.429, -28.565, -3.1579}, {-8.868, -28.628, -3.1579}}], Polygon[{{-17.124, -29.655, -9.4737}, {-21.915, -29.456, -9.4737}, {-17.99, -28.502, -3.1579}, {-13.429, -28.565, -3.1579}}], Polygon[{{-21.915, -29.456, -9.4737}, {-26.706, -29.258, -9.4737}, {-22.551, -28.44, -3.1579}, {-17.99, -28.502, -3.1579}}], Polygon[{{-26.706, -29.258, -9.4737}, {-31.498, -29.06, -9.4737}, {-27.112, -28.377, -3.1579}, {-22.551, -28.44, -3.1579}}], Polygon[{{13.937, -28.942, -3.1579}, {9.3759, -28.879, -3.1579}, {11.842, -27.123, 3.1579}, {16.169, -27.064, 3.1579}}], Polygon[{{9.3759, -28.879, -3.1579}, {4.8149, -28.817, -3.1579}, {7.5145, -27.183, 3.1579}, {11.842, -27.123, 3.1579}}], Polygon[{{4.8149, -28.817, -3.1579}, {0.25391, -28.754, -3.1579}, {3.1874, -27.243, 3.1579}, {7.5145, -27.183, 3.1579}}], Polygon[{{0.25391, -28.754, -3.1579}, {-4.3071, -28.691, -3.1579}, {-1.1397, -27.302, 3.1579}, {3.1874, -27.243, 3.1579}}], Polygon[{{-4.3071, -28.691, -3.1579}, {-8.868, -28.628, -3.1579}, {-5.4668, -27.362, 3.1579}, {-1.1397, -27.302, 3.1579}}], Polygon[{{-8.868, -28.628, -3.1579}, {-13.429, -28.565, -3.1579}, {-9.7938, -27.422, 3.1579}, {-5.4668, -27.362, 3.1579}}], Polygon[{{-13.429, -28.565, -3.1579}, {-17.99, -28.502, -3.1579}, {-14.121, -27.481, 3.1579}, {-9.7938, -27.422, 3.1579}}], Polygon[{{-17.99, -28.502, -3.1579}, {-22.551, -28.44, -3.1579}, {-18.448, -27.541, 3.1579}, {-14.121, -27.481, 3.1579}}], Polygon[{{-22.551, -28.44, -3.1579}, {-27.112, -28.377, -3.1579}, {-22.775, -27.6, 3.1579}, {-18.448, -27.541, 3.1579}}], Polygon[{{16.169, -27.064, 3.1579}, {11.842, -27.123, 3.1579}, {14.23, -25.381, 9.4737}, {18.32, -25.211, 9.4737}}], Polygon[{{11.842, -27.123, 3.1579}, {7.5145, -27.183, 3.1579}, {10.14, -25.55, 9.4737}, {14.23, -25.381, 9.4737}}], Polygon[{{7.5145, -27.183, 3.1579}, {3.1874, -27.243, 3.1579}, {6.0498, -25.719, 9.4737}, {10.14, -25.55, 9.4737}}], Polygon[{{3.1874, -27.243, 3.1579}, {-1.1397, -27.302, 3.1579}, {1.9597, -25.888, 9.4737}, {6.0498, -25.719, 9.4737}}], Polygon[{{-1.1397, -27.302, 3.1579}, {-5.4668, -27.362, 3.1579}, {-2.1303, -26.057, 9.4737}, {1.9597, -25.888, 9.4737}}], Polygon[{{-5.4668, -27.362, 3.1579}, {-9.7938, -27.422, 3.1579}, {-6.2204, -26.226, 9.4737}, {-2.1303, -26.057, 9.4737}}], Polygon[{{-9.7938, -27.422, 3.1579}, {-14.121, -27.481, 3.1579}, {-10.31, -26.396, 9.4737}, {-6.2204, -26.226, 9.4737}}], Polygon[{{-14.121, -27.481, 3.1579}, {-18.448, -27.541, 3.1579}, {-14.401, -26.565, 9.4737}, {-10.31, -26.396, 9.4737}}], Polygon[{{-18.448, -27.541, 3.1579}, {-22.775, -27.6, 3.1579}, {-18.491, -26.734, 9.4737}, {-14.401, -26.565, 9.4737}}], Polygon[{{18.32, -25.211, 9.4737}, {14.23, -25.381, 9.4737}, {16.542, -23.654, 15.789}, {20.392, -23.388, 15.789}}], Polygon[{{14.23, -25.381, 9.4737}, {10.14, -25.55, 9.4737}, {12.691, -23.92, 15.789}, {16.542, -23.654, 15.789}}], Polygon[{{10.14, -25.55, 9.4737}, {6.0498, -25.719, 9.4737}, {8.841, -24.185, 15.789}, {12.691, -23.92, 15.789}}], Polygon[{{6.0498, -25.719, 9.4737}, {1.9597, -25.888, 9.4737}, {4.9905, -24.451, 15.789}, {8.841, -24.185, 15.789}}], Polygon[{{1.9597, -25.888, 9.4737}, {-2.1303, -26.057, 9.4737}, {1.14, -24.717, 15.789}, {4.9905, -24.451, 15.789}}], Polygon[{{-2.1303, -26.057, 9.4737}, {-6.2204, -26.226, 9.4737}, {-2.7105, -24.982, 15.789}, {1.14, -24.717, 15.789}}], Polygon[{{-6.2204, -26.226, 9.4737}, {-10.31, -26.396, 9.4737}, {-6.561, -25.248, 15.789}, {-2.7105, -24.982, 15.789}}], Polygon[{{-10.31, -26.396, 9.4737}, {-14.401, -26.565, 9.4737}, {-10.412, -25.514, 15.789}, {-6.561, -25.248, 15.789}}], Polygon[{{-14.401, -26.565, 9.4737}, {-18.491, -26.734, 9.4737}, {-14.262, -25.779, 15.789}, {-10.412, -25.514, 15.789}}], Polygon[{{20.392, -23.388, 15.789}, {16.542, -23.654, 15.789}, {18.779, -21.946, 22.105}, {22.387, -21.597, 22.105}}], Polygon[{{16.542, -23.654, 15.789}, {12.691, -23.92, 15.789}, {15.17, -22.296, 22.105}, {18.779, -21.946, 22.105}}], Polygon[{{12.691, -23.92, 15.789}, {8.841, -24.185, 15.789}, {11.561, -22.645, 22.105}, {15.17, -22.296, 22.105}}], Polygon[{{8.841, -24.185, 15.789}, {4.9905, -24.451, 15.789}, {7.9519, -22.994, 22.105}, {11.561, -22.645, 22.105}}], Polygon[{{4.9905, -24.451, 15.789}, {1.14, -24.717, 15.789}, {4.343, -23.343, 22.105}, {7.9519, -22.994, 22.105}}], Polygon[{{1.14, -24.717, 15.789}, {-2.7105, -24.982, 15.789}, {0.73416, -23.692, 22.105}, {4.343, -23.343, 22.105}}], Polygon[{{-2.7105, -24.982, 15.789}, {-6.561, -25.248, 15.789}, {-2.8747, -24.041, 22.105}, {0.73416, -23.692, 22.105}}], Polygon[{{-6.561, -25.248, 15.789}, {-10.412, -25.514, 15.789}, {-6.4836, -24.391, 22.105}, {-2.8747, -24.041, 22.105}}], Polygon[{{-10.412, -25.514, 15.789}, {-14.262, -25.779, 15.789}, {-10.092, -24.74, 22.105}, {-6.4836, -24.391, 22.105}}], Polygon[{{22.387, -21.597, 22.105}, {18.779, -21.946, 22.105}, {20.941, -20.261, 28.421}, {24.307, -19.842, 28.421}}], Polygon[{{18.779, -21.946, 22.105}, {15.17, -22.296, 22.105}, {17.575, -20.681, 28.421}, {20.941, -20.261, 28.421}}], Polygon[{{15.17, -22.296, 22.105}, {11.561, -22.645, 22.105}, {14.209, -21.1, 28.421}, {17.575, -20.681, 28.421}}], Polygon[{{11.561, -22.645, 22.105}, {7.9519, -22.994, 22.105}, {10.844, -21.52, 28.421}, {14.209, -21.1, 28.421}}], Polygon[{{7.9519, -22.994, 22.105}, {4.343, -23.343, 22.105}, {7.4778, -21.939, 28.421}, {10.844, -21.52, 28.421}}], Polygon[{{4.343, -23.343, 22.105}, {0.73416, -23.692, 22.105}, {4.112, -22.359, 28.421}, {7.4778, -21.939, 28.421}}], Polygon[{{0.73416, -23.692, 22.105}, {-2.8747, -24.041, 22.105}, {0.74628, -22.778, 28.421}, {4.112, -22.359, 28.421}}], Polygon[{{-2.8747, -24.041, 22.105}, {-6.4836, -24.391, 22.105}, {-2.6195, -23.198, 28.421}, {0.74628, -22.778, 28.421}}], Polygon[{{-6.4836, -24.391, 22.105}, {-10.092, -24.74, 22.105}, {-5.9853, -23.617, 28.421}, {-2.6195, -23.198, 28.421}}], Polygon[{{24.307, -19.842, 28.421}, {20.941, -20.261, 28.421}, {23.03, -18.601, 34.737}, {26.152, -18.124, 34.737}}], Polygon[{{20.941, -20.261, 28.421}, {17.575, -20.681, 28.421}, {19.908, -19.078, 34.737}, {23.03, -18.601, 34.737}}], Polygon[{{17.575, -20.681, 28.421}, {14.209, -21.1, 28.421}, {16.787, -19.555, 34.737}, {19.908, -19.078, 34.737}}], Polygon[{{14.209, -21.1, 28.421}, {10.844, -21.52, 28.421}, {13.665, -20.031, 34.737}, {16.787, -19.555, 34.737}}], Polygon[{{10.844, -21.52, 28.421}, {7.4778, -21.939, 28.421}, {10.543, -20.508, 34.737}, {13.665, -20.031, 34.737}}], Polygon[{{7.4778, -21.939, 28.421}, {4.112, -22.359, 28.421}, {7.4216, -20.985, 34.737}, {10.543, -20.508, 34.737}}], Polygon[{{4.112, -22.359, 28.421}, {0.74628, -22.778, 28.421}, {4.3, -21.462, 34.737}, {7.4216, -20.985, 34.737}}], Polygon[{{0.74628, -22.778, 28.421}, {-2.6195, -23.198, 28.421}, {1.1783, -21.939, 34.737}, {4.3, -21.462, 34.737}}], Polygon[{{-2.6195, -23.198, 28.421}, {-5.9853, -23.617, 28.421}, {-1.9434, -22.415, 34.737}, {1.1783, -21.939, 34.737}}], Polygon[{{26.152, -18.124, 34.737}, {23.03, -18.601, 34.737}, {25.048, -16.969, 41.053}, {27.925, -16.448, 41.053}}], Polygon[{{23.03, -18.601, 34.737}, {19.908, -19.078, 34.737}, {22.17, -17.49, 41.053}, {25.048, -16.969, 41.053}}], Polygon[{{19.908, -19.078, 34.737}, {16.787, -19.555, 34.737}, {19.293, -18.011, 41.053}, {22.17, -17.49, 41.053}}], Polygon[{{16.787, -19.555, 34.737}, {13.665, -20.031, 34.737}, {16.416, -18.532, 41.053}, {19.293, -18.011, 41.053}}], Polygon[{{13.665, -20.031, 34.737}, {10.543, -20.508, 34.737}, {13.539, -19.053, 41.053}, {16.416, -18.532, 41.053}}], Polygon[{{10.543, -20.508, 34.737}, {7.4216, -20.985, 34.737}, {10.662, -19.574, 41.053}, {13.539, -19.053, 41.053}}], Polygon[{{7.4216, -20.985, 34.737}, {4.3, -21.462, 34.737}, {7.7844, -20.095, 41.053}, {10.662, -19.574, 41.053}}], Polygon[{{4.3, -21.462, 34.737}, {1.1783, -21.939, 34.737}, {4.9072, -20.616, 41.053}, {7.7844, -20.095, 41.053}}], Polygon[{{1.1783, -21.939, 34.737}, {-1.9434, -22.415, 34.737}, {2.03, -21.137, 41.053}, {4.9072, -20.616, 41.053}}], Polygon[{{27.925, -16.448, 41.053}, {25.048, -16.969, 41.053}, {26.995, -15.368, 47.368}, {29.627, -14.816, 47.368}}], Polygon[{{25.048, -16.969, 41.053}, {22.17, -17.49, 41.053}, {24.362, -15.92, 47.368}, {26.995, -15.368, 47.368}}], Polygon[{{22.17, -17.49, 41.053}, {19.293, -18.011, 41.053}, {21.729, -16.472, 47.368}, {24.362, -15.92, 47.368}}], Polygon[{{19.293, -18.011, 41.053}, {16.416, -18.532, 41.053}, {19.096, -17.024, 47.368}, {21.729, -16.472, 47.368}}], Polygon[{{16.416, -18.532, 41.053}, {13.539, -19.053, 41.053}, {16.463, -17.576, 47.368}, {19.096, -17.024, 47.368}}], Polygon[{{13.539, -19.053, 41.053}, {10.662, -19.574, 41.053}, {13.831, -18.128, 47.368}, {16.463, -17.576, 47.368}}], Polygon[{{10.662, -19.574, 41.053}, {7.7844, -20.095, 41.053}, {11.198, -18.68, 47.368}, {13.831, -18.128, 47.368}}], Polygon[{{7.7844, -20.095, 41.053}, {4.9072, -20.616, 41.053}, {8.565, -19.232, 47.368}, {11.198, -18.68, 47.368}}], Polygon[{{4.9072, -20.616, 41.053}, {2.03, -21.137, 41.053}, {5.9322, -19.784, 47.368}, {8.565, -19.232, 47.368}}], Polygon[{{29.627, -14.816, 47.368}, {26.995, -15.368, 47.368}, {28.873, -13.8, 53.684}, {31.262, -13.23, 53.684}}], Polygon[{{26.995, -15.368, 47.368}, {24.362, -15.92, 47.368}, {26.484, -14.37, 53.684}, {28.873, -13.8, 53.684}}], Polygon[{{24.362, -15.92, 47.368}, {21.729, -16.472, 47.368}, {24.095, -14.94, 53.684}, {26.484, -14.37, 53.684}}], Polygon[{{21.729, -16.472, 47.368}, {19.096, -17.024, 47.368}, {21.706, -15.51, 53.684}, {24.095, -14.94, 53.684}}], Polygon[{{19.096, -17.024, 47.368}, {16.463, -17.576, 47.368}, {19.317, -16.08, 53.684}, {21.706, -15.51, 53.684}}], Polygon[{{16.463, -17.576, 47.368}, {13.831, -18.128, 47.368}, {16.928, -16.65, 53.684}, {19.317, -16.08, 53.684}}], Polygon[{{13.831, -18.128, 47.368}, {11.198, -18.68, 47.368}, {14.538, -17.22, 53.684}, {16.928, -16.65, 53.684}}], Polygon[{{11.198, -18.68, 47.368}, {8.565, -19.232, 47.368}, {12.149, -17.791, 53.684}, {14.538, -17.22, 53.684}}], Polygon[{{8.565, -19.232, 47.368}, {5.9322, -19.784, 47.368}, {9.7603, -18.361, 53.684}, {12.149, -17.791, 53.684}}], Polygon[{{31.262, -13.23, 53.684}, {28.873, -13.8, 53.684}, {30.684, -12.269, 60.}, {32.83, -11.693, 60.}}], Polygon[{{28.873, -13.8, 53.684}, {26.484, -14.37, 53.684}, {28.537, -12.844, 60.}, {30.684, -12.269, 60.}}], Polygon[{{26.484, -14.37, 53.684}, {24.095, -14.94, 53.684}, {26.391, -13.419, 60.}, {28.537, -12.844, 60.}}], Polygon[{{24.095, -14.94, 53.684}, {21.706, -15.51, 53.684}, {24.244, -13.994, 60.}, {26.391, -13.419, 60.}}], Polygon[{{21.706, -15.51, 53.684}, {19.317, -16.08, 53.684}, {22.098, -14.569, 60.}, {24.244, -13.994, 60.}}], Polygon[{{19.317, -16.08, 53.684}, {16.928, -16.65, 53.684}, {19.951, -15.144, 60.}, {22.098, -14.569, 60.}}], Polygon[{{16.928, -16.65, 53.684}, {14.538, -17.22, 53.684}, {17.805, -15.72, 60.}, {19.951, -15.144, 60.}}], Polygon[{{14.538, -17.22, 53.684}, {12.149, -17.791, 53.684}, {15.658, -16.295, 60.}, {17.805, -15.72, 60.}}], Polygon[{{12.149, -17.791, 53.684}, {9.7603, -18.361, 53.684}, {13.512, -16.87, 60.}, {15.658, -16.295, 60.}}]}, {Polygon[{{-9.9429, -46.479, -60.}, {-5.055, -38.587, -60.}, {-11.733, -36.797, -60.}, {-16.382, -44.754, -60.}}], Polygon[{{-5.055, -38.587, -60.}, {-0.16723, -30.694, -60.}, {-7.0837, -28.841, -60.}, {-11.733, -36.797, -60.}}], Polygon[{{-0.16723, -30.694, -60.}, {4.7206, -22.801, -60.}, {-2.4344, -20.884, -60.}, {-7.0837, -28.841, -60.}}], Polygon[{{4.7206, -22.801, -60.}, {9.6084, -14.908, -60.}, {2.2149, -12.927, -60.}, {-2.4344, -20.884, -60.}}], Polygon[{{9.6084, -14.908, -60.}, {14.496, -7.0156, -60.}, {6.8642, -4.9706, -60.}, {2.2149, -12.927, -60.}}], Polygon[{{14.496, -7.0156, -60.}, {19.384, 0.87716, -60.}, {11.513, 2.9861, -60.}, {6.8642, -4.9706, -60.}}], Polygon[{{19.384, 0.87716, -60.}, {24.272, 8.7699, -60.}, {16.163, 10.943, -60.}, {11.513, 2.9861, -60.}}], Polygon[{{24.272, 8.7699, -60.}, {29.16, 16.663, -60.}, {20.812, 18.899, -60.}, {16.163, 10.943, -60.}}], Polygon[{{29.16, 16.663, -60.}, {34.047, 24.555, -60.}, {25.461, 26.856, -60.}, {20.812, 18.899, -60.}}], Polygon[{{-16.382, -44.754, -60.}, {-11.733, -36.797, -60.}, {-18.411, -35.008, -60.}, {-22.822, -43.029, -60.}}], Polygon[{{-11.733, -36.797, -60.}, {-7.0837, -28.841, -60.}, {-14., -26.987, -60.}, {-18.411, -35.008, -60.}}], Polygon[{{-7.0837, -28.841, -60.}, {-2.4344, -20.884, -60.}, {-9.5894, -18.967, -60.}, {-14., -26.987, -60.}}], Polygon[{{-2.4344, -20.884, -60.}, {2.2149, -12.927, -60.}, {-5.1786, -10.946, -60.}, {-9.5894, -18.967, -60.}}], Polygon[{{2.2149, -12.927, -60.}, {6.8642, -4.9706, -60.}, {-0.76782, -2.9256, -60.}, {-5.1786, -10.946, -60.}}], Polygon[{{6.8642, -4.9706, -60.}, {11.513, 2.9861, -60.}, {3.643, 5.095, -60.}, {-0.76782, -2.9256, -60.}}], Polygon[{{11.513, 2.9861, -60.}, {16.163, 10.943, -60.}, {8.0538, 13.116, -60.}, {3.643, 5.095, -60.}}], Polygon[{{16.163, 10.943, -60.}, {20.812, 18.899, -60.}, {12.465, 21.136, -60.}, {8.0538, 13.116, -60.}}], Polygon[{{20.812, 18.899, -60.}, {25.461, 26.856, -60.}, {16.875, 29.157, -60.}, {12.465, 21.136, -60.}}], Polygon[{{-22.822, -43.029, -60.}, {-18.411, -35.008, -60.}, {-25.089, -33.219, -60.}, {-29.261, -41.303, -60.}}], Polygon[{{-18.411, -35.008, -60.}, {-14., -26.987, -60.}, {-20.917, -25.134, -60.}, {-25.089, -33.219, -60.}}], Polygon[{{-14., -26.987, -60.}, {-9.5894, -18.967, -60.}, {-16.744, -17.05, -60.}, {-20.917, -25.134, -60.}}], Polygon[{{-9.5894, -18.967, -60.}, {-5.1786, -10.946, -60.}, {-12.572, -8.9651, -60.}, {-16.744, -17.05, -60.}}], Polygon[{{-5.1786, -10.946, -60.}, {-0.76782, -2.9256, -60.}, {-8.3998, -0.88064, -60.}, {-12.572, -8.9651, -60.}}], Polygon[{{-0.76782, -2.9256, -60.}, {3.643, 5.095, -60.}, {-4.2275, 7.2039, -60.}, {-8.3998, -0.88064, -60.}}], Polygon[{{3.643, 5.095, -60.}, {8.0538, 13.116, -60.}, {-0.055206, 15.288, -60.}, {-4.2275, 7.2039, -60.}}], Polygon[{{8.0538, 13.116, -60.}, {12.465, 21.136, -60.}, {4.1171, 23.373, -60.}, {-0.055206, 15.288, -60.}}], Polygon[{{12.465, 21.136, -60.}, {16.875, 29.157, -60.}, {8.2894, 31.457, -60.}, {4.1171, 23.373, -60.}}], Polygon[{{-29.261, -41.303, -60.}, {-25.089, -33.219, -60.}, {-31.767, -31.429, -60.}, {-35.701, -39.578, -60.}}], Polygon[{{-25.089, -33.219, -60.}, {-20.917, -25.134, -60.}, {-27.833, -23.281, -60.}, {-31.767, -31.429, -60.}}], Polygon[{{-20.917, -25.134, -60.}, {-16.744, -17.05, -60.}, {-23.899, -15.132, -60.}, {-27.833, -23.281, -60.}}], Polygon[{{-16.744, -17.05, -60.}, {-12.572, -8.9651, -60.}, {-19.966, -6.984, -60.}, {-23.899, -15.132, -60.}}], Polygon[{{-12.572, -8.9651, -60.}, {-8.3998, -0.88064, -60.}, {-16.032, 1.1644, -60.}, {-19.966, -6.984, -60.}}], Polygon[{{-8.3998, -0.88064, -60.}, {-4.2275, 7.2039, -60.}, {-12.098, 9.3127, -60.}, {-16.032, 1.1644, -60.}}], Polygon[{{-4.2275, 7.2039, -60.}, {-0.055206, 15.288, -60.}, {-8.1642, 17.461, -60.}, {-12.098, 9.3127, -60.}}], Polygon[{{-0.055206, 15.288, -60.}, {4.1171, 23.373, -60.}, {-4.2304, 25.61, -60.}, {-8.1642, 17.461, -60.}}], Polygon[{{4.1171, 23.373, -60.}, {8.2894, 31.457, -60.}, {-0.2966, 33.758, -60.}, {-4.2304, 25.61, -60.}}], Polygon[{{-35.701, -39.578, -60.}, {-31.767, -31.429, -60.}, {-38.445, -29.64, -60.}, {-42.14, -37.852, -60.}}], Polygon[{{-31.767, -31.429, -60.}, {-27.833, -23.281, -60.}, {-34.75, -21.428, -60.}, {-38.445, -29.64, -60.}}], Polygon[{{-27.833, -23.281, -60.}, {-23.899, -15.132, -60.}, {-31.054, -13.215, -60.}, {-34.75, -21.428, -60.}}], Polygon[{{-23.899, -15.132, -60.}, {-19.966, -6.984, -60.}, {-27.359, -5.003, -60.}, {-31.054, -13.215, -60.}}], Polygon[{{-19.966, -6.984, -60.}, {-16.032, 1.1644, -60.}, {-23.664, 3.2093, -60.}, {-27.359, -5.003, -60.}}], Polygon[{{-16.032, 1.1644, -60.}, {-12.098, 9.3127, -60.}, {-19.969, 11.422, -60.}, {-23.664, 3.2093, -60.}}], Polygon[{{-12.098, 9.3127, -60.}, {-8.1642, 17.461, -60.}, {-16.273, 19.634, -60.}, {-19.969, 11.422, -60.}}], Polygon[{{-8.1642, 17.461, -60.}, {-4.2304, 25.61, -60.}, {-12.578, 27.846, -60.}, {-16.273, 19.634, -60.}}], Polygon[{{-4.2304, 25.61, -60.}, {-0.2966, 33.758, -60.}, {-8.8826, 36.059, -60.}, {-12.578, 27.846, -60.}}], Polygon[{{-42.14, -37.852, -60.}, {-38.445, -29.64, -60.}, {-45.123, -27.85, -60.}, {-48.58, -36.127, -60.}}], Polygon[{{-38.445, -29.64, -60.}, {-34.75, -21.428, -60.}, {-41.666, -19.574, -60.}, {-45.123, -27.85, -60.}}], Polygon[{{-34.75, -21.428, -60.}, {-31.054, -13.215, -60.}, {-38.209, -11.298, -60.}, {-41.666, -19.574, -60.}}], Polygon[{{-31.054, -13.215, -60.}, {-27.359, -5.003, -60.}, {-34.753, -3.0219, -60.}, {-38.209, -11.298, -60.}}], Polygon[{{-27.359, -5.003, -60.}, {-23.664, 3.2093, -60.}, {-31.296, 5.2543, -60.}, {-34.753, -3.0219, -60.}}], Polygon[{{-23.664, 3.2093, -60.}, {-19.969, 11.422, -60.}, {-27.839, 13.531, -60.}, {-31.296, 5.2543, -60.}}], Polygon[{{-19.969, 11.422, -60.}, {-16.273, 19.634, -60.}, {-24.382, 21.807, -60.}, {-27.839, 13.531, -60.}}], Polygon[{{-16.273, 19.634, -60.}, {-12.578, 27.846, -60.}, {-20.925, 30.083, -60.}, {-24.382, 21.807, -60.}}], Polygon[{{-12.578, 27.846, -60.}, {-8.8826, 36.059, -60.}, {-17.469, 38.359, -60.}, {-20.925, 30.083, -60.}}], Polygon[{{-48.58, -36.127, -60.}, {-45.123, -27.85, -60.}, {-51.801, -26.061, -60.}, {-55.019, -34.401, -60.}}], Polygon[{{-45.123, -27.85, -60.}, {-41.666, -19.574, -60.}, {-48.583, -17.721, -60.}, {-51.801, -26.061, -60.}}], Polygon[{{-41.666, -19.574, -60.}, {-38.209, -11.298, -60.}, {-45.364, -9.3809, -60.}, {-48.583, -17.721, -60.}}], Polygon[{{-38.209, -11.298, -60.}, {-34.753, -3.0219, -60.}, {-42.146, -1.0408, -60.}, {-45.364, -9.3809, -60.}}], Polygon[{{-34.753, -3.0219, -60.}, {-31.296, 5.2543, -60.}, {-38.928, 7.2993, -60.}, {-42.146, -1.0408, -60.}}], Polygon[{{-31.296, 5.2543, -60.}, {-27.839, 13.531, -60.}, {-35.71, 15.639, -60.}, {-38.928, 7.2993, -60.}}], Polygon[{{-27.839, 13.531, -60.}, {-24.382, 21.807, -60.}, {-32.491, 23.98, -60.}, {-35.71, 15.639, -60.}}], Polygon[{{-24.382, 21.807, -60.}, {-20.925, 30.083, -60.}, {-29.273, 32.32, -60.}, {-32.491, 23.98, -60.}}], Polygon[{{-20.925, 30.083, -60.}, {-17.469, 38.359, -60.}, {-26.055, 40.66, -60.}, {-29.273, 32.32, -60.}}], Polygon[{{-55.019, -34.401, -60.}, {-51.801, -26.061, -60.}, {-58.479, -24.272, -60.}, {-61.459, -32.676, -60.}}], Polygon[{{-51.801, -26.061, -60.}, {-48.583, -17.721, -60.}, {-55.499, -15.868, -60.}, {-58.479, -24.272, -60.}}], Polygon[{{-48.583, -17.721, -60.}, {-45.364, -9.3809, -60.}, {-52.519, -7.4637, -60.}, {-55.499, -15.868, -60.}}], Polygon[{{-45.364, -9.3809, -60.}, {-42.146, -1.0408, -60.}, {-49.54, 0.94029, -60.}, {-52.519, -7.4637, -60.}}], Polygon[{{-42.146, -1.0408, -60.}, {-38.928, 7.2993, -60.}, {-46.56, 9.3443, -60.}, {-49.54, 0.94029, -60.}}], Polygon[{{-38.928, 7.2993, -60.}, {-35.71, 15.639, -60.}, {-43.58, 17.748, -60.}, {-46.56, 9.3443, -60.}}], Polygon[{{-35.71, 15.639, -60.}, {-32.491, 23.98, -60.}, {-40.6, 26.152, -60.}, {-43.58, 17.748, -60.}}], Polygon[{{-32.491, 23.98, -60.}, {-29.273, 32.32, -60.}, {-37.62, 34.556, -60.}, {-40.6, 26.152, -60.}}], Polygon[{{-29.273, 32.32, -60.}, {-26.055, 40.66, -60.}, {-34.641, 42.96, -60.}, {-37.62, 34.556, -60.}}], Polygon[{{-61.459, -32.676, -60.}, {-58.479, -24.272, -60.}, {-65.157, -22.482, -60.}, {-67.898, -30.95, -60.}}], Polygon[{{-58.479, -24.272, -60.}, {-55.499, -15.868, -60.}, {-62.416, -14.014, -60.}, {-65.157, -22.482, -60.}}], Polygon[{{-55.499, -15.868, -60.}, {-52.519, -7.4637, -60.}, {-59.674, -5.5465, -60.}, {-62.416, -14.014, -60.}}], Polygon[{{-52.519, -7.4637, -60.}, {-49.54, 0.94029, -60.}, {-56.933, 2.9214, -60.}, {-59.674, -5.5465, -60.}}], Polygon[{{-49.54, 0.94029, -60.}, {-46.56, 9.3443, -60.}, {-54.192, 11.389, -60.}, {-56.933, 2.9214, -60.}}], Polygon[{{-46.56, 9.3443, -60.}, {-43.58, 17.748, -60.}, {-51.451, 19.857, -60.}, {-54.192, 11.389, -60.}}], Polygon[{{-43.58, 17.748, -60.}, {-40.6, 26.152, -60.}, {-48.709, 28.325, -60.}, {-51.451, 19.857, -60.}}], Polygon[{{-40.6, 26.152, -60.}, {-37.62, 34.556, -60.}, {-45.968, 36.793, -60.}, {-48.709, 28.325, -60.}}], Polygon[{{-37.62, 34.556, -60.}, {-34.641, 42.96, -60.}, {-43.227, 45.261, -60.}, {-45.968, 36.793, -60.}}]}, {Polygon[{{32.83, -11.693, 60.}, {32.945, -7.9818, 60.}, {30.703, -8.5825, 60.}, {30.684, -12.269, 60.}}], Polygon[{{32.945, -7.9818, 60.}, {33.06, -4.2701, 60.}, {30.722, -4.8964, 60.}, {30.703, -8.5825, 60.}}], Polygon[{{33.06, -4.2701, 60.}, {33.174, -0.55839, 60.}, {30.742, -1.2102, 60.}, {30.722, -4.8964, 60.}}], Polygon[{{33.174, -0.55839, 60.}, {33.289, 3.1533, 60.}, {30.761, 2.4759, 60.}, {30.742, -1.2102, 60.}}], Polygon[{{33.289, 3.1533, 60.}, {33.404, 6.865, 60.}, {30.78, 6.162, 60.}, {30.761, 2.4759, 60.}}], Polygon[{{33.404, 6.865, 60.}, {33.518, 10.577, 60.}, {30.799, 9.8482, 60.}, {30.78, 6.162, 60.}}], Polygon[{{33.518, 10.577, 60.}, {33.633, 14.288, 60.}, {30.819, 13.534, 60.}, {30.799, 9.8482, 60.}}], Polygon[{{33.633, 14.288, 60.}, {33.747, 18., 60.}, {30.838, 17.22, 60.}, {30.819, 13.534, 60.}}], Polygon[{{33.747, 18., 60.}, {33.862, 21.712, 60.}, {30.857, 20.907, 60.}, {30.838, 17.22, 60.}}], Polygon[{{30.684, -12.269, 60.}, {30.703, -8.5825, 60.}, {28.461, -9.1832, 60.}, {28.537, -12.844, 60.}}], Polygon[{{30.703, -8.5825, 60.}, {30.722, -4.8964, 60.}, {28.385, -5.5226, 60.}, {28.461, -9.1832, 60.}}], Polygon[{{30.722, -4.8964, 60.}, {30.742, -1.2102, 60.}, {28.309, -1.8621, 60.}, {28.385, -5.5226, 60.}}], Polygon[{{30.742, -1.2102, 60.}, {30.761, 2.4759, 60.}, {28.233, 1.7985, 60.}, {28.309, -1.8621, 60.}}], Polygon[{{30.761, 2.4759, 60.}, {30.78, 6.162, 60.}, {28.157, 5.4591, 60.}, {28.233, 1.7985, 60.}}], Polygon[{{30.78, 6.162, 60.}, {30.799, 9.8482, 60.}, {28.08, 9.1196, 60.}, {28.157, 5.4591, 60.}}], Polygon[{{30.799, 9.8482, 60.}, {30.819, 13.534, 60.}, {28.004, 12.78, 60.}, {28.08, 9.1196, 60.}}], Polygon[{{30.819, 13.534, 60.}, {30.838, 17.22, 60.}, {27.928, 16.441, 60.}, {28.004, 12.78, 60.}}], Polygon[{{30.838, 17.22, 60.}, {30.857, 20.907, 60.}, {27.852, 20.101, 60.}, {27.928, 16.441, 60.}}], Polygon[{{28.537, -12.844, 60.}, {28.461, -9.1832, 60.}, {26.219, -9.7839, 60.}, {26.391, -13.419, 60.}}], Polygon[{{28.461, -9.1832, 60.}, {28.385, -5.5226, 60.}, {26.048, -6.1489, 60.}, {26.219, -9.7839, 60.}}], Polygon[{{28.385, -5.5226, 60.}, {28.309, -1.8621, 60.}, {25.876, -2.5139, 60.}, {26.048, -6.1489, 60.}}], Polygon[{{28.309, -1.8621, 60.}, {28.233, 1.7985, 60.}, {25.705, 1.1211, 60.}, {25.876, -2.5139, 60.}}], Polygon[{{28.233, 1.7985, 60.}, {28.157, 5.4591, 60.}, {25.533, 4.7561, 60.}, {25.705, 1.1211, 60.}}], Polygon[{{28.157, 5.4591, 60.}, {28.08, 9.1196, 60.}, {25.361, 8.3911, 60.}, {25.533, 4.7561, 60.}}], Polygon[{{28.08, 9.1196, 60.}, {28.004, 12.78, 60.}, {25.19, 12.026, 60.}, {25.361, 8.3911, 60.}}], Polygon[{{28.004, 12.78, 60.}, {27.928, 16.441, 60.}, {25.018, 15.661, 60.}, {25.19, 12.026, 60.}}], Polygon[{{27.928, 16.441, 60.}, {27.852, 20.101, 60.}, {24.847, 19.296, 60.}, {25.018, 15.661, 60.}}], Polygon[{{26.391, -13.419, 60.}, {26.219, -9.7839, 60.}, {23.977, -10.385, 60.}, {24.244, -13.994, 60.}}], Polygon[{{26.219, -9.7839, 60.}, {26.048, -6.1489, 60.}, {23.71, -6.7752, 60.}, {23.977, -10.385, 60.}}], Polygon[{{26.048, -6.1489, 60.}, {25.876, -2.5139, 60.}, {23.443, -3.1658, 60.}, {23.71, -6.7752, 60.}}], Polygon[{{25.876, -2.5139, 60.}, {25.705, 1.1211, 60.}, {23.176, 0.44369, 60.}, {23.443, -3.1658, 60.}}], Polygon[{{25.705, 1.1211, 60.}, {25.533, 4.7561, 60.}, {22.91, 4.0531, 60.}, {23.176, 0.44369, 60.}}], Polygon[{{25.533, 4.7561, 60.}, {25.361, 8.3911, 60.}, {22.643, 7.6626, 60.}, {22.91, 4.0531, 60.}}], Polygon[{{25.361, 8.3911, 60.}, {25.19, 12.026, 60.}, {22.376, 11.272, 60.}, {22.643, 7.6626, 60.}}], Polygon[{{25.19, 12.026, 60.}, {25.018, 15.661, 60.}, {22.109, 14.881, 60.}, {22.376, 11.272, 60.}}], Polygon[{{25.018, 15.661, 60.}, {24.847, 19.296, 60.}, {21.842, 18.491, 60.}, {22.109, 14.881, 60.}}], Polygon[{{24.244, -13.994, 60.}, {23.977, -10.385, 60.}, {21.735, -10.985, 60.}, {22.098, -14.569, 60.}}], Polygon[{{23.977, -10.385, 60.}, {23.71, -6.7752, 60.}, {21.373, -7.4015, 60.}, {21.735, -10.985, 60.}}], Polygon[{{23.71, -6.7752, 60.}, {23.443, -3.1658, 60.}, {21.011, -3.8176, 60.}, {21.373, -7.4015, 60.}}], Polygon[{{23.443, -3.1658, 60.}, {23.176, 0.44369, 60.}, {20.648, -0.23371, 60.}, {21.011, -3.8176, 60.}}], Polygon[{{23.176, 0.44369, 60.}, {22.91, 4.0531, 60.}, {20.286, 3.3502, 60.}, {20.648, -0.23371, 60.}}], Polygon[{{22.91, 4.0531, 60.}, {22.643, 7.6626, 60.}, {19.924, 6.9341, 60.}, {20.286, 3.3502, 60.}}], Polygon[{{22.643, 7.6626, 60.}, {22.376, 11.272, 60.}, {19.561, 10.518, 60.}, {19.924, 6.9341, 60.}}], Polygon[{{22.376, 11.272, 60.}, {22.109, 14.881, 60.}, {19.199, 14.102, 60.}, {19.561, 10.518, 60.}}], Polygon[{{22.109, 14.881, 60.}, {21.842, 18.491, 60.}, {18.837, 17.686, 60.}, {19.199, 14.102, 60.}}], Polygon[{{22.098, -14.569, 60.}, {21.735, -10.985, 60.}, {19.494, -11.586, 60.}, {19.951, -15.144, 60.}}], Polygon[{{21.735, -10.985, 60.}, {21.373, -7.4015, 60.}, {19.036, -8.0278, 60.}, {19.494, -11.586, 60.}}], Polygon[{{21.373, -7.4015, 60.}, {21.011, -3.8176, 60.}, {18.578, -4.4694, 60.}, {19.036, -8.0278, 60.}}], Polygon[{{21.011, -3.8176, 60.}, {20.648, -0.23371, 60.}, {18.12, -0.91111, 60.}, {18.578, -4.4694, 60.}}], Polygon[{{20.648, -0.23371, 60.}, {20.286, 3.3502, 60.}, {17.663, 2.6472, 60.}, {18.12, -0.91111, 60.}}], Polygon[{{20.286, 3.3502, 60.}, {19.924, 6.9341, 60.}, {17.205, 6.2055, 60.}, {17.663, 2.6472, 60.}}], Polygon[{{19.924, 6.9341, 60.}, {19.561, 10.518, 60.}, {16.747, 9.7639, 60.}, {17.205, 6.2055, 60.}}], Polygon[{{19.561, 10.518, 60.}, {19.199, 14.102, 60.}, {16.289, 13.322, 60.}, {16.747, 9.7639, 60.}}], Polygon[{{19.199, 14.102, 60.}, {18.837, 17.686, 60.}, {15.831, 16.881, 60.}, {16.289, 13.322, 60.}}], Polygon[{{19.951, -15.144, 60.}, {19.494, -11.586, 60.}, {17.252, -12.187, 60.}, {17.805, -15.72, 60.}}], Polygon[{{19.494, -11.586, 60.}, {19.036, -8.0278, 60.}, {16.699, -8.654, 60.}, {17.252, -12.187, 60.}}], Polygon[{{19.036, -8.0278, 60.}, {18.578, -4.4694, 60.}, {16.145, -5.1213, 60.}, {16.699, -8.654, 60.}}], Polygon[{{18.578, -4.4694, 60.}, {18.12, -0.91111, 60.}, {15.592, -1.5885, 60.}, {16.145, -5.1213, 60.}}], Polygon[{{18.12, -0.91111, 60.}, {17.663, 2.6472, 60.}, {15.039, 1.9442, 60.}, {15.592, -1.5885, 60.}}], Polygon[{{17.663, 2.6472, 60.}, {17.205, 6.2055, 60.}, {14.486, 5.477, 60.}, {15.039, 1.9442, 60.}}], Polygon[{{17.205, 6.2055, 60.}, {16.747, 9.7639, 60.}, {13.933, 9.0098, 60.}, {14.486, 5.477, 60.}}], Polygon[{{16.747, 9.7639, 60.}, {16.289, 13.322, 60.}, {13.38, 12.543, 60.}, {13.933, 9.0098, 60.}}], Polygon[{{16.289, 13.322, 60.}, {15.831, 16.881, 60.}, {12.826, 16.075, 60.}, {13.38, 12.543, 60.}}], Polygon[{{17.805, -15.72, 60.}, {17.252, -12.187, 60.}, {15.01, -12.788, 60.}, {15.658, -16.295, 60.}}], Polygon[{{17.252, -12.187, 60.}, {16.699, -8.654, 60.}, {14.361, -9.2803, 60.}, {15.01, -12.788, 60.}}], Polygon[{{16.699, -8.654, 60.}, {16.145, -5.1213, 60.}, {13.713, -5.7731, 60.}, {14.361, -9.2803, 60.}}], Polygon[{{16.145, -5.1213, 60.}, {15.592, -1.5885, 60.}, {13.064, -2.2659, 60.}, {13.713, -5.7731, 60.}}], Polygon[{{15.592, -1.5885, 60.}, {15.039, 1.9442, 60.}, {12.416, 1.2413, 60.}, {13.064, -2.2659, 60.}}], Polygon[{{15.039, 1.9442, 60.}, {14.486, 5.477, 60.}, {11.767, 4.7485, 60.}, {12.416, 1.2413, 60.}}], Polygon[{{14.486, 5.477, 60.}, {13.933, 9.0098, 60.}, {11.118, 8.2557, 60.}, {11.767, 4.7485, 60.}}], Polygon[{{13.933, 9.0098, 60.}, {13.38, 12.543, 60.}, {10.47, 11.763, 60.}, {11.118, 8.2557, 60.}}], Polygon[{{13.38, 12.543, 60.}, {12.826, 16.075, 60.}, {9.8212, 15.27, 60.}, {10.47, 11.763, 60.}}], Polygon[{{15.658, -16.295, 60.}, {15.01, -12.788, 60.}, {12.768, -13.388, 60.}, {13.512, -16.87, 60.}}], Polygon[{{15.01, -12.788, 60.}, {14.361, -9.2803, 60.}, {12.024, -9.9066, 60.}, {12.768, -13.388, 60.}}], Polygon[{{14.361, -9.2803, 60.}, {13.713, -5.7731, 60.}, {11.28, -6.425, 60.}, {12.024, -9.9066, 60.}}], Polygon[{{13.713, -5.7731, 60.}, {13.064, -2.2659, 60.}, {10.536, -2.9433, 60.}, {11.28, -6.425, 60.}}], Polygon[{{13.064, -2.2659, 60.}, {12.416, 1.2413, 60.}, {9.792, 0.53832, 60.}, {10.536, -2.9433, 60.}}], Polygon[{{12.416, 1.2413, 60.}, {11.767, 4.7485, 60.}, {9.0481, 4.02, 60.}, {9.792, 0.53832, 60.}}], Polygon[{{11.767, 4.7485, 60.}, {11.118, 8.2557, 60.}, {8.3041, 7.5016, 60.}, {9.0481, 4.02, 60.}}], Polygon[{{11.118, 8.2557, 60.}, {10.47, 11.763, 60.}, {7.5601, 10.983, 60.}, {8.3041, 7.5016, 60.}}], Polygon[{{10.47, 11.763, 60.}, {9.8212, 15.27, 60.}, {6.8161, 14.465, 60.}, {7.5601, 10.983, 60.}}]}}, {AmbientLight -> GrayLevel[0.15], PlotRange -> Automatic, DisplayFunction :> $DisplayFunction, ColorOutput -> Automatic, Axes -> True, PlotLabel -> None, AxesLabel -> {"x", "y", "z"}, Ticks -> Automatic, Prolog -> {}, Epilog -> {}, AxesStyle -> Automatic, Background -> Automatic, DefaultColor -> Automatic, DefaultFont :> $DefaultFont, AspectRatio -> Automatic, ViewPoint -> {1.3, -2.4, 2.}, Boxed -> True, BoxRatios -> Automatic, Plot3Matrix -> Automatic, Lighting -> True, AmbientLight -> GrayLevel[0.], LightSources -> {{{1., 0., 1.}, RGBColor[1., 0., 0.]}, {{1., 1., 1.}, RGBColor[0., 1., 0.]}, {{0., 1., 1.}, RGBColor[0., 0., 1.]}}, ViewCenter -> Automatic, PlotRegion -> Automatic, ImageSize -> Automatic, TextStyle :> {FontFamily -> "Times", FontSize -> 16.}, FormatType :> $FormatType, ViewVertical -> {0., 0., 1.}, FaceGrids -> None, Shading -> True, RenderAll -> True, PolygonIntersections -> True, AxesEdge -> Automatic, BoxStyle -> Automatic, SphericalRegion -> False}]
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aTwistedTrd.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aTwistedTrd.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aTwistedTrd.txt	(revision 904)
@@ -0,0 +1,1 @@
+Graphics3D[{{Polygon[{{18.625, -46.402, -60.}, {20.926, -37.816, -60.}, {21.173, -35.985, -53.684}, {19.178, -44.347, -53.684}}], Polygon[{{20.926, -37.816, -60.}, {23.226, -29.23, -60.}, {23.169, -27.623, -53.684}, {21.173, -35.985, -53.684}}], Polygon[{{23.226, -29.23, -60.}, {25.527, -20.644, -60.}, {25.164, -19.261, -53.684}, {23.169, -27.623, -53.684}}], Polygon[{{25.527, -20.644, -60.}, {27.827, -12.058, -60.}, {27.159, -10.9, -53.684}, {25.164, -19.261, -53.684}}], Polygon[{{27.827, -12.058, -60.}, {30.128, -3.4716, -60.}, {29.154, -2.538, -53.684}, {27.159, -10.9, -53.684}}], Polygon[{{30.128, -3.4716, -60.}, {32.429, 5.1144, -60.}, {31.15, 5.8238, -53.684}, {29.154, -2.538, -53.684}}], Polygon[{{32.429, 5.1144, -60.}, {34.729, 13.7, -60.}, {33.145, 14.185, -53.684}, {31.15, 5.8238, -53.684}}], Polygon[{{34.729, 13.7, -60.}, {37.03, 22.286, -60.}, {35.14, 22.547, -53.684}, {33.145, 14.185, -53.684}}], Polygon[{{37.03, 22.286, -60.}, {39.331, 30.872, -60.}, {37.136, 30.909, -53.684}, {35.14, 22.547, -53.684}}], Polygon[{{19.178, -44.347, -53.684}, {21.173, -35.985, -53.684}, {21.337, -34.17, -47.368}, {19.632, -42.298, -47.368}}], Polygon[{{21.173, -35.985, -53.684}, {23.169, -27.623, -53.684}, {23.041, -26.043, -47.368}, {21.337, -34.17, -47.368}}], Polygon[{{23.169, -27.623, -53.684}, {25.164, -19.261, -53.684}, {24.745, -17.915, -47.368}, {23.041, -26.043, -47.368}}], Polygon[{{25.164, -19.261, -53.684}, {27.159, -10.9, -53.684}, {26.449, -9.7881, -47.368}, {24.745, -17.915, -47.368}}], Polygon[{{27.159, -10.9, -53.684}, {29.154, -2.538, -53.684}, {28.153, -1.6607, -47.368}, {26.449, -9.7881, -47.368}}], Polygon[{{29.154, -2.538, -53.684}, {31.15, 5.8238, -53.684}, {29.857, 6.4666, -47.368}, {28.153, -1.6607, -47.368}}], Polygon[{{31.15, 5.8238, -53.684}, {33.145, 14.185, -53.684}, {31.561, 14.594, -47.368}, {29.857, 6.4666, -47.368}}], Polygon[{{33.145, 14.185, -53.684}, {35.14, 22.547, -53.684}, {33.265, 22.721, -47.368}, {31.561, 14.594, -47.368}}], Polygon[{{35.14, 22.547, -53.684}, {37.136, 30.909, -53.684}, {34.97, 30.849, -47.368}, {33.265, 22.721, -47.368}}], Polygon[{{19.632, -42.298, -47.368}, {21.337, -34.17, -47.368}, {21.417, -32.375, -41.053}, {19.989, -40.258, -41.053}}], Polygon[{{21.337, -34.17, -47.368}, {23.041, -26.043, -47.368}, {22.844, -24.491, -41.053}, {21.417, -32.375, -41.053}}], Polygon[{{23.041, -26.043, -47.368}, {24.745, -17.915, -47.368}, {24.271, -16.608, -41.053}, {22.844, -24.491, -41.053}}], Polygon[{{24.745, -17.915, -47.368}, {26.449, -9.7881, -47.368}, {25.699, -8.7242, -41.053}, {24.271, -16.608, -41.053}}], Polygon[{{26.449, -9.7881, -47.368}, {28.153, -1.6607, -47.368}, {27.126, -0.84069, -41.053}, {25.699, -8.7242, -41.053}}], Polygon[{{28.153, -1.6607, -47.368}, {29.857, 6.4666, -47.368}, {28.554, 7.0428, -41.053}, {27.126, -0.84069, -41.053}}], Polygon[{{29.857, 6.4666, -47.368}, {31.561, 14.594, -47.368}, {29.981, 14.926, -41.053}, {28.554, 7.0428, -41.053}}], Polygon[{{31.561, 14.594, -47.368}, {33.265, 22.721, -47.368}, {31.409, 22.81, -41.053}, {29.981, 14.926, -41.053}}], Polygon[{{33.265, 22.721, -47.368}, {34.97, 30.849, -47.368}, {32.836, 30.693, -41.053}, {31.409, 22.81, -41.053}}], Polygon[{{19.989, -40.258, -41.053}, {21.417, -32.375, -41.053}, {21.414, -30.602, -34.737}, {20.249, -38.233, -34.737}}], Polygon[{{21.417, -32.375, -41.053}, {22.844, -24.491, -41.053}, {22.58, -22.971, -34.737}, {21.414, -30.602, -34.737}}], Polygon[{{22.844, -24.491, -41.053}, {24.271, -16.608, -41.053}, {23.746, -15.34, -34.737}, {22.58, -22.971, -34.737}}], Polygon[{{24.271, -16.608, -41.053}, {25.699, -8.7242, -41.053}, {24.911, -7.7093, -34.737}, {23.746, -15.34, -34.737}}], Polygon[{{25.699, -8.7242, -41.053}, {27.126, -0.84069, -41.053}, {26.077, -0.078511, -34.737}, {24.911, -7.7093, -34.737}}], Polygon[{{27.126, -0.84069, -41.053}, {28.554, 7.0428, -41.053}, {27.242, 7.5523, -34.737}, {26.077, -0.078511, -34.737}}], Polygon[{{28.554, 7.0428, -41.053}, {29.981, 14.926, -41.053}, {28.408, 15.183, -34.737}, {27.242, 7.5523, -34.737}}], Polygon[{{29.981, 14.926, -41.053}, {31.409, 22.81, -41.053}, {29.573, 22.814, -34.737}, {28.408, 15.183, -34.737}}], Polygon[{{31.409, 22.81, -41.053}, {32.836, 30.693, -41.053}, {30.739, 30.445, -34.737}, {29.573, 22.814, -34.737}}], Polygon[{{20.249, -38.233, -34.737}, {21.414, -30.602, -34.737}, {21.332, -28.854, -28.421}, {20.413, -36.224, -28.421}}], Polygon[{{21.414, -30.602, -34.737}, {22.58, -22.971, -34.737}, {22.25, -21.484, -28.421}, {21.332, -28.854, -28.421}}], Polygon[{{22.58, -22.971, -34.737}, {23.746, -15.34, -34.737}, {23.169, -14.115, -28.421}, {22.25, -21.484, -28.421}}], Polygon[{{23.746, -15.34, -34.737}, {24.911, -7.7093, -34.737}, {24.088, -6.7447, -28.421}, {23.169, -14.115, -28.421}}], Polygon[{{24.911, -7.7093, -34.737}, {26.077, -0.078511, -34.737}, {25.006, 0.62517, -28.421}, {24.088, -6.7447, -28.421}}], Polygon[{{26.077, -0.078511, -34.737}, {27.242, 7.5523, -34.737}, {25.925, 7.995, -28.421}, {25.006, 0.62517, -28.421}}], Polygon[{{27.242, 7.5523, -34.737}, {28.408, 15.183, -34.737}, {26.844, 15.365, -28.421}, {25.925, 7.995, -28.421}}], Polygon[{{28.408, 15.183, -34.737}, {29.573, 22.814, -34.737}, {27.762, 22.735, -28.421}, {26.844, 15.365, -28.421}}], Polygon[{{29.573, 22.814, -34.737}, {30.739, 30.445, -34.737}, {28.681, 30.105, -28.421}, {27.762, 22.735, -28.421}}], Polygon[{{20.413, -36.224, -28.421}, {21.332, -28.854, -28.421}, {21.169, -27.136, -22.105}, {20.482, -34.237, -22.105}}], Polygon[{{21.332, -28.854, -28.421}, {22.25, -21.484, -28.421}, {21.856, -20.034, -22.105}, {21.169, -27.136, -22.105}}], Polygon[{{22.25, -21.484, -28.421}, {23.169, -14.115, -28.421}, {22.544, -12.933, -22.105}, {21.856, -20.034, -22.105}}], Polygon[{{23.169, -14.115, -28.421}, {24.088, -6.7447, -28.421}, {23.231, -5.8315, -22.105}, {22.544, -12.933, -22.105}}], Polygon[{{24.088, -6.7447, -28.421}, {25.006, 0.62517, -28.421}, {23.918, 1.2698, -22.105}, {23.231, -5.8315, -22.105}}], Polygon[{{25.006, 0.62517, -28.421}, {25.925, 7.995, -28.421}, {24.605, 8.3712, -22.105}, {23.918, 1.2698, -22.105}}], Polygon[{{25.925, 7.995, -28.421}, {26.844, 15.365, -28.421}, {25.292, 15.472, -22.105}, {24.605, 8.3712, -22.105}}], Polygon[{{26.844, 15.365, -28.421}, {27.762, 22.735, -28.421}, {25.979, 22.574, -22.105}, {25.292, 15.472, -22.105}}], Polygon[{{27.762, 22.735, -28.421}, {28.681, 30.105, -28.421}, {26.666, 29.675, -22.105}, {25.979, 22.574, -22.105}}], Polygon[{{20.482, -34.237, -22.105}, {21.169, -27.136, -22.105}, {20.929, -25.449, -15.789}, {20.458, -32.274, -15.789}}], Polygon[{{21.169, -27.136, -22.105}, {21.856, -20.034, -22.105}, {21.4, -18.623, -15.789}, {20.929, -25.449, -15.789}}], Polygon[{{21.856, -20.034, -22.105}, {22.544, -12.933, -22.105}, {21.871, -11.797, -15.789}, {21.4, -18.623, -15.789}}], Polygon[{{22.544, -12.933, -22.105}, {23.231, -5.8315, -22.105}, {22.342, -4.9709, -15.789}, {21.871, -11.797, -15.789}}], Polygon[{{23.231, -5.8315, -22.105}, {23.918, 1.2698, -22.105}, {22.813, 1.855, -15.789}, {22.342, -4.9709, -15.789}}], Polygon[{{23.918, 1.2698, -22.105}, {24.605, 8.3712, -22.105}, {23.284, 8.6809, -15.789}, {22.813, 1.855, -15.789}}], Polygon[{{24.605, 8.3712, -22.105}, {25.292, 15.472, -22.105}, {23.755, 15.507, -15.789}, {23.284, 8.6809, -15.789}}], Polygon[{{25.292, 15.472, -22.105}, {25.979, 22.574, -22.105}, {24.226, 22.333, -15.789}, {23.755, 15.507, -15.789}}], Polygon[{{25.979, 22.574, -22.105}, {26.666, 29.675, -22.105}, {24.697, 29.158, -15.789}, {24.226, 22.333, -15.789}}], Polygon[{{20.458, -32.274, -15.789}, {20.929, -25.449, -15.789}, {20.613, -23.796, -9.4737}, {20.343, -30.34, -9.4737}}], Polygon[{{20.929, -25.449, -15.789}, {21.4, -18.623, -15.789}, {20.884, -17.252, -9.4737}, {20.613, -23.796, -9.4737}}], Polygon[{{21.4, -18.623, -15.789}, {21.871, -11.797, -15.789}, {21.155, -10.708, -9.4737}, {20.884, -17.252, -9.4737}}], Polygon[{{21.871, -11.797, -15.789}, {22.342, -4.9709, -15.789}, {21.425, -4.1638, -9.4737}, {21.155, -10.708, -9.4737}}], Polygon[{{22.342, -4.9709, -15.789}, {22.813, 1.855, -15.789}, {21.696, 2.3803, -9.4737}, {21.425, -4.1638, -9.4737}}], Polygon[{{22.813, 1.855, -15.789}, {23.284, 8.6809, -15.789}, {21.967, 8.9244, -9.4737}, {21.696, 2.3803, -9.4737}}], Polygon[{{23.284, 8.6809, -15.789}, {23.755, 15.507, -15.789}, {22.237, 15.469, -9.4737}, {21.967, 8.9244, -9.4737}}], Polygon[{{23.755, 15.507, -15.789}, {24.226, 22.333, -15.789}, {22.508, 22.013, -9.4737}, {22.237, 15.469, -9.4737}}], Polygon[{{24.226, 22.333, -15.789}, {24.697, 29.158, -15.789}, {22.779, 28.557, -9.4737}, {22.508, 22.013, -9.4737}}], Polygon[{{20.343, -30.34, -9.4737}, {20.613, -23.796, -9.4737}, {20.223, -22.181, -3.1579}, {20.136, -28.438, -3.1579}}], Polygon[{{20.613, -23.796, -9.4737}, {20.884, -17.252, -9.4737}, {20.309, -15.925, -3.1579}, {20.223, -22.181, -3.1579}}], Polygon[{{20.884, -17.252, -9.4737}, {21.155, -10.708, -9.4737}, {20.395, -9.6679, -3.1579}, {20.309, -15.925, -3.1579}}], Polygon[{{21.155, -10.708, -9.4737}, {21.425, -4.1638, -9.4737}, {20.481, -3.4112, -3.1579}, {20.395, -9.6679, -3.1579}}], Polygon[{{21.425, -4.1638, -9.4737}, {21.696, 2.3803, -9.4737}, {20.567, 2.8455, -3.1579}, {20.481, -3.4112, -3.1579}}], Polygon[{{21.696, 2.3803, -9.4737}, {21.967, 8.9244, -9.4737}, {20.654, 9.1023, -3.1579}, {20.567, 2.8455, -3.1579}}], Polygon[{{21.967, 8.9244, -9.4737}, {22.237, 15.469, -9.4737}, {20.74, 15.359, -3.1579}, {20.654, 9.1023, -3.1579}}], Polygon[{{22.237, 15.469, -9.4737}, {22.508, 22.013, -9.4737}, {20.826, 21.616, -3.1579}, {20.74, 15.359, -3.1579}}], Polygon[{{22.508, 22.013, -9.4737}, {22.779, 28.557, -9.4737}, {20.912, 27.872, -3.1579}, {20.826, 21.616, -3.1579}}], Polygon[{{20.136, -28.438, -3.1579}, {20.223, -22.181, -3.1579}, {19.759, -20.607, 3.1579}, {19.842, -26.571, 3.1579}}], Polygon[{{20.223, -22.181, -3.1579}, {20.309, -15.925, -3.1579}, {19.677, -14.643, 3.1579}, {19.759, -20.607, 3.1579}}], Polygon[{{20.309, -15.925, -3.1579}, {20.395, -9.6679, -3.1579}, {19.595, -8.6782, 3.1579}, {19.677, -14.643, 3.1579}}], Polygon[{{20.395, -9.6679, -3.1579}, {20.481, -3.4112, -3.1579}, {19.513, -2.7139, 3.1579}, {19.595, -8.6782, 3.1579}}], Polygon[{{20.481, -3.4112, -3.1579}, {20.567, 2.8455, -3.1579}, {19.431, 3.2505, 3.1579}, {19.513, -2.7139, 3.1579}}], Polygon[{{20.567, 2.8455, -3.1579}, {20.654, 9.1023, -3.1579}, {19.349, 9.2148, 3.1579}, {19.431, 3.2505, 3.1579}}], Polygon[{{20.654, 9.1023, -3.1579}, {20.74, 15.359, -3.1579}, {19.266, 15.179, 3.1579}, {19.349, 9.2148, 3.1579}}], Polygon[{{20.74, 15.359, -3.1579}, {20.826, 21.616, -3.1579}, {19.184, 21.144, 3.1579}, {19.266, 15.179, 3.1579}}], Polygon[{{20.826, 21.616, -3.1579}, {20.912, 27.872, -3.1579}, {19.102, 27.108, 3.1579}, {19.184, 21.144, 3.1579}}], Polygon[{{19.842, -26.571, 3.1579}, {19.759, -20.607, 3.1579}, {19.226, -19.076, 9.4737}, {19.46, -24.743, 9.4737}}], Polygon[{{19.759, -20.607, 3.1579}, {19.677, -14.643, 3.1579}, {18.991, -13.408, 9.4737}, {19.226, -19.076, 9.4737}}], Polygon[{{19.677, -14.643, 3.1579}, {19.595, -8.6782, 3.1579}, {18.757, -7.7403, 9.4737}, {18.991, -13.408, 9.4737}}], Polygon[{{19.595, -8.6782, 3.1579}, {19.513, -2.7139, 3.1579}, {18.523, -2.0726, 9.4737}, {18.757, -7.7403, 9.4737}}], Polygon[{{19.513, -2.7139, 3.1579}, {19.431, 3.2505, 3.1579}, {18.288, 3.5951, 9.4737}, {18.523, -2.0726, 9.4737}}], Polygon[{{19.431, 3.2505, 3.1579}, {19.349, 9.2148, 3.1579}, {18.054, 9.2628, 9.4737}, {18.288, 3.5951, 9.4737}}], Polygon[{{19.349, 9.2148, 3.1579}, {19.266, 15.179, 3.1579}, {17.819, 14.93, 9.4737}, {18.054, 9.2628, 9.4737}}], Polygon[{{19.266, 15.179, 3.1579}, {19.184, 21.144, 3.1579}, {17.585, 20.598, 9.4737}, {17.819, 14.93, 9.4737}}], Polygon[{{19.184, 21.144, 3.1579}, {19.102, 27.108, 3.1579}, {17.35, 26.266, 9.4737}, {17.585, 20.598, 9.4737}}], Polygon[{{19.46, -24.743, 9.4737}, {19.226, -19.076, 9.4737}, {18.624, -17.59, 15.789}, {18.994, -22.957, 15.789}}], Polygon[{{19.226, -19.076, 9.4737}, {18.991, -13.408, 9.4737}, {18.253, -12.223, 15.789}, {18.624, -17.59, 15.789}}], Polygon[{{18.991, -13.408, 9.4737}, {18.757, -7.7403, 9.4737}, {17.883, -6.8554, 15.789}, {18.253, -12.223, 15.789}}], Polygon[{{18.757, -7.7403, 9.4737}, {18.523, -2.0726, 9.4737}, {17.512, -1.488, 15.789}, {17.883, -6.8554, 15.789}}], Polygon[{{18.523, -2.0726, 9.4737}, {18.288, 3.5951, 9.4737}, {17.142, 3.8793, 15.789}, {17.512, -1.488, 15.789}}], Polygon[{{18.288, 3.5951, 9.4737}, {18.054, 9.2628, 9.4737}, {16.772, 9.2467, 15.789}, {17.142, 3.8793, 15.789}}], Polygon[{{18.054, 9.2628, 9.4737}, {17.819, 14.93, 9.4737}, {16.401, 14.614, 15.789}, {16.772, 9.2467, 15.789}}], Polygon[{{17.819, 14.93, 9.4737}, {17.585, 20.598, 9.4737}, {16.031, 19.981, 15.789}, {16.401, 14.614, 15.789}}], Polygon[{{17.585, 20.598, 9.4737}, {17.35, 26.266, 9.4737}, {15.661, 25.349, 15.789}, {16.031, 19.981, 15.789}}], Polygon[{{18.994, -22.957, 15.789}, {18.624, -17.59, 15.789}, {17.955, -16.153, 22.105}, {18.445, -21.217, 22.105}}], Polygon[{{18.624, -17.59, 15.789}, {18.253, -12.223, 15.789}, {17.465, -11.089, 22.105}, {17.955, -16.153, 22.105}}], Polygon[{{18.253, -12.223, 15.789}, {17.883, -6.8554, 15.789}, {16.975, -6.0248, 22.105}, {17.465, -11.089, 22.105}}], Polygon[{{17.883, -6.8554, 15.789}, {17.512, -1.488, 15.789}, {16.485, -0.96078, 22.105}, {16.975, -6.0248, 22.105}}], Polygon[{{17.512, -1.488, 15.789}, {17.142, 3.8793, 15.789}, {15.995, 4.1033, 22.105}, {16.485, -0.96078, 22.105}}], Polygon[{{17.142, 3.8793, 15.789}, {16.772, 9.2467, 15.789}, {15.505, 9.1674, 22.105}, {15.995, 4.1033, 22.105}}], Polygon[{{16.772, 9.2467, 15.789}, {16.401, 14.614, 15.789}, {15.015, 14.231, 22.105}, {15.505, 9.1674, 22.105}}], Polygon[{{16.401, 14.614, 15.789}, {16.031, 19.981, 15.789}, {14.525, 19.296, 22.105}, {15.015, 14.231, 22.105}}], Polygon[{{16.031, 19.981, 15.789}, {15.661, 25.349, 15.789}, {14.035, 24.36, 22.105}, {14.525, 19.296, 22.105}}], Polygon[{{18.445, -21.217, 22.105}, {17.955, -16.153, 22.105}, {17.222, -14.767, 28.421}, {17.815, -19.525, 28.421}}], Polygon[{{17.955, -16.153, 22.105}, {17.465, -11.089, 22.105}, {16.629, -10.008, 28.421}, {17.222, -14.767, 28.421}}], Polygon[{{17.465, -11.089, 22.105}, {16.975, -6.0248, 22.105}, {16.036, -5.2498, 28.421}, {16.629, -10.008, 28.421}}], Polygon[{{16.975, -6.0248, 22.105}, {16.485, -0.96078, 22.105}, {15.443, -0.49131, 28.421}, {16.036, -5.2498, 28.421}}], Polygon[{{16.485, -0.96078, 22.105}, {15.995, 4.1033, 22.105}, {14.849, 4.2672, 28.421}, {15.443, -0.49131, 28.421}}], Polygon[{{15.995, 4.1033, 22.105}, {15.505, 9.1674, 22.105}, {14.256, 9.0257, 28.421}, {14.849, 4.2672, 28.421}}], Polygon[{{15.505, 9.1674, 22.105}, {15.015, 14.231, 22.105}, {13.663, 13.784, 28.421}, {14.256, 9.0257, 28.421}}], Polygon[{{15.015, 14.231, 22.105}, {14.525, 19.296, 22.105}, {13.07, 18.543, 28.421}, {13.663, 13.784, 28.421}}], Polygon[{{14.525, 19.296, 22.105}, {14.035, 24.36, 22.105}, {12.477, 23.301, 28.421}, {13.07, 18.543, 28.421}}], Polygon[{{17.815, -19.525, 28.421}, {17.222, -14.767, 28.421}, {16.427, -13.434, 34.737}, {17.107, -17.885, 34.737}}], Polygon[{{17.222, -14.767, 28.421}, {16.629, -10.008, 28.421}, {15.747, -8.9826, 34.737}, {16.427, -13.434, 34.737}}], Polygon[{{16.629, -10.008, 28.421}, {16.036, -5.2498, 28.421}, {15.067, -4.5313, 34.737}, {15.747, -8.9826, 34.737}}], Polygon[{{16.036, -5.2498, 28.421}, {15.443, -0.49131, 28.421}, {14.388, -0.080025, 34.737}, {15.067, -4.5313, 34.737}}], Polygon[{{15.443, -0.49131, 28.421}, {14.849, 4.2672, 28.421}, {13.708, 4.3713, 34.737}, {14.388, -0.080025, 34.737}}], Polygon[{{14.849, 4.2672, 28.421}, {14.256, 9.0257, 28.421}, {13.028, 8.8226, 34.737}, {13.708, 4.3713, 34.737}}], Polygon[{{14.256, 9.0257, 28.421}, {13.663, 13.784, 28.421}, {12.348, 13.274, 34.737}, {13.028, 8.8226, 34.737}}], Polygon[{{13.663, 13.784, 28.421}, {13.07, 18.543, 28.421}, {11.668, 17.725, 34.737}, {12.348, 13.274, 34.737}}], Polygon[{{13.07, 18.543, 28.421}, {12.477, 23.301, 28.421}, {10.988, 22.176, 34.737}, {11.668, 17.725, 34.737}}], Polygon[{{17.107, -17.885, 34.737}, {16.427, -13.434, 34.737}, {15.573, -12.157, 41.053}, {16.323, -16.3, 41.053}}], Polygon[{{16.427, -13.434, 34.737}, {15.747, -8.9826, 34.737}, {14.823, -8.0136, 41.053}, {15.573, -12.157, 41.053}}], Polygon[{{15.747, -8.9826, 34.737}, {15.067, -4.5313, 34.737}, {14.073, -3.8704, 41.053}, {14.823, -8.0136, 41.053}}], Polygon[{{15.067, -4.5313, 34.737}, {14.388, -0.080025, 34.737}, {13.322, 0.27276, 41.053}, {14.073, -3.8704, 41.053}}], Polygon[{{14.388, -0.080025, 34.737}, {13.708, 4.3713, 34.737}, {12.572, 4.4159, 41.053}, {13.322, 0.27276, 41.053}}], Polygon[{{13.708, 4.3713, 34.737}, {13.028, 8.8226, 34.737}, {11.822, 8.5591, 41.053}, {12.572, 4.4159, 41.053}}], Polygon[{{13.028, 8.8226, 34.737}, {12.348, 13.274, 34.737}, {11.072, 12.702, 41.053}, {11.822, 8.5591, 41.053}}], Polygon[{{12.348, 13.274, 34.737}, {11.668, 17.725, 34.737}, {10.322, 16.845, 41.053}, {11.072, 12.702, 41.053}}], Polygon[{{11.668, 17.725, 34.737}, {10.988, 22.176, 34.737}, {9.5715, 20.989, 41.053}, {10.322, 16.845, 41.053}}], Polygon[{{16.323, -16.3, 41.053}, {15.573, -12.157, 41.053}, {14.662, -10.937, 47.368}, {15.466, -14.772, 47.368}}], Polygon[{{15.573, -12.157, 41.053}, {14.823, -8.0136, 41.053}, {13.858, -7.1027, 47.368}, {14.662, -10.937, 47.368}}], Polygon[{{14.823, -8.0136, 41.053}, {14.073, -3.8704, 41.053}, {13.054, -3.2679, 47.368}, {13.858, -7.1027, 47.368}}], Polygon[{{14.073, -3.8704, 41.053}, {13.322, 0.27276, 41.053}, {12.25, 0.56682, 47.368}, {13.054, -3.2679, 47.368}}], Polygon[{{13.322, 0.27276, 41.053}, {12.572, 4.4159, 41.053}, {11.446, 4.4016, 47.368}, {12.25, 0.56682, 47.368}}], Polygon[{{12.572, 4.4159, 41.053}, {11.822, 8.5591, 41.053}, {10.642, 8.2363, 47.368}, {11.446, 4.4016, 47.368}}], Polygon[{{11.822, 8.5591, 41.053}, {11.072, 12.702, 41.053}, {9.8375, 12.071, 47.368}, {10.642, 8.2363, 47.368}}], Polygon[{{11.072, 12.702, 41.053}, {10.322, 16.845, 41.053}, {9.0334, 15.906, 47.368}, {9.8375, 12.071, 47.368}}], Polygon[{{10.322, 16.845, 41.053}, {9.5715, 20.989, 41.053}, {8.2294, 19.741, 47.368}, {9.0334, 15.906, 47.368}}], Polygon[{{15.466, -14.772, 47.368}, {14.662, -10.937, 47.368}, {13.696, -9.7781, 53.684}, {14.538, -13.305, 53.684}}], Polygon[{{14.662, -10.937, 47.368}, {13.858, -7.1027, 47.368}, {12.855, -6.2514, 53.684}, {13.696, -9.7781, 53.684}}], Polygon[{{13.858, -7.1027, 47.368}, {13.054, -3.2679, 47.368}, {12.013, -2.7247, 53.684}, {12.855, -6.2514, 53.684}}], Polygon[{{13.054, -3.2679, 47.368}, {12.25, 0.56682, 47.368}, {11.172, 0.80202, 53.684}, {12.013, -2.7247, 53.684}}], Polygon[{{12.25, 0.56682, 47.368}, {11.446, 4.4016, 47.368}, {10.33, 4.3287, 53.684}, {11.172, 0.80202, 53.684}}], Polygon[{{11.446, 4.4016, 47.368}, {10.642, 8.2363, 47.368}, {9.4885, 7.8554, 53.684}, {10.33, 4.3287, 53.684}}], Polygon[{{10.642, 8.2363, 47.368}, {9.8375, 12.071, 47.368}, {8.6469, 11.382, 53.684}, {9.4885, 7.8554, 53.684}}], Polygon[{{9.8375, 12.071, 47.368}, {9.0334, 15.906, 47.368}, {7.8054, 14.909, 53.684}, {8.6469, 11.382, 53.684}}], Polygon[{{9.0334, 15.906, 47.368}, {8.2294, 19.741, 47.368}, {6.9638, 18.436, 53.684}, {7.8054, 14.909, 53.684}}], Polygon[{{14.538, -13.305, 53.684}, {13.696, -9.7781, 53.684}, {12.679, -8.6809, 60.}, {13.542, -11.901, 60.}}], Polygon[{{13.696, -9.7781, 53.684}, {12.855, -6.2514, 53.684}, {11.816, -5.4612, 60.}, {12.679, -8.6809, 60.}}], Polygon[{{12.855, -6.2514, 53.684}, {12.013, -2.7247, 53.684}, {10.953, -2.2414, 60.}, {11.816, -5.4612, 60.}}], Polygon[{{12.013, -2.7247, 53.684}, {11.172, 0.80202, 53.684}, {10.091, 0.97831, 60.}, {10.953, -2.2414, 60.}}], Polygon[{{11.172, 0.80202, 53.684}, {10.33, 4.3287, 53.684}, {9.2279, 4.1981, 60.}, {10.091, 0.97831, 60.}}], Polygon[{{10.33, 4.3287, 53.684}, {9.4885, 7.8554, 53.684}, {8.3652, 7.4178, 60.}, {9.2279, 4.1981, 60.}}], Polygon[{{9.4885, 7.8554, 53.684}, {8.6469, 11.382, 53.684}, {7.5024, 10.638, 60.}, {8.3652, 7.4178, 60.}}], Polygon[{{8.6469, 11.382, 53.684}, {7.8054, 14.909, 53.684}, {6.6397, 13.857, 60.}, {7.5024, 10.638, 60.}}], Polygon[{{7.8054, 14.909, 53.684}, {6.9638, 18.436, 53.684}, {5.777, 17.077, 60.}, {6.6397, 13.857, 60.}}]}, {Polygon[{{-18.625, 46.402, -60.}, {-20.926, 37.816, -60.}, {-21.173, 35.985, -53.684}, {-19.178, 44.347, -53.684}}], Polygon[{{-20.926, 37.816, -60.}, {-23.226, 29.23, -60.}, {-23.169, 27.623, -53.684}, {-21.173, 35.985, -53.684}}], Polygon[{{-23.226, 29.23, -60.}, {-25.527, 20.644, -60.}, {-25.164, 19.261, -53.684}, {-23.169, 27.623, -53.684}}], Polygon[{{-25.527, 20.644, -60.}, {-27.827, 12.058, -60.}, {-27.159, 10.9, -53.684}, {-25.164, 19.261, -53.684}}], Polygon[{{-27.827, 12.058, -60.}, {-30.128, 3.4716, -60.}, {-29.154, 2.538, -53.684}, {-27.159, 10.9, -53.684}}], Polygon[{{-30.128, 3.4716, -60.}, {-32.429, -5.1144, -60.}, {-31.15, -5.8238, -53.684}, {-29.154, 2.538, -53.684}}], Polygon[{{-32.429, -5.1144, -60.}, {-34.729, -13.7, -60.}, {-33.145, -14.185, -53.684}, {-31.15, -5.8238, -53.684}}], Polygon[{{-34.729, -13.7, -60.}, {-37.03, -22.286, -60.}, {-35.14, -22.547, -53.684}, {-33.145, -14.185, -53.684}}], Polygon[{{-37.03, -22.286, -60.}, {-39.331, -30.872, -60.}, {-37.136, -30.909, -53.684}, {-35.14, -22.547, -53.684}}], Polygon[{{-19.178, 44.347, -53.684}, {-21.173, 35.985, -53.684}, {-21.337, 34.17, -47.368}, {-19.632, 42.298, -47.368}}], Polygon[{{-21.173, 35.985, -53.684}, {-23.169, 27.623, -53.684}, {-23.041, 26.043, -47.368}, {-21.337, 34.17, -47.368}}], Polygon[{{-23.169, 27.623, -53.684}, {-25.164, 19.261, -53.684}, {-24.745, 17.915, -47.368}, {-23.041, 26.043, -47.368}}], Polygon[{{-25.164, 19.261, -53.684}, {-27.159, 10.9, -53.684}, {-26.449, 9.7881, -47.368}, {-24.745, 17.915, -47.368}}], Polygon[{{-27.159, 10.9, -53.684}, {-29.154, 2.538, -53.684}, {-28.153, 1.6607, -47.368}, {-26.449, 9.7881, -47.368}}], Polygon[{{-29.154, 2.538, -53.684}, {-31.15, -5.8238, -53.684}, {-29.857, -6.4666, -47.368}, {-28.153, 1.6607, -47.368}}], Polygon[{{-31.15, -5.8238, -53.684}, {-33.145, -14.185, -53.684}, {-31.561, -14.594, -47.368}, {-29.857, -6.4666, -47.368}}], Polygon[{{-33.145, -14.185, -53.684}, {-35.14, -22.547, -53.684}, {-33.265, -22.721, -47.368}, {-31.561, -14.594, -47.368}}], Polygon[{{-35.14, -22.547, -53.684}, {-37.136, -30.909, -53.684}, {-34.97, -30.849, -47.368}, {-33.265, -22.721, -47.368}}], Polygon[{{-19.632, 42.298, -47.368}, {-21.337, 34.17, -47.368}, {-21.417, 32.375, -41.053}, {-19.989, 40.258, -41.053}}], Polygon[{{-21.337, 34.17, -47.368}, {-23.041, 26.043, -47.368}, {-22.844, 24.491, -41.053}, {-21.417, 32.375, -41.053}}], Polygon[{{-23.041, 26.043, -47.368}, {-24.745, 17.915, -47.368}, {-24.271, 16.608, -41.053}, {-22.844, 24.491, -41.053}}], Polygon[{{-24.745, 17.915, -47.368}, {-26.449, 9.7881, -47.368}, {-25.699, 8.7242, -41.053}, {-24.271, 16.608, -41.053}}], Polygon[{{-26.449, 9.7881, -47.368}, {-28.153, 1.6607, -47.368}, {-27.126, 0.84069, -41.053}, {-25.699, 8.7242, -41.053}}], Polygon[{{-28.153, 1.6607, -47.368}, {-29.857, -6.4666, -47.368}, {-28.554, -7.0428, -41.053}, {-27.126, 0.84069, -41.053}}], Polygon[{{-29.857, -6.4666, -47.368}, {-31.561, -14.594, -47.368}, {-29.981, -14.926, -41.053}, {-28.554, -7.0428, -41.053}}], Polygon[{{-31.561, -14.594, -47.368}, {-33.265, -22.721, -47.368}, {-31.409, -22.81, -41.053}, {-29.981, -14.926, -41.053}}], Polygon[{{-33.265, -22.721, -47.368}, {-34.97, -30.849, -47.368}, {-32.836, -30.693, -41.053}, {-31.409, -22.81, -41.053}}], Polygon[{{-19.989, 40.258, -41.053}, {-21.417, 32.375, -41.053}, {-21.414, 30.602, -34.737}, {-20.249, 38.233, -34.737}}], Polygon[{{-21.417, 32.375, -41.053}, {-22.844, 24.491, -41.053}, {-22.58, 22.971, -34.737}, {-21.414, 30.602, -34.737}}], Polygon[{{-22.844, 24.491, -41.053}, {-24.271, 16.608, -41.053}, {-23.746, 15.34, -34.737}, {-22.58, 22.971, -34.737}}], Polygon[{{-24.271, 16.608, -41.053}, {-25.699, 8.7242, -41.053}, {-24.911, 7.7093, -34.737}, {-23.746, 15.34, -34.737}}], Polygon[{{-25.699, 8.7242, -41.053}, {-27.126, 0.84069, -41.053}, {-26.077, 0.078511, -34.737}, {-24.911, 7.7093, -34.737}}], Polygon[{{-27.126, 0.84069, -41.053}, {-28.554, -7.0428, -41.053}, {-27.242, -7.5523, -34.737}, {-26.077, 0.078511, -34.737}}], Polygon[{{-28.554, -7.0428, -41.053}, {-29.981, -14.926, -41.053}, {-28.408, -15.183, -34.737}, {-27.242, -7.5523, -34.737}}], Polygon[{{-29.981, -14.926, -41.053}, {-31.409, -22.81, -41.053}, {-29.573, -22.814, -34.737}, {-28.408, -15.183, -34.737}}], Polygon[{{-31.409, -22.81, -41.053}, {-32.836, -30.693, -41.053}, {-30.739, -30.445, -34.737}, {-29.573, -22.814, -34.737}}], Polygon[{{-20.249, 38.233, -34.737}, {-21.414, 30.602, -34.737}, {-21.332, 28.854, -28.421}, {-20.413, 36.224, -28.421}}], Polygon[{{-21.414, 30.602, -34.737}, {-22.58, 22.971, -34.737}, {-22.25, 21.484, -28.421}, {-21.332, 28.854, -28.421}}], Polygon[{{-22.58, 22.971, -34.737}, {-23.746, 15.34, -34.737}, {-23.169, 14.115, -28.421}, {-22.25, 21.484, -28.421}}], Polygon[{{-23.746, 15.34, -34.737}, {-24.911, 7.7093, -34.737}, {-24.088, 6.7447, -28.421}, {-23.169, 14.115, -28.421}}], Polygon[{{-24.911, 7.7093, -34.737}, {-26.077, 0.078511, -34.737}, {-25.006, -0.62517, -28.421}, {-24.088, 6.7447, -28.421}}], Polygon[{{-26.077, 0.078511, -34.737}, {-27.242, -7.5523, -34.737}, {-25.925, -7.995, -28.421}, {-25.006, -0.62517, -28.421}}], Polygon[{{-27.242, -7.5523, -34.737}, {-28.408, -15.183, -34.737}, {-26.844, -15.365, -28.421}, {-25.925, -7.995, -28.421}}], Polygon[{{-28.408, -15.183, -34.737}, {-29.573, -22.814, -34.737}, {-27.762, -22.735, -28.421}, {-26.844, -15.365, -28.421}}], Polygon[{{-29.573, -22.814, -34.737}, {-30.739, -30.445, -34.737}, {-28.681, -30.105, -28.421}, {-27.762, -22.735, -28.421}}], Polygon[{{-20.413, 36.224, -28.421}, {-21.332, 28.854, -28.421}, {-21.169, 27.136, -22.105}, {-20.482, 34.237, -22.105}}], Polygon[{{-21.332, 28.854, -28.421}, {-22.25, 21.484, -28.421}, {-21.856, 20.034, -22.105}, {-21.169, 27.136, -22.105}}], Polygon[{{-22.25, 21.484, -28.421}, {-23.169, 14.115, -28.421}, {-22.544, 12.933, -22.105}, {-21.856, 20.034, -22.105}}], Polygon[{{-23.169, 14.115, -28.421}, {-24.088, 6.7447, -28.421}, {-23.231, 5.8315, -22.105}, {-22.544, 12.933, -22.105}}], Polygon[{{-24.088, 6.7447, -28.421}, {-25.006, -0.62517, -28.421}, {-23.918, -1.2698, -22.105}, {-23.231, 5.8315, -22.105}}], Polygon[{{-25.006, -0.62517, -28.421}, {-25.925, -7.995, -28.421}, {-24.605, -8.3712, -22.105}, {-23.918, -1.2698, -22.105}}], Polygon[{{-25.925, -7.995, -28.421}, {-26.844, -15.365, -28.421}, {-25.292, -15.472, -22.105}, {-24.605, -8.3712, -22.105}}], Polygon[{{-26.844, -15.365, -28.421}, {-27.762, -22.735, -28.421}, {-25.979, -22.574, -22.105}, {-25.292, -15.472, -22.105}}], Polygon[{{-27.762, -22.735, -28.421}, {-28.681, -30.105, -28.421}, {-26.666, -29.675, -22.105}, {-25.979, -22.574, -22.105}}], Polygon[{{-20.482, 34.237, -22.105}, {-21.169, 27.136, -22.105}, {-20.929, 25.449, -15.789}, {-20.458, 32.274, -15.789}}], Polygon[{{-21.169, 27.136, -22.105}, {-21.856, 20.034, -22.105}, {-21.4, 18.623, -15.789}, {-20.929, 25.449, -15.789}}], Polygon[{{-21.856, 20.034, -22.105}, {-22.544, 12.933, -22.105}, {-21.871, 11.797, -15.789}, {-21.4, 18.623, -15.789}}], Polygon[{{-22.544, 12.933, -22.105}, {-23.231, 5.8315, -22.105}, {-22.342, 4.9709, -15.789}, {-21.871, 11.797, -15.789}}], Polygon[{{-23.231, 5.8315, -22.105}, {-23.918, -1.2698, -22.105}, {-22.813, -1.855, -15.789}, {-22.342, 4.9709, -15.789}}], Polygon[{{-23.918, -1.2698, -22.105}, {-24.605, -8.3712, -22.105}, {-23.284, -8.6809, -15.789}, {-22.813, -1.855, -15.789}}], Polygon[{{-24.605, -8.3712, -22.105}, {-25.292, -15.472, -22.105}, {-23.755, -15.507, -15.789}, {-23.284, -8.6809, -15.789}}], Polygon[{{-25.292, -15.472, -22.105}, {-25.979, -22.574, -22.105}, {-24.226, -22.333, -15.789}, {-23.755, -15.507, -15.789}}], Polygon[{{-25.979, -22.574, -22.105}, {-26.666, -29.675, -22.105}, {-24.697, -29.158, -15.789}, {-24.226, -22.333, -15.789}}], Polygon[{{-20.458, 32.274, -15.789}, {-20.929, 25.449, -15.789}, {-20.613, 23.796, -9.4737}, {-20.343, 30.34, -9.4737}}], Polygon[{{-20.929, 25.449, -15.789}, {-21.4, 18.623, -15.789}, {-20.884, 17.252, -9.4737}, {-20.613, 23.796, -9.4737}}], Polygon[{{-21.4, 18.623, -15.789}, {-21.871, 11.797, -15.789}, {-21.155, 10.708, -9.4737}, {-20.884, 17.252, -9.4737}}], Polygon[{{-21.871, 11.797, -15.789}, {-22.342, 4.9709, -15.789}, {-21.425, 4.1638, -9.4737}, {-21.155, 10.708, -9.4737}}], Polygon[{{-22.342, 4.9709, -15.789}, {-22.813, -1.855, -15.789}, {-21.696, -2.3803, -9.4737}, {-21.425, 4.1638, -9.4737}}], Polygon[{{-22.813, -1.855, -15.789}, {-23.284, -8.6809, -15.789}, {-21.967, -8.9244, -9.4737}, {-21.696, -2.3803, -9.4737}}], Polygon[{{-23.284, -8.6809, -15.789}, {-23.755, -15.507, -15.789}, {-22.237, -15.469, -9.4737}, {-21.967, -8.9244, -9.4737}}], Polygon[{{-23.755, -15.507, -15.789}, {-24.226, -22.333, -15.789}, {-22.508, -22.013, -9.4737}, {-22.237, -15.469, -9.4737}}], Polygon[{{-24.226, -22.333, -15.789}, {-24.697, -29.158, -15.789}, {-22.779, -28.557, -9.4737}, {-22.508, -22.013, -9.4737}}], Polygon[{{-20.343, 30.34, -9.4737}, {-20.613, 23.796, -9.4737}, {-20.223, 22.181, -3.1579}, {-20.136, 28.438, -3.1579}}], Polygon[{{-20.613, 23.796, -9.4737}, {-20.884, 17.252, -9.4737}, {-20.309, 15.925, -3.1579}, {-20.223, 22.181, -3.1579}}], Polygon[{{-20.884, 17.252, -9.4737}, {-21.155, 10.708, -9.4737}, {-20.395, 9.6679, -3.1579}, {-20.309, 15.925, -3.1579}}], Polygon[{{-21.155, 10.708, -9.4737}, {-21.425, 4.1638, -9.4737}, {-20.481, 3.4112, -3.1579}, {-20.395, 9.6679, -3.1579}}], Polygon[{{-21.425, 4.1638, -9.4737}, {-21.696, -2.3803, -9.4737}, {-20.567, -2.8455, -3.1579}, {-20.481, 3.4112, -3.1579}}], Polygon[{{-21.696, -2.3803, -9.4737}, {-21.967, -8.9244, -9.4737}, {-20.654, -9.1023, -3.1579}, {-20.567, -2.8455, -3.1579}}], Polygon[{{-21.967, -8.9244, -9.4737}, {-22.237, -15.469, -9.4737}, {-20.74, -15.359, -3.1579}, {-20.654, -9.1023, -3.1579}}], Polygon[{{-22.237, -15.469, -9.4737}, {-22.508, -22.013, -9.4737}, {-20.826, -21.616, -3.1579}, {-20.74, -15.359, -3.1579}}], Polygon[{{-22.508, -22.013, -9.4737}, {-22.779, -28.557, -9.4737}, {-20.912, -27.872, -3.1579}, {-20.826, -21.616, -3.1579}}], Polygon[{{-20.136, 28.438, -3.1579}, {-20.223, 22.181, -3.1579}, {-19.759, 20.607, 3.1579}, {-19.842, 26.571, 3.1579}}], Polygon[{{-20.223, 22.181, -3.1579}, {-20.309, 15.925, -3.1579}, {-19.677, 14.643, 3.1579}, {-19.759, 20.607, 3.1579}}], Polygon[{{-20.309, 15.925, -3.1579}, {-20.395, 9.6679, -3.1579}, {-19.595, 8.6782, 3.1579}, {-19.677, 14.643, 3.1579}}], Polygon[{{-20.395, 9.6679, -3.1579}, {-20.481, 3.4112, -3.1579}, {-19.513, 2.7139, 3.1579}, {-19.595, 8.6782, 3.1579}}], Polygon[{{-20.481, 3.4112, -3.1579}, {-20.567, -2.8455, -3.1579}, {-19.431, -3.2505, 3.1579}, {-19.513, 2.7139, 3.1579}}], Polygon[{{-20.567, -2.8455, -3.1579}, {-20.654, -9.1023, -3.1579}, {-19.349, -9.2148, 3.1579}, {-19.431, -3.2505, 3.1579}}], Polygon[{{-20.654, -9.1023, -3.1579}, {-20.74, -15.359, -3.1579}, {-19.266, -15.179, 3.1579}, {-19.349, -9.2148, 3.1579}}], Polygon[{{-20.74, -15.359, -3.1579}, {-20.826, -21.616, -3.1579}, {-19.184, -21.144, 3.1579}, {-19.266, -15.179, 3.1579}}], Polygon[{{-20.826, -21.616, -3.1579}, {-20.912, -27.872, -3.1579}, {-19.102, -27.108, 3.1579}, {-19.184, -21.144, 3.1579}}], Polygon[{{-19.842, 26.571, 3.1579}, {-19.759, 20.607, 3.1579}, {-19.226, 19.076, 9.4737}, {-19.46, 24.743, 9.4737}}], Polygon[{{-19.759, 20.607, 3.1579}, {-19.677, 14.643, 3.1579}, {-18.991, 13.408, 9.4737}, {-19.226, 19.076, 9.4737}}], Polygon[{{-19.677, 14.643, 3.1579}, {-19.595, 8.6782, 3.1579}, {-18.757, 7.7403, 9.4737}, {-18.991, 13.408, 9.4737}}], Polygon[{{-19.595, 8.6782, 3.1579}, {-19.513, 2.7139, 3.1579}, {-18.523, 2.0726, 9.4737}, {-18.757, 7.7403, 9.4737}}], Polygon[{{-19.513, 2.7139, 3.1579}, {-19.431, -3.2505, 3.1579}, {-18.288, -3.5951, 9.4737}, {-18.523, 2.0726, 9.4737}}], Polygon[{{-19.431, -3.2505, 3.1579}, {-19.349, -9.2148, 3.1579}, {-18.054, -9.2628, 9.4737}, {-18.288, -3.5951, 9.4737}}], Polygon[{{-19.349, -9.2148, 3.1579}, {-19.266, -15.179, 3.1579}, {-17.819, -14.93, 9.4737}, {-18.054, -9.2628, 9.4737}}], Polygon[{{-19.266, -15.179, 3.1579}, {-19.184, -21.144, 3.1579}, {-17.585, -20.598, 9.4737}, {-17.819, -14.93, 9.4737}}], Polygon[{{-19.184, -21.144, 3.1579}, {-19.102, -27.108, 3.1579}, {-17.35, -26.266, 9.4737}, {-17.585, -20.598, 9.4737}}], Polygon[{{-19.46, 24.743, 9.4737}, {-19.226, 19.076, 9.4737}, {-18.624, 17.59, 15.789}, {-18.994, 22.957, 15.789}}], Polygon[{{-19.226, 19.076, 9.4737}, {-18.991, 13.408, 9.4737}, {-18.253, 12.223, 15.789}, {-18.624, 17.59, 15.789}}], Polygon[{{-18.991, 13.408, 9.4737}, {-18.757, 7.7403, 9.4737}, {-17.883, 6.8554, 15.789}, {-18.253, 12.223, 15.789}}], Polygon[{{-18.757, 7.7403, 9.4737}, {-18.523, 2.0726, 9.4737}, {-17.512, 1.488, 15.789}, {-17.883, 6.8554, 15.789}}], Polygon[{{-18.523, 2.0726, 9.4737}, {-18.288, -3.5951, 9.4737}, {-17.142, -3.8793, 15.789}, {-17.512, 1.488, 15.789}}], Polygon[{{-18.288, -3.5951, 9.4737}, {-18.054, -9.2628, 9.4737}, {-16.772, -9.2467, 15.789}, {-17.142, -3.8793, 15.789}}], Polygon[{{-18.054, -9.2628, 9.4737}, {-17.819, -14.93, 9.4737}, {-16.401, -14.614, 15.789}, {-16.772, -9.2467, 15.789}}], Polygon[{{-17.819, -14.93, 9.4737}, {-17.585, -20.598, 9.4737}, {-16.031, -19.981, 15.789}, {-16.401, -14.614, 15.789}}], Polygon[{{-17.585, -20.598, 9.4737}, {-17.35, -26.266, 9.4737}, {-15.661, -25.349, 15.789}, {-16.031, -19.981, 15.789}}], Polygon[{{-18.994, 22.957, 15.789}, {-18.624, 17.59, 15.789}, {-17.955, 16.153, 22.105}, {-18.445, 21.217, 22.105}}], Polygon[{{-18.624, 17.59, 15.789}, {-18.253, 12.223, 15.789}, {-17.465, 11.089, 22.105}, {-17.955, 16.153, 22.105}}], Polygon[{{-18.253, 12.223, 15.789}, {-17.883, 6.8554, 15.789}, {-16.975, 6.0248, 22.105}, {-17.465, 11.089, 22.105}}], Polygon[{{-17.883, 6.8554, 15.789}, {-17.512, 1.488, 15.789}, {-16.485, 0.96078, 22.105}, {-16.975, 6.0248, 22.105}}], Polygon[{{-17.512, 1.488, 15.789}, {-17.142, -3.8793, 15.789}, {-15.995, -4.1033, 22.105}, {-16.485, 0.96078, 22.105}}], Polygon[{{-17.142, -3.8793, 15.789}, {-16.772, -9.2467, 15.789}, {-15.505, -9.1674, 22.105}, {-15.995, -4.1033, 22.105}}], Polygon[{{-16.772, -9.2467, 15.789}, {-16.401, -14.614, 15.789}, {-15.015, -14.231, 22.105}, {-15.505, -9.1674, 22.105}}], Polygon[{{-16.401, -14.614, 15.789}, {-16.031, -19.981, 15.789}, {-14.525, -19.296, 22.105}, {-15.015, -14.231, 22.105}}], Polygon[{{-16.031, -19.981, 15.789}, {-15.661, -25.349, 15.789}, {-14.035, -24.36, 22.105}, {-14.525, -19.296, 22.105}}], Polygon[{{-18.445, 21.217, 22.105}, {-17.955, 16.153, 22.105}, {-17.222, 14.767, 28.421}, {-17.815, 19.525, 28.421}}], Polygon[{{-17.955, 16.153, 22.105}, {-17.465, 11.089, 22.105}, {-16.629, 10.008, 28.421}, {-17.222, 14.767, 28.421}}], Polygon[{{-17.465, 11.089, 22.105}, {-16.975, 6.0248, 22.105}, {-16.036, 5.2498, 28.421}, {-16.629, 10.008, 28.421}}], Polygon[{{-16.975, 6.0248, 22.105}, {-16.485, 0.96078, 22.105}, {-15.443, 0.49131, 28.421}, {-16.036, 5.2498, 28.421}}], Polygon[{{-16.485, 0.96078, 22.105}, {-15.995, -4.1033, 22.105}, {-14.849, -4.2672, 28.421}, {-15.443, 0.49131, 28.421}}], Polygon[{{-15.995, -4.1033, 22.105}, {-15.505, -9.1674, 22.105}, {-14.256, -9.0257, 28.421}, {-14.849, -4.2672, 28.421}}], Polygon[{{-15.505, -9.1674, 22.105}, {-15.015, -14.231, 22.105}, {-13.663, -13.784, 28.421}, {-14.256, -9.0257, 28.421}}], Polygon[{{-15.015, -14.231, 22.105}, {-14.525, -19.296, 22.105}, {-13.07, -18.543, 28.421}, {-13.663, -13.784, 28.421}}], Polygon[{{-14.525, -19.296, 22.105}, {-14.035, -24.36, 22.105}, {-12.477, -23.301, 28.421}, {-13.07, -18.543, 28.421}}], Polygon[{{-17.815, 19.525, 28.421}, {-17.222, 14.767, 28.421}, {-16.427, 13.434, 34.737}, {-17.107, 17.885, 34.737}}], Polygon[{{-17.222, 14.767, 28.421}, {-16.629, 10.008, 28.421}, {-15.747, 8.9826, 34.737}, {-16.427, 13.434, 34.737}}], Polygon[{{-16.629, 10.008, 28.421}, {-16.036, 5.2498, 28.421}, {-15.067, 4.5313, 34.737}, {-15.747, 8.9826, 34.737}}], Polygon[{{-16.036, 5.2498, 28.421}, {-15.443, 0.49131, 28.421}, {-14.388, 0.080025, 34.737}, {-15.067, 4.5313, 34.737}}], Polygon[{{-15.443, 0.49131, 28.421}, {-14.849, -4.2672, 28.421}, {-13.708, -4.3713, 34.737}, {-14.388, 0.080025, 34.737}}], Polygon[{{-14.849, -4.2672, 28.421}, {-14.256, -9.0257, 28.421}, {-13.028, -8.8226, 34.737}, {-13.708, -4.3713, 34.737}}], Polygon[{{-14.256, -9.0257, 28.421}, {-13.663, -13.784, 28.421}, {-12.348, -13.274, 34.737}, {-13.028, -8.8226, 34.737}}], Polygon[{{-13.663, -13.784, 28.421}, {-13.07, -18.543, 28.421}, {-11.668, -17.725, 34.737}, {-12.348, -13.274, 34.737}}], Polygon[{{-13.07, -18.543, 28.421}, {-12.477, -23.301, 28.421}, {-10.988, -22.176, 34.737}, {-11.668, -17.725, 34.737}}], Polygon[{{-17.107, 17.885, 34.737}, {-16.427, 13.434, 34.737}, {-15.573, 12.157, 41.053}, {-16.323, 16.3, 41.053}}], Polygon[{{-16.427, 13.434, 34.737}, {-15.747, 8.9826, 34.737}, {-14.823, 8.0136, 41.053}, {-15.573, 12.157, 41.053}}], Polygon[{{-15.747, 8.9826, 34.737}, {-15.067, 4.5313, 34.737}, {-14.073, 3.8704, 41.053}, {-14.823, 8.0136, 41.053}}], Polygon[{{-15.067, 4.5313, 34.737}, {-14.388, 0.080025, 34.737}, {-13.322, -0.27276, 41.053}, {-14.073, 3.8704, 41.053}}], Polygon[{{-14.388, 0.080025, 34.737}, {-13.708, -4.3713, 34.737}, {-12.572, -4.4159, 41.053}, {-13.322, -0.27276, 41.053}}], Polygon[{{-13.708, -4.3713, 34.737}, {-13.028, -8.8226, 34.737}, {-11.822, -8.5591, 41.053}, {-12.572, -4.4159, 41.053}}], Polygon[{{-13.028, -8.8226, 34.737}, {-12.348, -13.274, 34.737}, {-11.072, -12.702, 41.053}, {-11.822, -8.5591, 41.053}}], Polygon[{{-12.348, -13.274, 34.737}, {-11.668, -17.725, 34.737}, {-10.322, -16.845, 41.053}, {-11.072, -12.702, 41.053}}], Polygon[{{-11.668, -17.725, 34.737}, {-10.988, -22.176, 34.737}, {-9.5715, -20.989, 41.053}, {-10.322, -16.845, 41.053}}], Polygon[{{-16.323, 16.3, 41.053}, {-15.573, 12.157, 41.053}, {-14.662, 10.937, 47.368}, {-15.466, 14.772, 47.368}}], Polygon[{{-15.573, 12.157, 41.053}, {-14.823, 8.0136, 41.053}, {-13.858, 7.1027, 47.368}, {-14.662, 10.937, 47.368}}], Polygon[{{-14.823, 8.0136, 41.053}, {-14.073, 3.8704, 41.053}, {-13.054, 3.2679, 47.368}, {-13.858, 7.1027, 47.368}}], Polygon[{{-14.073, 3.8704, 41.053}, {-13.322, -0.27276, 41.053}, {-12.25, -0.56682, 47.368}, {-13.054, 3.2679, 47.368}}], Polygon[{{-13.322, -0.27276, 41.053}, {-12.572, -4.4159, 41.053}, {-11.446, -4.4016, 47.368}, {-12.25, -0.56682, 47.368}}], Polygon[{{-12.572, -4.4159, 41.053}, {-11.822, -8.5591, 41.053}, {-10.642, -8.2363, 47.368}, {-11.446, -4.4016, 47.368}}], Polygon[{{-11.822, -8.5591, 41.053}, {-11.072, -12.702, 41.053}, {-9.8375, -12.071, 47.368}, {-10.642, -8.2363, 47.368}}], Polygon[{{-11.072, -12.702, 41.053}, {-10.322, -16.845, 41.053}, {-9.0334, -15.906, 47.368}, {-9.8375, -12.071, 47.368}}], Polygon[{{-10.322, -16.845, 41.053}, {-9.5715, -20.989, 41.053}, {-8.2294, -19.741, 47.368}, {-9.0334, -15.906, 47.368}}], Polygon[{{-15.466, 14.772, 47.368}, {-14.662, 10.937, 47.368}, {-13.696, 9.7781, 53.684}, {-14.538, 13.305, 53.684}}], Polygon[{{-14.662, 10.937, 47.368}, {-13.858, 7.1027, 47.368}, {-12.855, 6.2514, 53.684}, {-13.696, 9.7781, 53.684}}], Polygon[{{-13.858, 7.1027, 47.368}, {-13.054, 3.2679, 47.368}, {-12.013, 2.7247, 53.684}, {-12.855, 6.2514, 53.684}}], Polygon[{{-13.054, 3.2679, 47.368}, {-12.25, -0.56682, 47.368}, {-11.172, -0.80202, 53.684}, {-12.013, 2.7247, 53.684}}], Polygon[{{-12.25, -0.56682, 47.368}, {-11.446, -4.4016, 47.368}, {-10.33, -4.3287, 53.684}, {-11.172, -0.80202, 53.684}}], Polygon[{{-11.446, -4.4016, 47.368}, {-10.642, -8.2363, 47.368}, {-9.4885, -7.8554, 53.684}, {-10.33, -4.3287, 53.684}}], Polygon[{{-10.642, -8.2363, 47.368}, {-9.8375, -12.071, 47.368}, {-8.6469, -11.382, 53.684}, {-9.4885, -7.8554, 53.684}}], Polygon[{{-9.8375, -12.071, 47.368}, {-9.0334, -15.906, 47.368}, {-7.8054, -14.909, 53.684}, {-8.6469, -11.382, 53.684}}], Polygon[{{-9.0334, -15.906, 47.368}, {-8.2294, -19.741, 47.368}, {-6.9638, -18.436, 53.684}, {-7.8054, -14.909, 53.684}}], Polygon[{{-14.538, 13.305, 53.684}, {-13.696, 9.7781, 53.684}, {-12.679, 8.6809, 60.}, {-13.542, 11.901, 60.}}], Polygon[{{-13.696, 9.7781, 53.684}, {-12.855, 6.2514, 53.684}, {-11.816, 5.4612, 60.}, {-12.679, 8.6809, 60.}}], Polygon[{{-12.855, 6.2514, 53.684}, {-12.013, 2.7247, 53.684}, {-10.953, 2.2414, 60.}, {-11.816, 5.4612, 60.}}], Polygon[{{-12.013, 2.7247, 53.684}, {-11.172, -0.80202, 53.684}, {-10.091, -0.97831, 60.}, {-10.953, 2.2414, 60.}}], Polygon[{{-11.172, -0.80202, 53.684}, {-10.33, -4.3287, 53.684}, {-9.2279, -4.1981, 60.}, {-10.091, -0.97831, 60.}}], Polygon[{{-10.33, -4.3287, 53.684}, {-9.4885, -7.8554, 53.684}, {-8.3652, -7.4178, 60.}, {-9.2279, -4.1981, 60.}}], Polygon[{{-9.4885, -7.8554, 53.684}, {-8.6469, -11.382, 53.684}, {-7.5024, -10.638, 60.}, {-8.3652, -7.4178, 60.}}], Polygon[{{-8.6469, -11.382, 53.684}, {-7.8054, -14.909, 53.684}, {-6.6397, -13.857, 60.}, {-7.5024, -10.638, 60.}}], Polygon[{{-7.8054, -14.909, 53.684}, {-6.9638, -18.436, 53.684}, {-5.777, -17.077, 60.}, {-6.6397, -13.857, 60.}}]}, {Polygon[{{-18.625, 46.402, -60.}, {-12.186, 44.676, -60.}, {-12.921, 42.854, -53.684}, {-19.178, 44.347, -53.684}}], Polygon[{{-12.186, 44.676, -60.}, {-5.746, 42.951, -60.}, {-6.6639, 41.36, -53.684}, {-12.921, 42.854, -53.684}}], Polygon[{{-5.746, 42.951, -60.}, {0.6935, 41.225, -60.}, {-0.4068, 39.867, -53.684}, {-6.6639, 41.36, -53.684}}], Polygon[{{0.6935, 41.225, -60.}, {7.133, 39.5, -60.}, {5.8503, 38.374, -53.684}, {-0.4068, 39.867, -53.684}}], Polygon[{{7.133, 39.5, -60.}, {13.573, 37.774, -60.}, {12.107, 36.881, -53.684}, {5.8503, 38.374, -53.684}}], Polygon[{{13.573, 37.774, -60.}, {20.012, 36.049, -60.}, {18.364, 35.388, -53.684}, {12.107, 36.881, -53.684}}], Polygon[{{20.012, 36.049, -60.}, {26.452, 34.323, -60.}, {24.621, 33.895, -53.684}, {18.364, 35.388, -53.684}}], Polygon[{{26.452, 34.323, -60.}, {32.891, 32.598, -60.}, {30.879, 32.402, -53.684}, {24.621, 33.895, -53.684}}], Polygon[{{32.891, 32.598, -60.}, {39.331, 30.872, -60.}, {37.136, 30.909, -53.684}, {30.879, 32.402, -53.684}}], Polygon[{{-19.178, 44.347, -53.684}, {-12.921, 42.854, -53.684}, {-13.566, 41.025, -47.368}, {-19.632, 42.298, -47.368}}], Polygon[{{-12.921, 42.854, -53.684}, {-6.6639, 41.36, -53.684}, {-7.4987, 39.753, -47.368}, {-13.566, 41.025, -47.368}}], Polygon[{{-6.6639, 41.36, -53.684}, {-0.4068, 39.867, -53.684}, {-1.4318, 38.481, -47.368}, {-7.4987, 39.753, -47.368}}], Polygon[{{-0.4068, 39.867, -53.684}, {5.8503, 38.374, -53.684}, {4.6351, 37.209, -47.368}, {-1.4318, 38.481, -47.368}}], Polygon[{{5.8503, 38.374, -53.684}, {12.107, 36.881, -53.684}, {10.702, 35.937, -47.368}, {4.6351, 37.209, -47.368}}], Polygon[{{12.107, 36.881, -53.684}, {18.364, 35.388, -53.684}, {16.769, 34.665, -47.368}, {10.702, 35.937, -47.368}}], Polygon[{{18.364, 35.388, -53.684}, {24.621, 33.895, -53.684}, {22.836, 33.393, -47.368}, {16.769, 34.665, -47.368}}], Polygon[{{24.621, 33.895, -53.684}, {30.879, 32.402, -53.684}, {28.903, 32.121, -47.368}, {22.836, 33.393, -47.368}}], Polygon[{{30.879, 32.402, -53.684}, {37.136, 30.909, -53.684}, {34.97, 30.849, -47.368}, {28.903, 32.121, -47.368}}], Polygon[{{-19.632, 42.298, -47.368}, {-13.566, 41.025, -47.368}, {-14.12, 39.195, -41.053}, {-19.989, 40.258, -41.053}}], Polygon[{{-13.566, 41.025, -47.368}, {-7.4987, 39.753, -47.368}, {-8.2502, 38.133, -41.053}, {-14.12, 39.195, -41.053}}], Polygon[{{-7.4987, 39.753, -47.368}, {-1.4318, 38.481, -47.368}, {-2.3807, 37.07, -41.053}, {-8.2502, 38.133, -41.053}}], Polygon[{{-1.4318, 38.481, -47.368}, {4.6351, 37.209, -47.368}, {3.4887, 36.007, -41.053}, {-2.3807, 37.07, -41.053}}], Polygon[{{4.6351, 37.209, -47.368}, {10.702, 35.937, -47.368}, {9.3582, 34.944, -41.053}, {3.4887, 36.007, -41.053}}], Polygon[{{10.702, 35.937, -47.368}, {16.769, 34.665, -47.368}, {15.228, 33.882, -41.053}, {9.3582, 34.944, -41.053}}], Polygon[{{16.769, 34.665, -47.368}, {22.836, 33.393, -47.368}, {21.097, 32.819, -41.053}, {15.228, 33.882, -41.053}}], Polygon[{{22.836, 33.393, -47.368}, {28.903, 32.121, -47.368}, {26.967, 31.756, -41.053}, {21.097, 32.819, -41.053}}], Polygon[{{28.903, 32.121, -47.368}, {34.97, 30.849, -47.368}, {32.836, 30.693, -41.053}, {26.967, 31.756, -41.053}}], Polygon[{{-19.989, 40.258, -41.053}, {-14.12, 39.195, -41.053}, {-14.584, 37.367, -34.737}, {-20.249, 38.233, -34.737}}], Polygon[{{-14.12, 39.195, -41.053}, {-8.2502, 38.133, -41.053}, {-8.9184, 36.502, -34.737}, {-14.584, 37.367, -34.737}}], Polygon[{{-8.2502, 38.133, -41.053}, {-2.3807, 37.07, -41.053}, {-3.2531, 35.637, -34.737}, {-8.9184, 36.502, -34.737}}], Polygon[{{-2.3807, 37.07, -41.053}, {3.4887, 36.007, -41.053}, {2.4122, 34.771, -34.737}, {-3.2531, 35.637, -34.737}}], Polygon[{{3.4887, 36.007, -41.053}, {9.3582, 34.944, -41.053}, {8.0775, 33.906, -34.737}, {2.4122, 34.771, -34.737}}], Polygon[{{9.3582, 34.944, -41.053}, {15.228, 33.882, -41.053}, {13.743, 33.041, -34.737}, {8.0775, 33.906, -34.737}}], Polygon[{{15.228, 33.882, -41.053}, {21.097, 32.819, -41.053}, {19.408, 32.175, -34.737}, {13.743, 33.041, -34.737}}], Polygon[{{21.097, 32.819, -41.053}, {26.967, 31.756, -41.053}, {25.073, 31.31, -34.737}, {19.408, 32.175, -34.737}}], Polygon[{{26.967, 31.756, -41.053}, {32.836, 30.693, -41.053}, {30.739, 30.445, -34.737}, {25.073, 31.31, -34.737}}], Polygon[{{-20.249, 38.233, -34.737}, {-14.584, 37.367, -34.737}, {-14.958, 35.544, -28.421}, {-20.413, 36.224, -28.421}}], Polygon[{{-14.584, 37.367, -34.737}, {-8.9184, 36.502, -34.737}, {-9.5032, 34.864, -28.421}, {-14.958, 35.544, -28.421}}], Polygon[{{-8.9184, 36.502, -34.737}, {-3.2531, 35.637, -34.737}, {-4.0484, 34.184, -28.421}, {-9.5032, 34.864, -28.421}}], Polygon[{{-3.2531, 35.637, -34.737}, {2.4122, 34.771, -34.737}, {1.4065, 33.504, -28.421}, {-4.0484, 34.184, -28.421}}], Polygon[{{2.4122, 34.771, -34.737}, {8.0775, 33.906, -34.737}, {6.8614, 32.824, -28.421}, {1.4065, 33.504, -28.421}}], Polygon[{{8.0775, 33.906, -34.737}, {13.743, 33.041, -34.737}, {12.316, 32.144, -28.421}, {6.8614, 32.824, -28.421}}], Polygon[{{13.743, 33.041, -34.737}, {19.408, 32.175, -34.737}, {17.771, 31.465, -28.421}, {12.316, 32.144, -28.421}}], Polygon[{{19.408, 32.175, -34.737}, {25.073, 31.31, -34.737}, {23.226, 30.785, -28.421}, {17.771, 31.465, -28.421}}], Polygon[{{25.073, 31.31, -34.737}, {30.739, 30.445, -34.737}, {28.681, 30.105, -28.421}, {23.226, 30.785, -28.421}}], Polygon[{{-20.413, 36.224, -28.421}, {-14.958, 35.544, -28.421}, {-15.244, 33.73, -22.105}, {-20.482, 34.237, -22.105}}], Polygon[{{-14.958, 35.544, -28.421}, {-9.5032, 34.864, -28.421}, {-10.005, 33.223, -22.105}, {-15.244, 33.73, -22.105}}], Polygon[{{-9.5032, 34.864, -28.421}, {-4.0484, 34.184, -28.421}, {-4.7662, 32.716, -22.105}, {-10.005, 33.223, -22.105}}], Polygon[{{-4.0484, 34.184, -28.421}, {1.4065, 33.504, -28.421}, {0.47248, 32.209, -22.105}, {-4.7662, 32.716, -22.105}}], Polygon[{{1.4065, 33.504, -28.421}, {6.8614, 32.824, -28.421}, {5.7112, 31.703, -22.105}, {0.47248, 32.209, -22.105}}], Polygon[{{6.8614, 32.824, -28.421}, {12.316, 32.144, -28.421}, {10.95, 31.196, -22.105}, {5.7112, 31.703, -22.105}}], Polygon[{{12.316, 32.144, -28.421}, {17.771, 31.465, -28.421}, {16.189, 30.689, -22.105}, {10.95, 31.196, -22.105}}], Polygon[{{17.771, 31.465, -28.421}, {23.226, 30.785, -28.421}, {21.427, 30.182, -22.105}, {16.189, 30.689, -22.105}}], Polygon[{{23.226, 30.785, -28.421}, {28.681, 30.105, -28.421}, {26.666, 29.675, -22.105}, {21.427, 30.182, -22.105}}], Polygon[{{-20.482, 34.237, -22.105}, {-15.244, 33.73, -22.105}, {-15.441, 31.928, -15.789}, {-20.458, 32.274, -15.789}}], Polygon[{{-15.244, 33.73, -22.105}, {-10.005, 33.223, -22.105}, {-10.424, 31.582, -15.789}, {-15.441, 31.928, -15.789}}], Polygon[{{-10.005, 33.223, -22.105}, {-4.7662, 32.716, -22.105}, {-5.4064, 31.236, -15.789}, {-10.424, 31.582, -15.789}}], Polygon[{{-4.7662, 32.716, -22.105}, {0.47248, 32.209, -22.105}, {-0.3891, 30.89, -15.789}, {-5.4064, 31.236, -15.789}}], Polygon[{{0.47248, 32.209, -22.105}, {5.7112, 31.703, -22.105}, {4.6282, 30.543, -15.789}, {-0.3891, 30.89, -15.789}}], Polygon[{{5.7112, 31.703, -22.105}, {10.95, 31.196, -22.105}, {9.6455, 30.197, -15.789}, {4.6282, 30.543, -15.789}}], Polygon[{{10.95, 31.196, -22.105}, {16.189, 30.689, -22.105}, {14.663, 29.851, -15.789}, {9.6455, 30.197, -15.789}}], Polygon[{{16.189, 30.689, -22.105}, {21.427, 30.182, -22.105}, {19.68, 29.505, -15.789}, {14.663, 29.851, -15.789}}], Polygon[{{21.427, 30.182, -22.105}, {26.666, 29.675, -22.105}, {24.697, 29.158, -15.789}, {19.68, 29.505, -15.789}}], Polygon[{{-20.458, 32.274, -15.789}, {-15.441, 31.928, -15.789}, {-15.551, 30.142, -9.4737}, {-20.343, 30.34, -9.4737}}], Polygon[{{-15.441, 31.928, -15.789}, {-10.424, 31.582, -15.789}, {-10.76, 29.944, -9.4737}, {-15.551, 30.142, -9.4737}}], Polygon[{{-10.424, 31.582, -15.789}, {-5.4064, 31.236, -15.789}, {-5.9688, 29.746, -9.4737}, {-10.76, 29.944, -9.4737}}], Polygon[{{-5.4064, 31.236, -15.789}, {-0.3891, 30.89, -15.789}, {-1.1776, 29.548, -9.4737}, {-5.9688, 29.746, -9.4737}}], Polygon[{{-0.3891, 30.89, -15.789}, {4.6282, 30.543, -15.789}, {3.6136, 29.349, -9.4737}, {-1.1776, 29.548, -9.4737}}], Polygon[{{4.6282, 30.543, -15.789}, {9.6455, 30.197, -15.789}, {8.4048, 29.151, -9.4737}, {3.6136, 29.349, -9.4737}}], Polygon[{{9.6455, 30.197, -15.789}, {14.663, 29.851, -15.789}, {13.196, 28.953, -9.4737}, {8.4048, 29.151, -9.4737}}], Polygon[{{14.663, 29.851, -15.789}, {19.68, 29.505, -15.789}, {17.987, 28.755, -9.4737}, {13.196, 28.953, -9.4737}}], Polygon[{{19.68, 29.505, -15.789}, {24.697, 29.158, -15.789}, {22.779, 28.557, -9.4737}, {17.987, 28.755, -9.4737}}], Polygon[{{-20.343, 30.34, -9.4737}, {-15.551, 30.142, -9.4737}, {-15.575, 28.375, -3.1579}, {-20.136, 28.438, -3.1579}}], Polygon[{{-15.551, 30.142, -9.4737}, {-10.76, 29.944, -9.4737}, {-11.014, 28.312, -3.1579}, {-15.575, 28.375, -3.1579}}], Polygon[{{-10.76, 29.944, -9.4737}, {-5.9688, 29.746, -9.4737}, {-6.4535, 28.249, -3.1579}, {-11.014, 28.312, -3.1579}}], Polygon[{{-5.9688, 29.746, -9.4737}, {-1.1776, 29.548, -9.4737}, {-1.8925, 28.187, -3.1579}, {-6.4535, 28.249, -3.1579}}], Polygon[{{-1.1776, 29.548, -9.4737}, {3.6136, 29.349, -9.4737}, {2.6685, 28.124, -3.1579}, {-1.8925, 28.187, -3.1579}}], Polygon[{{3.6136, 29.349, -9.4737}, {8.4048, 29.151, -9.4737}, {7.2294, 28.061, -3.1579}, {2.6685, 28.124, -3.1579}}], Polygon[{{8.4048, 29.151, -9.4737}, {13.196, 28.953, -9.4737}, {11.79, 27.998, -3.1579}, {7.2294, 28.061, -3.1579}}], Polygon[{{13.196, 28.953, -9.4737}, {17.987, 28.755, -9.4737}, {16.351, 27.935, -3.1579}, {11.79, 27.998, -3.1579}}], Polygon[{{17.987, 28.755, -9.4737}, {22.779, 28.557, -9.4737}, {20.912, 27.872, -3.1579}, {16.351, 27.935, -3.1579}}], Polygon[{{-20.136, 28.438, -3.1579}, {-15.575, 28.375, -3.1579}, {-15.515, 26.631, 3.1579}, {-19.842, 26.571, 3.1579}}], Polygon[{{-15.575, 28.375, -3.1579}, {-11.014, 28.312, -3.1579}, {-11.188, 26.69, 3.1579}, {-15.515, 26.631, 3.1579}}], Polygon[{{-11.014, 28.312, -3.1579}, {-6.4535, 28.249, -3.1579}, {-6.8605, 26.75, 3.1579}, {-11.188, 26.69, 3.1579}}], Polygon[{{-6.4535, 28.249, -3.1579}, {-1.8925, 28.187, -3.1579}, {-2.5334, 26.81, 3.1579}, {-6.8605, 26.75, 3.1579}}], Polygon[{{-1.8925, 28.187, -3.1579}, {2.6685, 28.124, -3.1579}, {1.7937, 26.869, 3.1579}, {-2.5334, 26.81, 3.1579}}], Polygon[{{2.6685, 28.124, -3.1579}, {7.2294, 28.061, -3.1579}, {6.1208, 26.929, 3.1579}, {1.7937, 26.869, 3.1579}}], Polygon[{{7.2294, 28.061, -3.1579}, {11.79, 27.998, -3.1579}, {10.448, 26.989, 3.1579}, {6.1208, 26.929, 3.1579}}], Polygon[{{11.79, 27.998, -3.1579}, {16.351, 27.935, -3.1579}, {14.775, 27.048, 3.1579}, {10.448, 26.989, 3.1579}}], Polygon[{{16.351, 27.935, -3.1579}, {20.912, 27.872, -3.1579}, {19.102, 27.108, 3.1579}, {14.775, 27.048, 3.1579}}], Polygon[{{-19.842, 26.571, 3.1579}, {-15.515, 26.631, 3.1579}, {-15.37, 24.912, 9.4737}, {-19.46, 24.743, 9.4737}}], Polygon[{{-15.515, 26.631, 3.1579}, {-11.188, 26.69, 3.1579}, {-11.28, 25.082, 9.4737}, {-15.37, 24.912, 9.4737}}], Polygon[{{-11.188, 26.69, 3.1579}, {-6.8605, 26.75, 3.1579}, {-7.19, 25.251, 9.4737}, {-11.28, 25.082, 9.4737}}], Polygon[{{-6.8605, 26.75, 3.1579}, {-2.5334, 26.81, 3.1579}, {-3.0999, 25.42, 9.4737}, {-7.19, 25.251, 9.4737}}], Polygon[{{-2.5334, 26.81, 3.1579}, {1.7937, 26.869, 3.1579}, {0.99016, 25.589, 9.4737}, {-3.0999, 25.42, 9.4737}}], Polygon[{{1.7937, 26.869, 3.1579}, {6.1208, 26.929, 3.1579}, {5.0802, 25.758, 9.4737}, {0.99016, 25.589, 9.4737}}], Polygon[{{6.1208, 26.929, 3.1579}, {10.448, 26.989, 3.1579}, {9.1703, 25.927, 9.4737}, {5.0802, 25.758, 9.4737}}], Polygon[{{10.448, 26.989, 3.1579}, {14.775, 27.048, 3.1579}, {13.26, 26.097, 9.4737}, {9.1703, 25.927, 9.4737}}], Polygon[{{14.775, 27.048, 3.1579}, {19.102, 27.108, 3.1579}, {17.35, 26.266, 9.4737}, {13.26, 26.097, 9.4737}}], Polygon[{{-19.46, 24.743, 9.4737}, {-15.37, 24.912, 9.4737}, {-15.143, 23.223, 15.789}, {-18.994, 22.957, 15.789}}], Polygon[{{-15.37, 24.912, 9.4737}, {-11.28, 25.082, 9.4737}, {-11.293, 23.489, 15.789}, {-15.143, 23.223, 15.789}}], Polygon[{{-11.28, 25.082, 9.4737}, {-7.19, 25.251, 9.4737}, {-7.4424, 23.755, 15.789}, {-11.293, 23.489, 15.789}}], Polygon[{{-7.19, 25.251, 9.4737}, {-3.0999, 25.42, 9.4737}, {-3.5919, 24.02, 15.789}, {-7.4424, 23.755, 15.789}}], Polygon[{{-3.0999, 25.42, 9.4737}, {0.99016, 25.589, 9.4737}, {0.25859, 24.286, 15.789}, {-3.5919, 24.02, 15.789}}], Polygon[{{0.99016, 25.589, 9.4737}, {5.0802, 25.758, 9.4737}, {4.1091, 24.552, 15.789}, {0.25859, 24.286, 15.789}}], Polygon[{{5.0802, 25.758, 9.4737}, {9.1703, 25.927, 9.4737}, {7.9596, 24.817, 15.789}, {4.1091, 24.552, 15.789}}], Polygon[{{9.1703, 25.927, 9.4737}, {13.26, 26.097, 9.4737}, {11.81, 25.083, 15.789}, {7.9596, 24.817, 15.789}}], Polygon[{{13.26, 26.097, 9.4737}, {17.35, 26.266, 9.4737}, {15.661, 25.349, 15.789}, {11.81, 25.083, 15.789}}], Polygon[{{-18.994, 22.957, 15.789}, {-15.143, 23.223, 15.789}, {-14.836, 21.566, 22.105}, {-18.445, 21.217, 22.105}}], Polygon[{{-15.143, 23.223, 15.789}, {-11.293, 23.489, 15.789}, {-11.227, 21.915, 22.105}, {-14.836, 21.566, 22.105}}], Polygon[{{-11.293, 23.489, 15.789}, {-7.4424, 23.755, 15.789}, {-7.6181, 22.265, 22.105}, {-11.227, 21.915, 22.105}}], Polygon[{{-7.4424, 23.755, 15.789}, {-3.5919, 24.02, 15.789}, {-4.0093, 22.614, 22.105}, {-7.6181, 22.265, 22.105}}], Polygon[{{-3.5919, 24.02, 15.789}, {0.25859, 24.286, 15.789}, {-0.40039, 22.963, 22.105}, {-4.0093, 22.614, 22.105}}], Polygon[{{0.25859, 24.286, 15.789}, {4.1091, 24.552, 15.789}, {3.2085, 23.312, 22.105}, {-0.40039, 22.963, 22.105}}], Polygon[{{4.1091, 24.552, 15.789}, {7.9596, 24.817, 15.789}, {6.8174, 23.661, 22.105}, {3.2085, 23.312, 22.105}}], Polygon[{{7.9596, 24.817, 15.789}, {11.81, 25.083, 15.789}, {10.426, 24.01, 22.105}, {6.8174, 23.661, 22.105}}], Polygon[{{11.81, 25.083, 15.789}, {15.661, 25.349, 15.789}, {14.035, 24.36, 22.105}, {10.426, 24.01, 22.105}}], Polygon[{{-18.445, 21.217, 22.105}, {-14.836, 21.566, 22.105}, {-14.449, 19.945, 28.421}, {-17.815, 19.525, 28.421}}], Polygon[{{-14.836, 21.566, 22.105}, {-11.227, 21.915, 22.105}, {-11.084, 20.364, 28.421}, {-14.449, 19.945, 28.421}}], Polygon[{{-11.227, 21.915, 22.105}, {-7.6181, 22.265, 22.105}, {-7.7178, 20.784, 28.421}, {-11.084, 20.364, 28.421}}], Polygon[{{-7.6181, 22.265, 22.105}, {-4.0093, 22.614, 22.105}, {-4.352, 21.203, 28.421}, {-7.7178, 20.784, 28.421}}], Polygon[{{-4.0093, 22.614, 22.105}, {-0.40039, 22.963, 22.105}, {-0.98627, 21.623, 28.421}, {-4.352, 21.203, 28.421}}], Polygon[{{-0.40039, 22.963, 22.105}, {3.2085, 23.312, 22.105}, {2.3795, 22.043, 28.421}, {-0.98627, 21.623, 28.421}}], Polygon[{{3.2085, 23.312, 22.105}, {6.8174, 23.661, 22.105}, {5.7453, 22.462, 28.421}, {2.3795, 22.043, 28.421}}], Polygon[{{6.8174, 23.661, 22.105}, {10.426, 24.01, 22.105}, {9.111, 22.882, 28.421}, {5.7453, 22.462, 28.421}}], Polygon[{{10.426, 24.01, 22.105}, {14.035, 24.36, 22.105}, {12.477, 23.301, 28.421}, {9.111, 22.882, 28.421}}], Polygon[{{-17.815, 19.525, 28.421}, {-14.449, 19.945, 28.421}, {-13.985, 18.362, 34.737}, {-17.107, 17.885, 34.737}}], Polygon[{{-14.449, 19.945, 28.421}, {-11.084, 20.364, 28.421}, {-10.864, 18.839, 34.737}, {-13.985, 18.362, 34.737}}], Polygon[{{-11.084, 20.364, 28.421}, {-7.7178, 20.784, 28.421}, {-7.742, 19.316, 34.737}, {-10.864, 18.839, 34.737}}], Polygon[{{-7.7178, 20.784, 28.421}, {-4.352, 21.203, 28.421}, {-4.6203, 19.792, 34.737}, {-7.742, 19.316, 34.737}}], Polygon[{{-4.352, 21.203, 28.421}, {-0.98627, 21.623, 28.421}, {-1.4987, 20.269, 34.737}, {-4.6203, 19.792, 34.737}}], Polygon[{{-0.98627, 21.623, 28.421}, {2.3795, 22.043, 28.421}, {1.623, 20.746, 34.737}, {-1.4987, 20.269, 34.737}}], Polygon[{{2.3795, 22.043, 28.421}, {5.7453, 22.462, 28.421}, {4.7447, 21.223, 34.737}, {1.623, 20.746, 34.737}}], Polygon[{{5.7453, 22.462, 28.421}, {9.111, 22.882, 28.421}, {7.8664, 21.7, 34.737}, {4.7447, 21.223, 34.737}}], Polygon[{{9.111, 22.882, 28.421}, {12.477, 23.301, 28.421}, {10.988, 22.176, 34.737}, {7.8664, 21.7, 34.737}}], Polygon[{{-17.107, 17.885, 34.737}, {-13.985, 18.362, 34.737}, {-13.446, 16.821, 41.053}, {-16.323, 16.3, 41.053}}], Polygon[{{-13.985, 18.362, 34.737}, {-10.864, 18.839, 34.737}, {-10.569, 17.342, 41.053}, {-13.446, 16.821, 41.053}}], Polygon[{{-10.864, 18.839, 34.737}, {-7.742, 19.316, 34.737}, {-7.6916, 17.863, 41.053}, {-10.569, 17.342, 41.053}}], Polygon[{{-7.742, 19.316, 34.737}, {-4.6203, 19.792, 34.737}, {-4.8144, 18.384, 41.053}, {-7.6916, 17.863, 41.053}}], Polygon[{{-4.6203, 19.792, 34.737}, {-1.4987, 20.269, 34.737}, {-1.9372, 18.905, 41.053}, {-4.8144, 18.384, 41.053}}], Polygon[{{-1.4987, 20.269, 34.737}, {1.623, 20.746, 34.737}, {0.93995, 19.426, 41.053}, {-1.9372, 18.905, 41.053}}], Polygon[{{1.623, 20.746, 34.737}, {4.7447, 21.223, 34.737}, {3.8171, 19.947, 41.053}, {0.93995, 19.426, 41.053}}], Polygon[{{4.7447, 21.223, 34.737}, {7.8664, 21.7, 34.737}, {6.6943, 20.468, 41.053}, {3.8171, 19.947, 41.053}}], Polygon[{{7.8664, 21.7, 34.737}, {10.988, 22.176, 34.737}, {9.5715, 20.989, 41.053}, {6.6943, 20.468, 41.053}}], Polygon[{{-16.323, 16.3, 41.053}, {-13.446, 16.821, 41.053}, {-12.833, 15.324, 47.368}, {-15.466, 14.772, 47.368}}], Polygon[{{-13.446, 16.821, 41.053}, {-10.569, 17.342, 41.053}, {-10.2, 15.876, 47.368}, {-12.833, 15.324, 47.368}}], Polygon[{{-10.569, 17.342, 41.053}, {-7.6916, 17.863, 41.053}, {-7.5675, 16.428, 47.368}, {-10.2, 15.876, 47.368}}], Polygon[{{-7.6916, 17.863, 41.053}, {-4.8144, 18.384, 41.053}, {-4.9347, 16.98, 47.368}, {-7.5675, 16.428, 47.368}}], Polygon[{{-4.8144, 18.384, 41.053}, {-1.9372, 18.905, 41.053}, {-2.3019, 17.532, 47.368}, {-4.9347, 16.98, 47.368}}], Polygon[{{-1.9372, 18.905, 41.053}, {0.93995, 19.426, 41.053}, {0.33094, 18.084, 47.368}, {-2.3019, 17.532, 47.368}}], Polygon[{{0.93995, 19.426, 41.053}, {3.8171, 19.947, 41.053}, {2.9637, 18.636, 47.368}, {0.33094, 18.084, 47.368}}], Polygon[{{3.8171, 19.947, 41.053}, {6.6943, 20.468, 41.053}, {5.5965, 19.188, 47.368}, {2.9637, 18.636, 47.368}}], Polygon[{{6.6943, 20.468, 41.053}, {9.5715, 20.989, 41.053}, {8.2294, 19.741, 47.368}, {5.5965, 19.188, 47.368}}], Polygon[{{-15.466, 14.772, 47.368}, {-12.833, 15.324, 47.368}, {-12.149, 13.875, 53.684}, {-14.538, 13.305, 53.684}}], Polygon[{{-12.833, 15.324, 47.368}, {-10.2, 15.876, 47.368}, {-9.7596, 14.445, 53.684}, {-12.149, 13.875, 53.684}}], Polygon[{{-10.2, 15.876, 47.368}, {-7.5675, 16.428, 47.368}, {-7.3706, 15.015, 53.684}, {-9.7596, 14.445, 53.684}}], Polygon[{{-7.5675, 16.428, 47.368}, {-4.9347, 16.98, 47.368}, {-4.9815, 15.585, 53.684}, {-7.3706, 15.015, 53.684}}], Polygon[{{-4.9347, 16.98, 47.368}, {-2.3019, 17.532, 47.368}, {-2.5924, 16.155, 53.684}, {-4.9815, 15.585, 53.684}}], Polygon[{{-2.3019, 17.532, 47.368}, {0.33094, 18.084, 47.368}, {-0.20338, 16.725, 53.684}, {-2.5924, 16.155, 53.684}}], Polygon[{{0.33094, 18.084, 47.368}, {2.9637, 18.636, 47.368}, {2.1857, 17.295, 53.684}, {-0.20338, 16.725, 53.684}}], Polygon[{{2.9637, 18.636, 47.368}, {5.5965, 19.188, 47.368}, {4.5747, 17.866, 53.684}, {2.1857, 17.295, 53.684}}], Polygon[{{5.5965, 19.188, 47.368}, {8.2294, 19.741, 47.368}, {6.9638, 18.436, 53.684}, {4.5747, 17.866, 53.684}}], Polygon[{{-14.538, 13.305, 53.684}, {-12.149, 13.875, 53.684}, {-11.395, 12.476, 60.}, {-13.542, 11.901, 60.}}], Polygon[{{-12.149, 13.875, 53.684}, {-9.7596, 14.445, 53.684}, {-9.2485, 13.051, 60.}, {-11.395, 12.476, 60.}}], Polygon[{{-9.7596, 14.445, 53.684}, {-7.3706, 15.015, 53.684}, {-7.102, 13.626, 60.}, {-9.2485, 13.051, 60.}}], Polygon[{{-7.3706, 15.015, 53.684}, {-4.9815, 15.585, 53.684}, {-4.9555, 14.201, 60.}, {-7.102, 13.626, 60.}}], Polygon[{{-4.9815, 15.585, 53.684}, {-2.5924, 16.155, 53.684}, {-2.809, 14.776, 60.}, {-4.9555, 14.201, 60.}}], Polygon[{{-2.5924, 16.155, 53.684}, {-0.20338, 16.725, 53.684}, {-0.66253, 15.352, 60.}, {-2.809, 14.776, 60.}}], Polygon[{{-0.20338, 16.725, 53.684}, {2.1857, 17.295, 53.684}, {1.484, 15.927, 60.}, {-0.66253, 15.352, 60.}}], Polygon[{{2.1857, 17.295, 53.684}, {4.5747, 17.866, 53.684}, {3.6305, 16.502, 60.}, {1.484, 15.927, 60.}}], Polygon[{{4.5747, 17.866, 53.684}, {6.9638, 18.436, 53.684}, {5.777, 17.077, 60.}, {3.6305, 16.502, 60.}}]}, {Polygon[{{18.625, -46.402, -60.}, {12.186, -44.676, -60.}, {12.921, -42.854, -53.684}, {19.178, -44.347, -53.684}}], Polygon[{{12.186, -44.676, -60.}, {5.746, -42.951, -60.}, {6.6639, -41.36, -53.684}, {12.921, -42.854, -53.684}}], Polygon[{{5.746, -42.951, -60.}, {-0.6935, -41.225, -60.}, {0.4068, -39.867, -53.684}, {6.6639, -41.36, -53.684}}], Polygon[{{-0.6935, -41.225, -60.}, {-7.133, -39.5, -60.}, {-5.8503, -38.374, -53.684}, {0.4068, -39.867, -53.684}}], Polygon[{{-7.133, -39.5, -60.}, {-13.573, -37.774, -60.}, {-12.107, -36.881, -53.684}, {-5.8503, -38.374, -53.684}}], Polygon[{{-13.573, -37.774, -60.}, {-20.012, -36.049, -60.}, {-18.364, -35.388, -53.684}, {-12.107, -36.881, -53.684}}], Polygon[{{-20.012, -36.049, -60.}, {-26.452, -34.323, -60.}, {-24.621, -33.895, -53.684}, {-18.364, -35.388, -53.684}}], Polygon[{{-26.452, -34.323, -60.}, {-32.891, -32.598, -60.}, {-30.879, -32.402, -53.684}, {-24.621, -33.895, -53.684}}], Polygon[{{-32.891, -32.598, -60.}, {-39.331, -30.872, -60.}, {-37.136, -30.909, -53.684}, {-30.879, -32.402, -53.684}}], Polygon[{{19.178, -44.347, -53.684}, {12.921, -42.854, -53.684}, {13.566, -41.025, -47.368}, {19.632, -42.298, -47.368}}], Polygon[{{12.921, -42.854, -53.684}, {6.6639, -41.36, -53.684}, {7.4987, -39.753, -47.368}, {13.566, -41.025, -47.368}}], Polygon[{{6.6639, -41.36, -53.684}, {0.4068, -39.867, -53.684}, {1.4318, -38.481, -47.368}, {7.4987, -39.753, -47.368}}], Polygon[{{0.4068, -39.867, -53.684}, {-5.8503, -38.374, -53.684}, {-4.6351, -37.209, -47.368}, {1.4318, -38.481, -47.368}}], Polygon[{{-5.8503, -38.374, -53.684}, {-12.107, -36.881, -53.684}, {-10.702, -35.937, -47.368}, {-4.6351, -37.209, -47.368}}], Polygon[{{-12.107, -36.881, -53.684}, {-18.364, -35.388, -53.684}, {-16.769, -34.665, -47.368}, {-10.702, -35.937, -47.368}}], Polygon[{{-18.364, -35.388, -53.684}, {-24.621, -33.895, -53.684}, {-22.836, -33.393, -47.368}, {-16.769, -34.665, -47.368}}], Polygon[{{-24.621, -33.895, -53.684}, {-30.879, -32.402, -53.684}, {-28.903, -32.121, -47.368}, {-22.836, -33.393, -47.368}}], Polygon[{{-30.879, -32.402, -53.684}, {-37.136, -30.909, -53.684}, {-34.97, -30.849, -47.368}, {-28.903, -32.121, -47.368}}], Polygon[{{19.632, -42.298, -47.368}, {13.566, -41.025, -47.368}, {14.12, -39.195, -41.053}, {19.989, -40.258, -41.053}}], Polygon[{{13.566, -41.025, -47.368}, {7.4987, -39.753, -47.368}, {8.2502, -38.133, -41.053}, {14.12, -39.195, -41.053}}], Polygon[{{7.4987, -39.753, -47.368}, {1.4318, -38.481, -47.368}, {2.3807, -37.07, -41.053}, {8.2502, -38.133, -41.053}}], Polygon[{{1.4318, -38.481, -47.368}, {-4.6351, -37.209, -47.368}, {-3.4887, -36.007, -41.053}, {2.3807, -37.07, -41.053}}], Polygon[{{-4.6351, -37.209, -47.368}, {-10.702, -35.937, -47.368}, {-9.3582, -34.944, -41.053}, {-3.4887, -36.007, -41.053}}], Polygon[{{-10.702, -35.937, -47.368}, {-16.769, -34.665, -47.368}, {-15.228, -33.882, -41.053}, {-9.3582, -34.944, -41.053}}], Polygon[{{-16.769, -34.665, -47.368}, {-22.836, -33.393, -47.368}, {-21.097, -32.819, -41.053}, {-15.228, -33.882, -41.053}}], Polygon[{{-22.836, -33.393, -47.368}, {-28.903, -32.121, -47.368}, {-26.967, -31.756, -41.053}, {-21.097, -32.819, -41.053}}], Polygon[{{-28.903, -32.121, -47.368}, {-34.97, -30.849, -47.368}, {-32.836, -30.693, -41.053}, {-26.967, -31.756, -41.053}}], Polygon[{{19.989, -40.258, -41.053}, {14.12, -39.195, -41.053}, {14.584, -37.367, -34.737}, {20.249, -38.233, -34.737}}], Polygon[{{14.12, -39.195, -41.053}, {8.2502, -38.133, -41.053}, {8.9184, -36.502, -34.737}, {14.584, -37.367, -34.737}}], Polygon[{{8.2502, -38.133, -41.053}, {2.3807, -37.07, -41.053}, {3.2531, -35.637, -34.737}, {8.9184, -36.502, -34.737}}], Polygon[{{2.3807, -37.07, -41.053}, {-3.4887, -36.007, -41.053}, {-2.4122, -34.771, -34.737}, {3.2531, -35.637, -34.737}}], Polygon[{{-3.4887, -36.007, -41.053}, {-9.3582, -34.944, -41.053}, {-8.0775, -33.906, -34.737}, {-2.4122, -34.771, -34.737}}], Polygon[{{-9.3582, -34.944, -41.053}, {-15.228, -33.882, -41.053}, {-13.743, -33.041, -34.737}, {-8.0775, -33.906, -34.737}}], Polygon[{{-15.228, -33.882, -41.053}, {-21.097, -32.819, -41.053}, {-19.408, -32.175, -34.737}, {-13.743, -33.041, -34.737}}], Polygon[{{-21.097, -32.819, -41.053}, {-26.967, -31.756, -41.053}, {-25.073, -31.31, -34.737}, {-19.408, -32.175, -34.737}}], Polygon[{{-26.967, -31.756, -41.053}, {-32.836, -30.693, -41.053}, {-30.739, -30.445, -34.737}, {-25.073, -31.31, -34.737}}], Polygon[{{20.249, -38.233, -34.737}, {14.584, -37.367, -34.737}, {14.958, -35.544, -28.421}, {20.413, -36.224, -28.421}}], Polygon[{{14.584, -37.367, -34.737}, {8.9184, -36.502, -34.737}, {9.5032, -34.864, -28.421}, {14.958, -35.544, -28.421}}], Polygon[{{8.9184, -36.502, -34.737}, {3.2531, -35.637, -34.737}, {4.0484, -34.184, -28.421}, {9.5032, -34.864, -28.421}}], Polygon[{{3.2531, -35.637, -34.737}, {-2.4122, -34.771, -34.737}, {-1.4065, -33.504, -28.421}, {4.0484, -34.184, -28.421}}], Polygon[{{-2.4122, -34.771, -34.737}, {-8.0775, -33.906, -34.737}, {-6.8614, -32.824, -28.421}, {-1.4065, -33.504, -28.421}}], Polygon[{{-8.0775, -33.906, -34.737}, {-13.743, -33.041, -34.737}, {-12.316, -32.144, -28.421}, {-6.8614, -32.824, -28.421}}], Polygon[{{-13.743, -33.041, -34.737}, {-19.408, -32.175, -34.737}, {-17.771, -31.465, -28.421}, {-12.316, -32.144, -28.421}}], Polygon[{{-19.408, -32.175, -34.737}, {-25.073, -31.31, -34.737}, {-23.226, -30.785, -28.421}, {-17.771, -31.465, -28.421}}], Polygon[{{-25.073, -31.31, -34.737}, {-30.739, -30.445, -34.737}, {-28.681, -30.105, -28.421}, {-23.226, -30.785, -28.421}}], Polygon[{{20.413, -36.224, -28.421}, {14.958, -35.544, -28.421}, {15.244, -33.73, -22.105}, {20.482, -34.237, -22.105}}], Polygon[{{14.958, -35.544, -28.421}, {9.5032, -34.864, -28.421}, {10.005, -33.223, -22.105}, {15.244, -33.73, -22.105}}], Polygon[{{9.5032, -34.864, -28.421}, {4.0484, -34.184, -28.421}, {4.7662, -32.716, -22.105}, {10.005, -33.223, -22.105}}], Polygon[{{4.0484, -34.184, -28.421}, {-1.4065, -33.504, -28.421}, {-0.47248, -32.209, -22.105}, {4.7662, -32.716, -22.105}}], Polygon[{{-1.4065, -33.504, -28.421}, {-6.8614, -32.824, -28.421}, {-5.7112, -31.703, -22.105}, {-0.47248, -32.209, -22.105}}], Polygon[{{-6.8614, -32.824, -28.421}, {-12.316, -32.144, -28.421}, {-10.95, -31.196, -22.105}, {-5.7112, -31.703, -22.105}}], Polygon[{{-12.316, -32.144, -28.421}, {-17.771, -31.465, -28.421}, {-16.189, -30.689, -22.105}, {-10.95, -31.196, -22.105}}], Polygon[{{-17.771, -31.465, -28.421}, {-23.226, -30.785, -28.421}, {-21.427, -30.182, -22.105}, {-16.189, -30.689, -22.105}}], Polygon[{{-23.226, -30.785, -28.421}, {-28.681, -30.105, -28.421}, {-26.666, -29.675, -22.105}, {-21.427, -30.182, -22.105}}], Polygon[{{20.482, -34.237, -22.105}, {15.244, -33.73, -22.105}, {15.441, -31.928, -15.789}, {20.458, -32.274, -15.789}}], Polygon[{{15.244, -33.73, -22.105}, {10.005, -33.223, -22.105}, {10.424, -31.582, -15.789}, {15.441, -31.928, -15.789}}], Polygon[{{10.005, -33.223, -22.105}, {4.7662, -32.716, -22.105}, {5.4064, -31.236, -15.789}, {10.424, -31.582, -15.789}}], Polygon[{{4.7662, -32.716, -22.105}, {-0.47248, -32.209, -22.105}, {0.3891, -30.89, -15.789}, {5.4064, -31.236, -15.789}}], Polygon[{{-0.47248, -32.209, -22.105}, {-5.7112, -31.703, -22.105}, {-4.6282, -30.543, -15.789}, {0.3891, -30.89, -15.789}}], Polygon[{{-5.7112, -31.703, -22.105}, {-10.95, -31.196, -22.105}, {-9.6455, -30.197, -15.789}, {-4.6282, -30.543, -15.789}}], Polygon[{{-10.95, -31.196, -22.105}, {-16.189, -30.689, -22.105}, {-14.663, -29.851, -15.789}, {-9.6455, -30.197, -15.789}}], Polygon[{{-16.189, -30.689, -22.105}, {-21.427, -30.182, -22.105}, {-19.68, -29.505, -15.789}, {-14.663, -29.851, -15.789}}], Polygon[{{-21.427, -30.182, -22.105}, {-26.666, -29.675, -22.105}, {-24.697, -29.158, -15.789}, {-19.68, -29.505, -15.789}}], Polygon[{{20.458, -32.274, -15.789}, {15.441, -31.928, -15.789}, {15.551, -30.142, -9.4737}, {20.343, -30.34, -9.4737}}], Polygon[{{15.441, -31.928, -15.789}, {10.424, -31.582, -15.789}, {10.76, -29.944, -9.4737}, {15.551, -30.142, -9.4737}}], Polygon[{{10.424, -31.582, -15.789}, {5.4064, -31.236, -15.789}, {5.9688, -29.746, -9.4737}, {10.76, -29.944, -9.4737}}], Polygon[{{5.4064, -31.236, -15.789}, {0.3891, -30.89, -15.789}, {1.1776, -29.548, -9.4737}, {5.9688, -29.746, -9.4737}}], Polygon[{{0.3891, -30.89, -15.789}, {-4.6282, -30.543, -15.789}, {-3.6136, -29.349, -9.4737}, {1.1776, -29.548, -9.4737}}], Polygon[{{-4.6282, -30.543, -15.789}, {-9.6455, -30.197, -15.789}, {-8.4048, -29.151, -9.4737}, {-3.6136, -29.349, -9.4737}}], Polygon[{{-9.6455, -30.197, -15.789}, {-14.663, -29.851, -15.789}, {-13.196, -28.953, -9.4737}, {-8.4048, -29.151, -9.4737}}], Polygon[{{-14.663, -29.851, -15.789}, {-19.68, -29.505, -15.789}, {-17.987, -28.755, -9.4737}, {-13.196, -28.953, -9.4737}}], Polygon[{{-19.68, -29.505, -15.789}, {-24.697, -29.158, -15.789}, {-22.779, -28.557, -9.4737}, {-17.987, -28.755, -9.4737}}], Polygon[{{20.343, -30.34, -9.4737}, {15.551, -30.142, -9.4737}, {15.575, -28.375, -3.1579}, {20.136, -28.438, -3.1579}}], Polygon[{{15.551, -30.142, -9.4737}, {10.76, -29.944, -9.4737}, {11.014, -28.312, -3.1579}, {15.575, -28.375, -3.1579}}], Polygon[{{10.76, -29.944, -9.4737}, {5.9688, -29.746, -9.4737}, {6.4535, -28.249, -3.1579}, {11.014, -28.312, -3.1579}}], Polygon[{{5.9688, -29.746, -9.4737}, {1.1776, -29.548, -9.4737}, {1.8925, -28.187, -3.1579}, {6.4535, -28.249, -3.1579}}], Polygon[{{1.1776, -29.548, -9.4737}, {-3.6136, -29.349, -9.4737}, {-2.6685, -28.124, -3.1579}, {1.8925, -28.187, -3.1579}}], Polygon[{{-3.6136, -29.349, -9.4737}, {-8.4048, -29.151, -9.4737}, {-7.2294, -28.061, -3.1579}, {-2.6685, -28.124, -3.1579}}], Polygon[{{-8.4048, -29.151, -9.4737}, {-13.196, -28.953, -9.4737}, {-11.79, -27.998, -3.1579}, {-7.2294, -28.061, -3.1579}}], Polygon[{{-13.196, -28.953, -9.4737}, {-17.987, -28.755, -9.4737}, {-16.351, -27.935, -3.1579}, {-11.79, -27.998, -3.1579}}], Polygon[{{-17.987, -28.755, -9.4737}, {-22.779, -28.557, -9.4737}, {-20.912, -27.872, -3.1579}, {-16.351, -27.935, -3.1579}}], Polygon[{{20.136, -28.438, -3.1579}, {15.575, -28.375, -3.1579}, {15.515, -26.631, 3.1579}, {19.842, -26.571, 3.1579}}], Polygon[{{15.575, -28.375, -3.1579}, {11.014, -28.312, -3.1579}, {11.188, -26.69, 3.1579}, {15.515, -26.631, 3.1579}}], Polygon[{{11.014, -28.312, -3.1579}, {6.4535, -28.249, -3.1579}, {6.8605, -26.75, 3.1579}, {11.188, -26.69, 3.1579}}], Polygon[{{6.4535, -28.249, -3.1579}, {1.8925, -28.187, -3.1579}, {2.5334, -26.81, 3.1579}, {6.8605, -26.75, 3.1579}}], Polygon[{{1.8925, -28.187, -3.1579}, {-2.6685, -28.124, -3.1579}, {-1.7937, -26.869, 3.1579}, {2.5334, -26.81, 3.1579}}], Polygon[{{-2.6685, -28.124, -3.1579}, {-7.2294, -28.061, -3.1579}, {-6.1208, -26.929, 3.1579}, {-1.7937, -26.869, 3.1579}}], Polygon[{{-7.2294, -28.061, -3.1579}, {-11.79, -27.998, -3.1579}, {-10.448, -26.989, 3.1579}, {-6.1208, -26.929, 3.1579}}], Polygon[{{-11.79, -27.998, -3.1579}, {-16.351, -27.935, -3.1579}, {-14.775, -27.048, 3.1579}, {-10.448, -26.989, 3.1579}}], Polygon[{{-16.351, -27.935, -3.1579}, {-20.912, -27.872, -3.1579}, {-19.102, -27.108, 3.1579}, {-14.775, -27.048, 3.1579}}], Polygon[{{19.842, -26.571, 3.1579}, {15.515, -26.631, 3.1579}, {15.37, -24.912, 9.4737}, {19.46, -24.743, 9.4737}}], Polygon[{{15.515, -26.631, 3.1579}, {11.188, -26.69, 3.1579}, {11.28, -25.082, 9.4737}, {15.37, -24.912, 9.4737}}], Polygon[{{11.188, -26.69, 3.1579}, {6.8605, -26.75, 3.1579}, {7.19, -25.251, 9.4737}, {11.28, -25.082, 9.4737}}], Polygon[{{6.8605, -26.75, 3.1579}, {2.5334, -26.81, 3.1579}, {3.0999, -25.42, 9.4737}, {7.19, -25.251, 9.4737}}], Polygon[{{2.5334, -26.81, 3.1579}, {-1.7937, -26.869, 3.1579}, {-0.99016, -25.589, 9.4737}, {3.0999, -25.42, 9.4737}}], Polygon[{{-1.7937, -26.869, 3.1579}, {-6.1208, -26.929, 3.1579}, {-5.0802, -25.758, 9.4737}, {-0.99016, -25.589, 9.4737}}], Polygon[{{-6.1208, -26.929, 3.1579}, {-10.448, -26.989, 3.1579}, {-9.1703, -25.927, 9.4737}, {-5.0802, -25.758, 9.4737}}], Polygon[{{-10.448, -26.989, 3.1579}, {-14.775, -27.048, 3.1579}, {-13.26, -26.097, 9.4737}, {-9.1703, -25.927, 9.4737}}], Polygon[{{-14.775, -27.048, 3.1579}, {-19.102, -27.108, 3.1579}, {-17.35, -26.266, 9.4737}, {-13.26, -26.097, 9.4737}}], Polygon[{{19.46, -24.743, 9.4737}, {15.37, -24.912, 9.4737}, {15.143, -23.223, 15.789}, {18.994, -22.957, 15.789}}], Polygon[{{15.37, -24.912, 9.4737}, {11.28, -25.082, 9.4737}, {11.293, -23.489, 15.789}, {15.143, -23.223, 15.789}}], Polygon[{{11.28, -25.082, 9.4737}, {7.19, -25.251, 9.4737}, {7.4424, -23.755, 15.789}, {11.293, -23.489, 15.789}}], Polygon[{{7.19, -25.251, 9.4737}, {3.0999, -25.42, 9.4737}, {3.5919, -24.02, 15.789}, {7.4424, -23.755, 15.789}}], Polygon[{{3.0999, -25.42, 9.4737}, {-0.99016, -25.589, 9.4737}, {-0.25859, -24.286, 15.789}, {3.5919, -24.02, 15.789}}], Polygon[{{-0.99016, -25.589, 9.4737}, {-5.0802, -25.758, 9.4737}, {-4.1091, -24.552, 15.789}, {-0.25859, -24.286, 15.789}}], Polygon[{{-5.0802, -25.758, 9.4737}, {-9.1703, -25.927, 9.4737}, {-7.9596, -24.817, 15.789}, {-4.1091, -24.552, 15.789}}], Polygon[{{-9.1703, -25.927, 9.4737}, {-13.26, -26.097, 9.4737}, {-11.81, -25.083, 15.789}, {-7.9596, -24.817, 15.789}}], Polygon[{{-13.26, -26.097, 9.4737}, {-17.35, -26.266, 9.4737}, {-15.661, -25.349, 15.789}, {-11.81, -25.083, 15.789}}], Polygon[{{18.994, -22.957, 15.789}, {15.143, -23.223, 15.789}, {14.836, -21.566, 22.105}, {18.445, -21.217, 22.105}}], Polygon[{{15.143, -23.223, 15.789}, {11.293, -23.489, 15.789}, {11.227, -21.915, 22.105}, {14.836, -21.566, 22.105}}], Polygon[{{11.293, -23.489, 15.789}, {7.4424, -23.755, 15.789}, {7.6181, -22.265, 22.105}, {11.227, -21.915, 22.105}}], Polygon[{{7.4424, -23.755, 15.789}, {3.5919, -24.02, 15.789}, {4.0093, -22.614, 22.105}, {7.6181, -22.265, 22.105}}], Polygon[{{3.5919, -24.02, 15.789}, {-0.25859, -24.286, 15.789}, {0.40039, -22.963, 22.105}, {4.0093, -22.614, 22.105}}], Polygon[{{-0.25859, -24.286, 15.789}, {-4.1091, -24.552, 15.789}, {-3.2085, -23.312, 22.105}, {0.40039, -22.963, 22.105}}], Polygon[{{-4.1091, -24.552, 15.789}, {-7.9596, -24.817, 15.789}, {-6.8174, -23.661, 22.105}, {-3.2085, -23.312, 22.105}}], Polygon[{{-7.9596, -24.817, 15.789}, {-11.81, -25.083, 15.789}, {-10.426, -24.01, 22.105}, {-6.8174, -23.661, 22.105}}], Polygon[{{-11.81, -25.083, 15.789}, {-15.661, -25.349, 15.789}, {-14.035, -24.36, 22.105}, {-10.426, -24.01, 22.105}}], Polygon[{{18.445, -21.217, 22.105}, {14.836, -21.566, 22.105}, {14.449, -19.945, 28.421}, {17.815, -19.525, 28.421}}], Polygon[{{14.836, -21.566, 22.105}, {11.227, -21.915, 22.105}, {11.084, -20.364, 28.421}, {14.449, -19.945, 28.421}}], Polygon[{{11.227, -21.915, 22.105}, {7.6181, -22.265, 22.105}, {7.7178, -20.784, 28.421}, {11.084, -20.364, 28.421}}], Polygon[{{7.6181, -22.265, 22.105}, {4.0093, -22.614, 22.105}, {4.352, -21.203, 28.421}, {7.7178, -20.784, 28.421}}], Polygon[{{4.0093, -22.614, 22.105}, {0.40039, -22.963, 22.105}, {0.98627, -21.623, 28.421}, {4.352, -21.203, 28.421}}], Polygon[{{0.40039, -22.963, 22.105}, {-3.2085, -23.312, 22.105}, {-2.3795, -22.043, 28.421}, {0.98627, -21.623, 28.421}}], Polygon[{{-3.2085, -23.312, 22.105}, {-6.8174, -23.661, 22.105}, {-5.7453, -22.462, 28.421}, {-2.3795, -22.043, 28.421}}], Polygon[{{-6.8174, -23.661, 22.105}, {-10.426, -24.01, 22.105}, {-9.111, -22.882, 28.421}, {-5.7453, -22.462, 28.421}}], Polygon[{{-10.426, -24.01, 22.105}, {-14.035, -24.36, 22.105}, {-12.477, -23.301, 28.421}, {-9.111, -22.882, 28.421}}], Polygon[{{17.815, -19.525, 28.421}, {14.449, -19.945, 28.421}, {13.985, -18.362, 34.737}, {17.107, -17.885, 34.737}}], Polygon[{{14.449, -19.945, 28.421}, {11.084, -20.364, 28.421}, {10.864, -18.839, 34.737}, {13.985, -18.362, 34.737}}], Polygon[{{11.084, -20.364, 28.421}, {7.7178, -20.784, 28.421}, {7.742, -19.316, 34.737}, {10.864, -18.839, 34.737}}], Polygon[{{7.7178, -20.784, 28.421}, {4.352, -21.203, 28.421}, {4.6203, -19.792, 34.737}, {7.742, -19.316, 34.737}}], Polygon[{{4.352, -21.203, 28.421}, {0.98627, -21.623, 28.421}, {1.4987, -20.269, 34.737}, {4.6203, -19.792, 34.737}}], Polygon[{{0.98627, -21.623, 28.421}, {-2.3795, -22.043, 28.421}, {-1.623, -20.746, 34.737}, {1.4987, -20.269, 34.737}}], Polygon[{{-2.3795, -22.043, 28.421}, {-5.7453, -22.462, 28.421}, {-4.7447, -21.223, 34.737}, {-1.623, -20.746, 34.737}}], Polygon[{{-5.7453, -22.462, 28.421}, {-9.111, -22.882, 28.421}, {-7.8664, -21.7, 34.737}, {-4.7447, -21.223, 34.737}}], Polygon[{{-9.111, -22.882, 28.421}, {-12.477, -23.301, 28.421}, {-10.988, -22.176, 34.737}, {-7.8664, -21.7, 34.737}}], Polygon[{{17.107, -17.885, 34.737}, {13.985, -18.362, 34.737}, {13.446, -16.821, 41.053}, {16.323, -16.3, 41.053}}], Polygon[{{13.985, -18.362, 34.737}, {10.864, -18.839, 34.737}, {10.569, -17.342, 41.053}, {13.446, -16.821, 41.053}}], Polygon[{{10.864, -18.839, 34.737}, {7.742, -19.316, 34.737}, {7.6916, -17.863, 41.053}, {10.569, -17.342, 41.053}}], Polygon[{{7.742, -19.316, 34.737}, {4.6203, -19.792, 34.737}, {4.8144, -18.384, 41.053}, {7.6916, -17.863, 41.053}}], Polygon[{{4.6203, -19.792, 34.737}, {1.4987, -20.269, 34.737}, {1.9372, -18.905, 41.053}, {4.8144, -18.384, 41.053}}], Polygon[{{1.4987, -20.269, 34.737}, {-1.623, -20.746, 34.737}, {-0.93995, -19.426, 41.053}, {1.9372, -18.905, 41.053}}], Polygon[{{-1.623, -20.746, 34.737}, {-4.7447, -21.223, 34.737}, {-3.8171, -19.947, 41.053}, {-0.93995, -19.426, 41.053}}], Polygon[{{-4.7447, -21.223, 34.737}, {-7.8664, -21.7, 34.737}, {-6.6943, -20.468, 41.053}, {-3.8171, -19.947, 41.053}}], Polygon[{{-7.8664, -21.7, 34.737}, {-10.988, -22.176, 34.737}, {-9.5715, -20.989, 41.053}, {-6.6943, -20.468, 41.053}}], Polygon[{{16.323, -16.3, 41.053}, {13.446, -16.821, 41.053}, {12.833, -15.324, 47.368}, {15.466, -14.772, 47.368}}], Polygon[{{13.446, -16.821, 41.053}, {10.569, -17.342, 41.053}, {10.2, -15.876, 47.368}, {12.833, -15.324, 47.368}}], Polygon[{{10.569, -17.342, 41.053}, {7.6916, -17.863, 41.053}, {7.5675, -16.428, 47.368}, {10.2, -15.876, 47.368}}], Polygon[{{7.6916, -17.863, 41.053}, {4.8144, -18.384, 41.053}, {4.9347, -16.98, 47.368}, {7.5675, -16.428, 47.368}}], Polygon[{{4.8144, -18.384, 41.053}, {1.9372, -18.905, 41.053}, {2.3019, -17.532, 47.368}, {4.9347, -16.98, 47.368}}], Polygon[{{1.9372, -18.905, 41.053}, {-0.93995, -19.426, 41.053}, {-0.33094, -18.084, 47.368}, {2.3019, -17.532, 47.368}}], Polygon[{{-0.93995, -19.426, 41.053}, {-3.8171, -19.947, 41.053}, {-2.9637, -18.636, 47.368}, {-0.33094, -18.084, 47.368}}], Polygon[{{-3.8171, -19.947, 41.053}, {-6.6943, -20.468, 41.053}, {-5.5965, -19.188, 47.368}, {-2.9637, -18.636, 47.368}}], Polygon[{{-6.6943, -20.468, 41.053}, {-9.5715, -20.989, 41.053}, {-8.2294, -19.741, 47.368}, {-5.5965, -19.188, 47.368}}], Polygon[{{15.466, -14.772, 47.368}, {12.833, -15.324, 47.368}, {12.149, -13.875, 53.684}, {14.538, -13.305, 53.684}}], Polygon[{{12.833, -15.324, 47.368}, {10.2, -15.876, 47.368}, {9.7596, -14.445, 53.684}, {12.149, -13.875, 53.684}}], Polygon[{{10.2, -15.876, 47.368}, {7.5675, -16.428, 47.368}, {7.3706, -15.015, 53.684}, {9.7596, -14.445, 53.684}}], Polygon[{{7.5675, -16.428, 47.368}, {4.9347, -16.98, 47.368}, {4.9815, -15.585, 53.684}, {7.3706, -15.015, 53.684}}], Polygon[{{4.9347, -16.98, 47.368}, {2.3019, -17.532, 47.368}, {2.5924, -16.155, 53.684}, {4.9815, -15.585, 53.684}}], Polygon[{{2.3019, -17.532, 47.368}, {-0.33094, -18.084, 47.368}, {0.20338, -16.725, 53.684}, {2.5924, -16.155, 53.684}}], Polygon[{{-0.33094, -18.084, 47.368}, {-2.9637, -18.636, 47.368}, {-2.1857, -17.295, 53.684}, {0.20338, -16.725, 53.684}}], Polygon[{{-2.9637, -18.636, 47.368}, {-5.5965, -19.188, 47.368}, {-4.5747, -17.866, 53.684}, {-2.1857, -17.295, 53.684}}], Polygon[{{-5.5965, -19.188, 47.368}, {-8.2294, -19.741, 47.368}, {-6.9638, -18.436, 53.684}, {-4.5747, -17.866, 53.684}}], Polygon[{{14.538, -13.305, 53.684}, {12.149, -13.875, 53.684}, {11.395, -12.476, 60.}, {13.542, -11.901, 60.}}], Polygon[{{12.149, -13.875, 53.684}, {9.7596, -14.445, 53.684}, {9.2485, -13.051, 60.}, {11.395, -12.476, 60.}}], Polygon[{{9.7596, -14.445, 53.684}, {7.3706, -15.015, 53.684}, {7.102, -13.626, 60.}, {9.2485, -13.051, 60.}}], Polygon[{{7.3706, -15.015, 53.684}, {4.9815, -15.585, 53.684}, {4.9555, -14.201, 60.}, {7.102, -13.626, 60.}}], Polygon[{{4.9815, -15.585, 53.684}, {2.5924, -16.155, 53.684}, {2.809, -14.776, 60.}, {4.9555, -14.201, 60.}}], Polygon[{{2.5924, -16.155, 53.684}, {0.20338, -16.725, 53.684}, {0.66253, -15.352, 60.}, {2.809, -14.776, 60.}}], Polygon[{{0.20338, -16.725, 53.684}, {-2.1857, -17.295, 53.684}, {-1.484, -15.927, 60.}, {0.66253, -15.352, 60.}}], Polygon[{{-2.1857, -17.295, 53.684}, {-4.5747, -17.866, 53.684}, {-3.6305, -16.502, 60.}, {-1.484, -15.927, 60.}}], Polygon[{{-4.5747, -17.866, 53.684}, {-6.9638, -18.436, 53.684}, {-5.777, -17.077, 60.}, {-3.6305, -16.502, 60.}}]}, {Polygon[{{18.625, -46.402, -60.}, {20.926, -37.816, -60.}, {14.486, -36.09, -60.}, {12.186, -44.676, -60.}}], Polygon[{{20.926, -37.816, -60.}, {23.226, -29.23, -60.}, {16.787, -27.504, -60.}, {14.486, -36.09, -60.}}], Polygon[{{23.226, -29.23, -60.}, {25.527, -20.644, -60.}, {19.087, -18.918, -60.}, {16.787, -27.504, -60.}}], Polygon[{{25.527, -20.644, -60.}, {27.827, -12.058, -60.}, {21.388, -10.332, -60.}, {19.087, -18.918, -60.}}], Polygon[{{27.827, -12.058, -60.}, {30.128, -3.4716, -60.}, {23.689, -1.7461, -60.}, {21.388, -10.332, -60.}}], Polygon[{{30.128, -3.4716, -60.}, {32.429, 5.1144, -60.}, {25.989, 6.8399, -60.}, {23.689, -1.7461, -60.}}], Polygon[{{32.429, 5.1144, -60.}, {34.729, 13.7, -60.}, {28.29, 15.426, -60.}, {25.989, 6.8399, -60.}}], Polygon[{{34.729, 13.7, -60.}, {37.03, 22.286, -60.}, {30.59, 24.012, -60.}, {28.29, 15.426, -60.}}], Polygon[{{37.03, 22.286, -60.}, {39.331, 30.872, -60.}, {32.891, 32.598, -60.}, {30.59, 24.012, -60.}}], Polygon[{{12.186, -44.676, -60.}, {14.486, -36.09, -60.}, {8.0466, -34.365, -60.}, {5.746, -42.951, -60.}}], Polygon[{{14.486, -36.09, -60.}, {16.787, -27.504, -60.}, {10.347, -25.779, -60.}, {8.0466, -34.365, -60.}}], Polygon[{{16.787, -27.504, -60.}, {19.087, -18.918, -60.}, {12.648, -17.193, -60.}, {10.347, -25.779, -60.}}], Polygon[{{19.087, -18.918, -60.}, {21.388, -10.332, -60.}, {14.948, -8.6067, -60.}, {12.648, -17.193, -60.}}], Polygon[{{21.388, -10.332, -60.}, {23.689, -1.7461, -60.}, {17.249, -0.020647, -60.}, {14.948, -8.6067, -60.}}], Polygon[{{23.689, -1.7461, -60.}, {25.989, 6.8399, -60.}, {19.55, 8.5654, -60.}, {17.249, -0.020647, -60.}}], Polygon[{{25.989, 6.8399, -60.}, {28.29, 15.426, -60.}, {21.85, 17.151, -60.}, {19.55, 8.5654, -60.}}], Polygon[{{28.29, 15.426, -60.}, {30.59, 24.012, -60.}, {24.151, 25.737, -60.}, {21.85, 17.151, -60.}}], Polygon[{{30.59, 24.012, -60.}, {32.891, 32.598, -60.}, {26.452, 34.323, -60.}, {24.151, 25.737, -60.}}], Polygon[{{5.746, -42.951, -60.}, {8.0466, -34.365, -60.}, {1.6071, -32.639, -60.}, {-0.6935, -41.225, -60.}}], Polygon[{{8.0466, -34.365, -60.}, {10.347, -25.779, -60.}, {3.9077, -24.053, -60.}, {1.6071, -32.639, -60.}}], Polygon[{{10.347, -25.779, -60.}, {12.648, -17.193, -60.}, {6.2083, -15.467, -60.}, {3.9077, -24.053, -60.}}], Polygon[{{12.648, -17.193, -60.}, {14.948, -8.6067, -60.}, {8.509, -6.8812, -60.}, {6.2083, -15.467, -60.}}], Polygon[{{14.948, -8.6067, -60.}, {17.249, -0.020647, -60.}, {10.81, 1.7048, -60.}, {8.509, -6.8812, -60.}}], Polygon[{{17.249, -0.020647, -60.}, {19.55, 8.5654, -60.}, {13.11, 10.291, -60.}, {10.81, 1.7048, -60.}}], Polygon[{{19.55, 8.5654, -60.}, {21.85, 17.151, -60.}, {15.411, 18.877, -60.}, {13.11, 10.291, -60.}}], Polygon[{{21.85, 17.151, -60.}, {24.151, 25.737, -60.}, {17.711, 27.463, -60.}, {15.411, 18.877, -60.}}], Polygon[{{24.151, 25.737, -60.}, {26.452, 34.323, -60.}, {20.012, 36.049, -60.}, {17.711, 27.463, -60.}}], Polygon[{{-0.6935, -41.225, -60.}, {1.6071, -32.639, -60.}, {-4.8324, -30.914, -60.}, {-7.133, -39.5, -60.}}], Polygon[{{1.6071, -32.639, -60.}, {3.9077, -24.053, -60.}, {-2.5318, -22.328, -60.}, {-4.8324, -30.914, -60.}}], Polygon[{{3.9077, -24.053, -60.}, {6.2083, -15.467, -60.}, {-0.23117, -13.742, -60.}, {-2.5318, -22.328, -60.}}], Polygon[{{6.2083, -15.467, -60.}, {8.509, -6.8812, -60.}, {2.0694, -5.1557, -60.}, {-0.23117, -13.742, -60.}}], Polygon[{{8.509, -6.8812, -60.}, {10.81, 1.7048, -60.}, {4.3701, 3.4303, -60.}, {2.0694, -5.1557, -60.}}], Polygon[{{10.81, 1.7048, -60.}, {13.11, 10.291, -60.}, {6.6707, 12.016, -60.}, {4.3701, 3.4303, -60.}}], Polygon[{{13.11, 10.291, -60.}, {15.411, 18.877, -60.}, {8.9713, 20.602, -60.}, {6.6707, 12.016, -60.}}], Polygon[{{15.411, 18.877, -60.}, {17.711, 27.463, -60.}, {11.272, 29.188, -60.}, {8.9713, 20.602, -60.}}], Polygon[{{17.711, 27.463, -60.}, {20.012, 36.049, -60.}, {13.573, 37.774, -60.}, {11.272, 29.188, -60.}}], Polygon[{{-7.133, -39.5, -60.}, {-4.8324, -30.914, -60.}, {-11.272, -29.188, -60.}, {-13.573, -37.774, -60.}}], Polygon[{{-4.8324, -30.914, -60.}, {-2.5318, -22.328, -60.}, {-8.9713, -20.602, -60.}, {-11.272, -29.188, -60.}}], Polygon[{{-2.5318, -22.328, -60.}, {-0.23117, -13.742, -60.}, {-6.6707, -12.016, -60.}, {-8.9713, -20.602, -60.}}], Polygon[{{-0.23117, -13.742, -60.}, {2.0694, -5.1557, -60.}, {-4.3701, -3.4303, -60.}, {-6.6707, -12.016, -60.}}], Polygon[{{2.0694, -5.1557, -60.}, {4.3701, 3.4303, -60.}, {-2.0694, 5.1557, -60.}, {-4.3701, -3.4303, -60.}}], Polygon[{{4.3701, 3.4303, -60.}, {6.6707, 12.016, -60.}, {0.23117, 13.742, -60.}, {-2.0694, 5.1557, -60.}}], Polygon[{{6.6707, 12.016, -60.}, {8.9713, 20.602, -60.}, {2.5318, 22.328, -60.}, {0.23117, 13.742, -60.}}], Polygon[{{8.9713, 20.602, -60.}, {11.272, 29.188, -60.}, {4.8324, 30.914, -60.}, {2.5318, 22.328, -60.}}], Polygon[{{11.272, 29.188, -60.}, {13.573, 37.774, -60.}, {7.133, 39.5, -60.}, {4.8324, 30.914, -60.}}], Polygon[{{-13.573, -37.774, -60.}, {-11.272, -29.188, -60.}, {-17.711, -27.463, -60.}, {-20.012, -36.049, -60.}}], Polygon[{{-11.272, -29.188, -60.}, {-8.9713, -20.602, -60.}, {-15.411, -18.877, -60.}, {-17.711, -27.463, -60.}}], Polygon[{{-8.9713, -20.602, -60.}, {-6.6707, -12.016, -60.}, {-13.11, -10.291, -60.}, {-15.411, -18.877, -60.}}], Polygon[{{-6.6707, -12.016, -60.}, {-4.3701, -3.4303, -60.}, {-10.81, -1.7048, -60.}, {-13.11, -10.291, -60.}}], Polygon[{{-4.3701, -3.4303, -60.}, {-2.0694, 5.1557, -60.}, {-8.509, 6.8812, -60.}, {-10.81, -1.7048, -60.}}], Polygon[{{-2.0694, 5.1557, -60.}, {0.23117, 13.742, -60.}, {-6.2083, 15.467, -60.}, {-8.509, 6.8812, -60.}}], Polygon[{{0.23117, 13.742, -60.}, {2.5318, 22.328, -60.}, {-3.9077, 24.053, -60.}, {-6.2083, 15.467, -60.}}], Polygon[{{2.5318, 22.328, -60.}, {4.8324, 30.914, -60.}, {-1.6071, 32.639, -60.}, {-3.9077, 24.053, -60.}}], Polygon[{{4.8324, 30.914, -60.}, {7.133, 39.5, -60.}, {0.6935, 41.225, -60.}, {-1.6071, 32.639, -60.}}], Polygon[{{-20.012, -36.049, -60.}, {-17.711, -27.463, -60.}, {-24.151, -25.737, -60.}, {-26.452, -34.323, -60.}}], Polygon[{{-17.711, -27.463, -60.}, {-15.411, -18.877, -60.}, {-21.85, -17.151, -60.}, {-24.151, -25.737, -60.}}], Polygon[{{-15.411, -18.877, -60.}, {-13.11, -10.291, -60.}, {-19.55, -8.5654, -60.}, {-21.85, -17.151, -60.}}], Polygon[{{-13.11, -10.291, -60.}, {-10.81, -1.7048, -60.}, {-17.249, 0.020647, -60.}, {-19.55, -8.5654, -60.}}], Polygon[{{-10.81, -1.7048, -60.}, {-8.509, 6.8812, -60.}, {-14.948, 8.6067, -60.}, {-17.249, 0.020647, -60.}}], Polygon[{{-8.509, 6.8812, -60.}, {-6.2083, 15.467, -60.}, {-12.648, 17.193, -60.}, {-14.948, 8.6067, -60.}}], Polygon[{{-6.2083, 15.467, -60.}, {-3.9077, 24.053, -60.}, {-10.347, 25.779, -60.}, {-12.648, 17.193, -60.}}], Polygon[{{-3.9077, 24.053, -60.}, {-1.6071, 32.639, -60.}, {-8.0466, 34.365, -60.}, {-10.347, 25.779, -60.}}], Polygon[{{-1.6071, 32.639, -60.}, {0.6935, 41.225, -60.}, {-5.746, 42.951, -60.}, {-8.0466, 34.365, -60.}}], Polygon[{{-26.452, -34.323, -60.}, {-24.151, -25.737, -60.}, {-30.59, -24.012, -60.}, {-32.891, -32.598, -60.}}], Polygon[{{-24.151, -25.737, -60.}, {-21.85, -17.151, -60.}, {-28.29, -15.426, -60.}, {-30.59, -24.012, -60.}}], Polygon[{{-21.85, -17.151, -60.}, {-19.55, -8.5654, -60.}, {-25.989, -6.8399, -60.}, {-28.29, -15.426, -60.}}], Polygon[{{-19.55, -8.5654, -60.}, {-17.249, 0.020647, -60.}, {-23.689, 1.7461, -60.}, {-25.989, -6.8399, -60.}}], Polygon[{{-17.249, 0.020647, -60.}, {-14.948, 8.6067, -60.}, {-21.388, 10.332, -60.}, {-23.689, 1.7461, -60.}}], Polygon[{{-14.948, 8.6067, -60.}, {-12.648, 17.193, -60.}, {-19.087, 18.918, -60.}, {-21.388, 10.332, -60.}}], Polygon[{{-12.648, 17.193, -60.}, {-10.347, 25.779, -60.}, {-16.787, 27.504, -60.}, {-19.087, 18.918, -60.}}], Polygon[{{-10.347, 25.779, -60.}, {-8.0466, 34.365, -60.}, {-14.486, 36.09, -60.}, {-16.787, 27.504, -60.}}], Polygon[{{-8.0466, 34.365, -60.}, {-5.746, 42.951, -60.}, {-12.186, 44.676, -60.}, {-14.486, 36.09, -60.}}], Polygon[{{-32.891, -32.598, -60.}, {-30.59, -24.012, -60.}, {-37.03, -22.286, -60.}, {-39.331, -30.872, -60.}}], Polygon[{{-30.59, -24.012, -60.}, {-28.29, -15.426, -60.}, {-34.729, -13.7, -60.}, {-37.03, -22.286, -60.}}], Polygon[{{-28.29, -15.426, -60.}, {-25.989, -6.8399, -60.}, {-32.429, -5.1144, -60.}, {-34.729, -13.7, -60.}}], Polygon[{{-25.989, -6.8399, -60.}, {-23.689, 1.7461, -60.}, {-30.128, 3.4716, -60.}, {-32.429, -5.1144, -60.}}], Polygon[{{-23.689, 1.7461, -60.}, {-21.388, 10.332, -60.}, {-27.827, 12.058, -60.}, {-30.128, 3.4716, -60.}}], Polygon[{{-21.388, 10.332, -60.}, {-19.087, 18.918, -60.}, {-25.527, 20.644, -60.}, {-27.827, 12.058, -60.}}], Polygon[{{-19.087, 18.918, -60.}, {-16.787, 27.504, -60.}, {-23.226, 29.23, -60.}, {-25.527, 20.644, -60.}}], Polygon[{{-16.787, 27.504, -60.}, {-14.486, 36.09, -60.}, {-20.926, 37.816, -60.}, {-23.226, 29.23, -60.}}], Polygon[{{-14.486, 36.09, -60.}, {-12.186, 44.676, -60.}, {-18.625, 46.402, -60.}, {-20.926, 37.816, -60.}}]}, {Polygon[{{13.542, -11.901, 60.}, {12.679, -8.6809, 60.}, {10.532, -9.2561, 60.}, {11.395, -12.476, 60.}}], Polygon[{{12.679, -8.6809, 60.}, {11.816, -5.4612, 60.}, {9.6696, -6.0363, 60.}, {10.532, -9.2561, 60.}}], Polygon[{{11.816, -5.4612, 60.}, {10.953, -2.2414, 60.}, {8.8069, -2.8166, 60.}, {9.6696, -6.0363, 60.}}], Polygon[{{10.953, -2.2414, 60.}, {10.091, 0.97831, 60.}, {7.9441, 0.40316, 60.}, {8.8069, -2.8166, 60.}}], Polygon[{{10.091, 0.97831, 60.}, {9.2279, 4.1981, 60.}, {7.0814, 3.6229, 60.}, {7.9441, 0.40316, 60.}}], Polygon[{{9.2279, 4.1981, 60.}, {8.3652, 7.4178, 60.}, {6.2187, 6.8427, 60.}, {7.0814, 3.6229, 60.}}], Polygon[{{8.3652, 7.4178, 60.}, {7.5024, 10.638, 60.}, {5.3559, 10.062, 60.}, {6.2187, 6.8427, 60.}}], Polygon[{{7.5024, 10.638, 60.}, {6.6397, 13.857, 60.}, {4.4932, 13.282, 60.}, {5.3559, 10.062, 60.}}], Polygon[{{6.6397, 13.857, 60.}, {5.777, 17.077, 60.}, {3.6305, 16.502, 60.}, {4.4932, 13.282, 60.}}], Polygon[{{11.395, -12.476, 60.}, {10.532, -9.2561, 60.}, {8.3858, -9.8313, 60.}, {9.2485, -13.051, 60.}}], Polygon[{{10.532, -9.2561, 60.}, {9.6696, -6.0363, 60.}, {7.5231, -6.6115, 60.}, {8.3858, -9.8313, 60.}}], Polygon[{{9.6696, -6.0363, 60.}, {8.8069, -2.8166, 60.}, {6.6603, -3.3917, 60.}, {7.5231, -6.6115, 60.}}], Polygon[{{8.8069, -2.8166, 60.}, {7.9441, 0.40316, 60.}, {5.7976, -0.17199, 60.}, {6.6603, -3.3917, 60.}}], Polygon[{{7.9441, 0.40316, 60.}, {7.0814, 3.6229, 60.}, {4.9349, 3.0478, 60.}, {5.7976, -0.17199, 60.}}], Polygon[{{7.0814, 3.6229, 60.}, {6.2187, 6.8427, 60.}, {4.0722, 6.2675, 60.}, {4.9349, 3.0478, 60.}}], Polygon[{{6.2187, 6.8427, 60.}, {5.3559, 10.062, 60.}, {3.2094, 9.4873, 60.}, {4.0722, 6.2675, 60.}}], Polygon[{{5.3559, 10.062, 60.}, {4.4932, 13.282, 60.}, {2.3467, 12.707, 60.}, {3.2094, 9.4873, 60.}}], Polygon[{{4.4932, 13.282, 60.}, {3.6305, 16.502, 60.}, {1.484, 15.927, 60.}, {2.3467, 12.707, 60.}}], Polygon[{{9.2485, -13.051, 60.}, {8.3858, -9.8313, 60.}, {6.2393, -10.406, 60.}, {7.102, -13.626, 60.}}], Polygon[{{8.3858, -9.8313, 60.}, {7.5231, -6.6115, 60.}, {5.3766, -7.1867, 60.}, {6.2393, -10.406, 60.}}], Polygon[{{7.5231, -6.6115, 60.}, {6.6603, -3.3917, 60.}, {4.5138, -3.9669, 60.}, {5.3766, -7.1867, 60.}}], Polygon[{{6.6603, -3.3917, 60.}, {5.7976, -0.17199, 60.}, {3.6511, -0.74715, 60.}, {4.5138, -3.9669, 60.}}], Polygon[{{5.7976, -0.17199, 60.}, {4.9349, 3.0478, 60.}, {2.7884, 2.4726, 60.}, {3.6511, -0.74715, 60.}}], Polygon[{{4.9349, 3.0478, 60.}, {4.0722, 6.2675, 60.}, {1.9257, 5.6924, 60.}, {2.7884, 2.4726, 60.}}], Polygon[{{4.0722, 6.2675, 60.}, {3.2094, 9.4873, 60.}, {1.0629, 8.9121, 60.}, {1.9257, 5.6924, 60.}}], Polygon[{{3.2094, 9.4873, 60.}, {2.3467, 12.707, 60.}, {0.2002, 12.132, 60.}, {1.0629, 8.9121, 60.}}], Polygon[{{2.3467, 12.707, 60.}, {1.484, 15.927, 60.}, {-0.66253, 15.352, 60.}, {0.2002, 12.132, 60.}}], Polygon[{{7.102, -13.626, 60.}, {6.2393, -10.406, 60.}, {4.0928, -10.982, 60.}, {4.9555, -14.201, 60.}}], Polygon[{{6.2393, -10.406, 60.}, {5.3766, -7.1867, 60.}, {3.2301, -7.7618, 60.}, {4.0928, -10.982, 60.}}], Polygon[{{5.3766, -7.1867, 60.}, {4.5138, -3.9669, 60.}, {2.3673, -4.5421, 60.}, {3.2301, -7.7618, 60.}}], Polygon[{{4.5138, -3.9669, 60.}, {3.6511, -0.74715, 60.}, {1.5046, -1.3223, 60.}, {2.3673, -4.5421, 60.}}], Polygon[{{3.6511, -0.74715, 60.}, {2.7884, 2.4726, 60.}, {0.64189, 1.8975, 60.}, {1.5046, -1.3223, 60.}}], Polygon[{{2.7884, 2.4726, 60.}, {1.9257, 5.6924, 60.}, {-0.22084, 5.1172, 60.}, {0.64189, 1.8975, 60.}}], Polygon[{{1.9257, 5.6924, 60.}, {1.0629, 8.9121, 60.}, {-1.0836, 8.337, 60.}, {-0.22084, 5.1172, 60.}}], Polygon[{{1.0629, 8.9121, 60.}, {0.2002, 12.132, 60.}, {-1.9463, 11.557, 60.}, {-1.0836, 8.337, 60.}}], Polygon[{{0.2002, 12.132, 60.}, {-0.66253, 15.352, 60.}, {-2.809, 14.776, 60.}, {-1.9463, 11.557, 60.}}], Polygon[{{4.9555, -14.201, 60.}, {4.0928, -10.982, 60.}, {1.9463, -11.557, 60.}, {2.809, -14.776, 60.}}], Polygon[{{4.0928, -10.982, 60.}, {3.2301, -7.7618, 60.}, {1.0836, -8.337, 60.}, {1.9463, -11.557, 60.}}], Polygon[{{3.2301, -7.7618, 60.}, {2.3673, -4.5421, 60.}, {0.22084, -5.1172, 60.}, {1.0836, -8.337, 60.}}], Polygon[{{2.3673, -4.5421, 60.}, {1.5046, -1.3223, 60.}, {-0.64189, -1.8975, 60.}, {0.22084, -5.1172, 60.}}], Polygon[{{1.5046, -1.3223, 60.}, {0.64189, 1.8975, 60.}, {-1.5046, 1.3223, 60.}, {-0.64189, -1.8975, 60.}}], Polygon[{{0.64189, 1.8975, 60.}, {-0.22084, 5.1172, 60.}, {-2.3673, 4.5421, 60.}, {-1.5046, 1.3223, 60.}}], Polygon[{{-0.22084, 5.1172, 60.}, {-1.0836, 8.337, 60.}, {-3.2301, 7.7618, 60.}, {-2.3673, 4.5421, 60.}}], Polygon[{{-1.0836, 8.337, 60.}, {-1.9463, 11.557, 60.}, {-4.0928, 10.982, 60.}, {-3.2301, 7.7618, 60.}}], Polygon[{{-1.9463, 11.557, 60.}, {-2.809, 14.776, 60.}, {-4.9555, 14.201, 60.}, {-4.0928, 10.982, 60.}}], Polygon[{{2.809, -14.776, 60.}, {1.9463, -11.557, 60.}, {-0.2002, -12.132, 60.}, {0.66253, -15.352, 60.}}], Polygon[{{1.9463, -11.557, 60.}, {1.0836, -8.337, 60.}, {-1.0629, -8.9121, 60.}, {-0.2002, -12.132, 60.}}], Polygon[{{1.0836, -8.337, 60.}, {0.22084, -5.1172, 60.}, {-1.9257, -5.6924, 60.}, {-1.0629, -8.9121, 60.}}], Polygon[{{0.22084, -5.1172, 60.}, {-0.64189, -1.8975, 60.}, {-2.7884, -2.4726, 60.}, {-1.9257, -5.6924, 60.}}], Polygon[{{-0.64189, -1.8975, 60.}, {-1.5046, 1.3223, 60.}, {-3.6511, 0.74715, 60.}, {-2.7884, -2.4726, 60.}}], Polygon[{{-1.5046, 1.3223, 60.}, {-2.3673, 4.5421, 60.}, {-4.5138, 3.9669, 60.}, {-3.6511, 0.74715, 60.}}], Polygon[{{-2.3673, 4.5421, 60.}, {-3.2301, 7.7618, 60.}, {-5.3766, 7.1867, 60.}, {-4.5138, 3.9669, 60.}}], Polygon[{{-3.2301, 7.7618, 60.}, {-4.0928, 10.982, 60.}, {-6.2393, 10.406, 60.}, {-5.3766, 7.1867, 60.}}], Polygon[{{-4.0928, 10.982, 60.}, {-4.9555, 14.201, 60.}, {-7.102, 13.626, 60.}, {-6.2393, 10.406, 60.}}], Polygon[{{0.66253, -15.352, 60.}, {-0.2002, -12.132, 60.}, {-2.3467, -12.707, 60.}, {-1.484, -15.927, 60.}}], Polygon[{{-0.2002, -12.132, 60.}, {-1.0629, -8.9121, 60.}, {-3.2094, -9.4873, 60.}, {-2.3467, -12.707, 60.}}], Polygon[{{-1.0629, -8.9121, 60.}, {-1.9257, -5.6924, 60.}, {-4.0722, -6.2675, 60.}, {-3.2094, -9.4873, 60.}}], Polygon[{{-1.9257, -5.6924, 60.}, {-2.7884, -2.4726, 60.}, {-4.9349, -3.0478, 60.}, {-4.0722, -6.2675, 60.}}], Polygon[{{-2.7884, -2.4726, 60.}, {-3.6511, 0.74715, 60.}, {-5.7976, 0.17199, 60.}, {-4.9349, -3.0478, 60.}}], Polygon[{{-3.6511, 0.74715, 60.}, {-4.5138, 3.9669, 60.}, {-6.6603, 3.3917, 60.}, {-5.7976, 0.17199, 60.}}], Polygon[{{-4.5138, 3.9669, 60.}, {-5.3766, 7.1867, 60.}, {-7.5231, 6.6115, 60.}, {-6.6603, 3.3917, 60.}}], Polygon[{{-5.3766, 7.1867, 60.}, {-6.2393, 10.406, 60.}, {-8.3858, 9.8313, 60.}, {-7.5231, 6.6115, 60.}}], Polygon[{{-6.2393, 10.406, 60.}, {-7.102, 13.626, 60.}, {-9.2485, 13.051, 60.}, {-8.3858, 9.8313, 60.}}], Polygon[{{-1.484, -15.927, 60.}, {-2.3467, -12.707, 60.}, {-4.4932, -13.282, 60.}, {-3.6305, -16.502, 60.}}], Polygon[{{-2.3467, -12.707, 60.}, {-3.2094, -9.4873, 60.}, {-5.3559, -10.062, 60.}, {-4.4932, -13.282, 60.}}], Polygon[{{-3.2094, -9.4873, 60.}, {-4.0722, -6.2675, 60.}, {-6.2187, -6.8427, 60.}, {-5.3559, -10.062, 60.}}], Polygon[{{-4.0722, -6.2675, 60.}, {-4.9349, -3.0478, 60.}, {-7.0814, -3.6229, 60.}, {-6.2187, -6.8427, 60.}}], Polygon[{{-4.9349, -3.0478, 60.}, {-5.7976, 0.17199, 60.}, {-7.9441, -0.40316, 60.}, {-7.0814, -3.6229, 60.}}], Polygon[{{-5.7976, 0.17199, 60.}, {-6.6603, 3.3917, 60.}, {-8.8069, 2.8166, 60.}, {-7.9441, -0.40316, 60.}}], Polygon[{{-6.6603, 3.3917, 60.}, {-7.5231, 6.6115, 60.}, {-9.6696, 6.0363, 60.}, {-8.8069, 2.8166, 60.}}], Polygon[{{-7.5231, 6.6115, 60.}, {-8.3858, 9.8313, 60.}, {-10.532, 9.2561, 60.}, {-9.6696, 6.0363, 60.}}], Polygon[{{-8.3858, 9.8313, 60.}, {-9.2485, 13.051, 60.}, {-11.395, 12.476, 60.}, {-10.532, 9.2561, 60.}}], Polygon[{{-3.6305, -16.502, 60.}, {-4.4932, -13.282, 60.}, {-6.6397, -13.857, 60.}, {-5.777, -17.077, 60.}}], Polygon[{{-4.4932, -13.282, 60.}, {-5.3559, -10.062, 60.}, {-7.5024, -10.638, 60.}, {-6.6397, -13.857, 60.}}], Polygon[{{-5.3559, -10.062, 60.}, {-6.2187, -6.8427, 60.}, {-8.3652, -7.4178, 60.}, {-7.5024, -10.638, 60.}}], Polygon[{{-6.2187, -6.8427, 60.}, {-7.0814, -3.6229, 60.}, {-9.2279, -4.1981, 60.}, {-8.3652, -7.4178, 60.}}], Polygon[{{-7.0814, -3.6229, 60.}, {-7.9441, -0.40316, 60.}, {-10.091, -0.97831, 60.}, {-9.2279, -4.1981, 60.}}], Polygon[{{-7.9441, -0.40316, 60.}, {-8.8069, 2.8166, 60.}, {-10.953, 2.2414, 60.}, {-10.091, -0.97831, 60.}}], Polygon[{{-8.8069, 2.8166, 60.}, {-9.6696, 6.0363, 60.}, {-11.816, 5.4612, 60.}, {-10.953, 2.2414, 60.}}], Polygon[{{-9.6696, 6.0363, 60.}, {-10.532, 9.2561, 60.}, {-12.679, 8.6809, 60.}, {-11.816, 5.4612, 60.}}], Polygon[{{-10.532, 9.2561, 60.}, {-11.395, 12.476, 60.}, {-13.542, 11.901, 60.}, {-12.679, 8.6809, 60.}}]}}, {AmbientLight -> GrayLevel[0.15], PlotRange -> Automatic, DisplayFunction :> $DisplayFunction, ColorOutput -> Automatic, Axes -> True, PlotLabel -> None, AxesLabel -> {"x", "y", "z"}, Ticks -> Automatic, Prolog -> {}, Epilog -> {}, AxesStyle -> Automatic, Background -> Automatic, DefaultColor -> Automatic, DefaultFont :> $DefaultFont, AspectRatio -> Automatic, ViewPoint -> {1.3, -2.4, 2.}, Boxed -> True, BoxRatios -> Automatic, Plot3Matrix -> Automatic, Lighting -> True, AmbientLight -> GrayLevel[0.], LightSources -> {{{1., 0., 1.}, RGBColor[1., 0., 0.]}, {{1., 1., 1.}, RGBColor[0., 1., 0.]}, {{0., 1., 1.}, RGBColor[0., 0., 1.]}}, ViewCenter -> Automatic, PlotRegion -> Automatic, ImageSize -> Automatic, TextStyle :> {FontFamily -> "Times", FontSize -> 16.}, FormatType :> $FormatType, ViewVertical -> {0., 0., 1.}, FaceGrids -> None, Shading -> True, RenderAll -> True, PolygonIntersections -> True, AxesEdge -> Automatic, BoxStyle -> Automatic, SphericalRegion -> False}]
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aTwistedTubs.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aTwistedTubs.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/aTwistedTubs.txt	(revision 904)
@@ -0,0 +1,1 @@
+Graphics3D[{{Polygon[{{2.5882, -9.6593, -20.}, {3.377, -9.4125, -20.}, {3.7922, -8.9796, -17.895}, {3.0377, -9.2621, -17.895}}], Polygon[{{3.377, -9.4125, -20.}, {4.1428, -9.1015, -20.}, {4.5207, -8.6358, -17.895}, {3.7922, -8.9796, -17.895}}], Polygon[{{4.1428, -9.1015, -20.}, {4.8802, -8.7283, -20.}, {5.2184, -8.233, -17.895}, {4.5207, -8.6358, -17.895}}], Polygon[{{4.8802, -8.7283, -20.}, {5.5843, -8.2955, -20.}, {5.8805, -7.7739, -17.895}, {5.2184, -8.233, -17.895}}], Polygon[{{5.5843, -8.2955, -20.}, {6.2503, -7.806, -20.}, {6.5024, -7.2618, -17.895}, {5.8805, -7.7739, -17.895}}], Polygon[{{6.2503, -7.806, -20.}, {6.8735, -7.2632, -20.}, {7.0798, -6.7, -17.895}, {6.5024, -7.2618, -17.895}}], Polygon[{{6.8735, -7.2632, -20.}, {7.4499, -6.6708, -20.}, {7.6089, -6.0925, -17.895}, {7.0798, -6.7, -17.895}}], Polygon[{{7.4499, -6.6708, -20.}, {7.9753, -6.0328, -20.}, {8.0861, -5.4433, -17.895}, {7.6089, -6.0925, -17.895}}], Polygon[{{7.9753, -6.0328, -20.}, {8.4462, -5.3536, -20.}, {8.5079, -4.757, -17.895}, {8.0861, -5.4433, -17.895}}], Polygon[{{8.4462, -5.3536, -20.}, {8.8595, -4.6378, -20.}, {8.8717, -4.0382, -17.895}, {8.5079, -4.757, -17.895}}], Polygon[{{8.8595, -4.6378, -20.}, {9.2122, -3.8904, -20.}, {9.1749, -3.2917, -17.895}, {8.8717, -4.0382, -17.895}}], Polygon[{{9.2122, -3.8904, -20.}, {9.502, -3.1164, -20.}, {9.4154, -2.5228, -17.895}, {9.1749, -3.2917, -17.895}}], Polygon[{{9.502, -3.1164, -20.}, {9.7269, -2.3211, -20.}, {9.5915, -1.7367, -17.895}, {9.4154, -2.5228, -17.895}}], Polygon[{{9.7269, -2.3211, -20.}, {9.8854, -1.5099, -20.}, {9.7022, -0.93871, -17.895}, {9.5915, -1.7367, -17.895}}], Polygon[{{9.8854, -1.5099, -20.}, {9.9763, -0.6884, -20.}, {9.7466, -0.13431, -17.895}, {9.7022, -0.93871, -17.895}}], Polygon[{{9.9763, -0.6884, -20.}, {9.9991, 0.13778, -20.}, {9.7244, 0.67102, -17.895}, {9.7466, -0.13431, -17.895}}], Polygon[{{9.9991, 0.13778, -20.}, {9.9535, 0.96303, -20.}, {9.6358, 1.4718, -17.895}, {9.7244, 0.67102, -17.895}}], Polygon[{{9.9535, 0.96303, -20.}, {9.84, 1.7817, -20.}, {9.4813, 2.2624, -17.895}, {9.6358, 1.4718, -17.895}}], Polygon[{{9.84, 1.7817, -20.}, {9.6593, 2.5882, -20.}, {9.2621, 3.0377, -17.895}, {9.4813, 2.2624, -17.895}}], Polygon[{{3.0377, -9.2621, -17.895}, {3.7922, -8.9796, -17.895}, {4.18, -8.5504, -15.789}, {3.4597, -8.8664, -15.789}}], Polygon[{{3.7922, -8.9796, -17.895}, {4.5207, -8.6358, -17.895}, {4.8718, -8.176, -15.789}, {4.18, -8.5504, -15.789}}], Polygon[{{4.5207, -8.6358, -17.895}, {5.2184, -8.233, -17.895}, {5.5304, -7.7458, -15.789}, {4.8718, -8.176, -15.789}}], Polygon[{{5.2184, -8.233, -17.895}, {5.8805, -7.7739, -17.895}, {6.1511, -7.2626, -15.789}, {5.5304, -7.7458, -15.789}}], Polygon[{{5.8805, -7.7739, -17.895}, {6.5024, -7.2618, -17.895}, {6.7298, -6.7298, -15.789}, {6.1511, -7.2626, -15.789}}], Polygon[{{6.5024, -7.2618, -17.895}, {7.0798, -6.7, -17.895}, {7.2626, -6.1511, -15.789}, {6.7298, -6.7298, -15.789}}], Polygon[{{7.0798, -6.7, -17.895}, {7.6089, -6.0925, -17.895}, {7.7458, -5.5304, -15.789}, {7.2626, -6.1511, -15.789}}], Polygon[{{7.6089, -6.0925, -17.895}, {8.0861, -5.4433, -17.895}, {8.176, -4.8718, -15.789}, {7.7458, -5.5304, -15.789}}], Polygon[{{8.0861, -5.4433, -17.895}, {8.5079, -4.757, -17.895}, {8.5504, -4.18, -15.789}, {8.176, -4.8718, -15.789}}], Polygon[{{8.5079, -4.757, -17.895}, {8.8717, -4.0382, -17.895}, {8.8664, -3.4597, -15.789}, {8.5504, -4.18, -15.789}}], Polygon[{{8.8717, -4.0382, -17.895}, {9.1749, -3.2917, -17.895}, {9.1218, -2.7157, -15.789}, {8.8664, -3.4597, -15.789}}], Polygon[{{9.1749, -3.2917, -17.895}, {9.4154, -2.5228, -17.895}, {9.3149, -1.9531, -15.789}, {9.1218, -2.7157, -15.789}}], Polygon[{{9.4154, -2.5228, -17.895}, {9.5915, -1.7367, -17.895}, {9.4444, -1.1772, -15.789}, {9.3149, -1.9531, -15.789}}], Polygon[{{9.5915, -1.7367, -17.895}, {9.7022, -0.93871, -17.895}, {9.5093, -0.39331, -15.789}, {9.4444, -1.1772, -15.789}}], Polygon[{{9.7022, -0.93871, -17.895}, {9.7466, -0.13431, -17.895}, {9.5093, 0.39331, -15.789}, {9.5093, -0.39331, -15.789}}], Polygon[{{9.7466, -0.13431, -17.895}, {9.7244, 0.67102, -17.895}, {9.4444, 1.1772, -15.789}, {9.5093, 0.39331, -15.789}}], Polygon[{{9.7244, 0.67102, -17.895}, {9.6358, 1.4718, -17.895}, {9.3149, 1.9531, -15.789}, {9.4444, 1.1772, -15.789}}], Polygon[{{9.6358, 1.4718, -17.895}, {9.4813, 2.2624, -17.895}, {9.1218, 2.7157, -15.789}, {9.3149, 1.9531, -15.789}}], Polygon[{{9.4813, 2.2624, -17.895}, {9.2621, 3.0377, -17.895}, {8.8664, 3.4597, -15.789}, {9.1218, 2.7157, -15.789}}], Polygon[{{3.4597, -8.8664, -15.789}, {4.18, -8.5504, -15.789}, {4.5442, -8.1274, -13.684}, {3.8575, -8.4749, -13.684}}], Polygon[{{4.18, -8.5504, -15.789}, {4.8718, -8.176, -15.789}, {5.1998, -7.7243, -13.684}, {4.5442, -8.1274, -13.684}}], Polygon[{{4.8718, -8.176, -15.789}, {5.5304, -7.7458, -15.789}, {5.8199, -7.2686, -13.684}, {5.1998, -7.7243, -13.684}}], Polygon[{{5.5304, -7.7458, -15.789}, {6.1511, -7.2626, -15.789}, {6.4003, -6.7631, -13.684}, {5.8199, -7.2686, -13.684}}], Polygon[{{6.1511, -7.2626, -15.789}, {6.7298, -6.7298, -15.789}, {6.9369, -6.2115, -13.684}, {6.4003, -6.7631, -13.684}}], Polygon[{{6.7298, -6.7298, -15.789}, {7.2626, -6.1511, -15.789}, {7.4262, -5.6174, -13.684}, {6.9369, -6.2115, -13.684}}], Polygon[{{7.2626, -6.1511, -15.789}, {7.7458, -5.5304, -15.789}, {7.8647, -4.985, -13.684}, {7.4262, -5.6174, -13.684}}], Polygon[{{7.7458, -5.5304, -15.789}, {8.176, -4.8718, -15.789}, {8.2495, -4.3185, -13.684}, {7.8647, -4.985, -13.684}}], Polygon[{{8.176, -4.8718, -15.789}, {8.5504, -4.18, -15.789}, {8.5779, -3.6225, -13.684}, {8.2495, -4.3185, -13.684}}], Polygon[{{8.5504, -4.18, -15.789}, {8.8664, -3.4597, -15.789}, {8.8478, -2.9018, -13.684}, {8.5779, -3.6225, -13.684}}], Polygon[{{8.8664, -3.4597, -15.789}, {9.1218, -2.7157, -15.789}, {9.0572, -2.1612, -13.684}, {8.8478, -2.9018, -13.684}}], Polygon[{{9.1218, -2.7157, -15.789}, {9.3149, -1.9531, -15.789}, {9.2047, -1.4059, -13.684}, {9.0572, -2.1612, -13.684}}], Polygon[{{9.3149, -1.9531, -15.789}, {9.4444, -1.1772, -15.789}, {9.2894, -0.641, -13.684}, {9.2047, -1.4059, -13.684}}], Polygon[{{9.4444, -1.1772, -15.789}, {9.5093, -0.39331, -15.789}, {9.3106, 0.1283, -13.684}, {9.2894, -0.641, -13.684}}], Polygon[{{9.5093, -0.39331, -15.789}, {9.5093, 0.39331, -15.789}, {9.2682, 0.89672, -13.684}, {9.3106, 0.1283, -13.684}}], Polygon[{{9.5093, 0.39331, -15.789}, {9.4444, 1.1772, -15.789}, {9.1625, 1.659, -13.684}, {9.2682, 0.89672, -13.684}}], Polygon[{{9.4444, 1.1772, -15.789}, {9.3149, 1.9531, -15.789}, {8.9942, 2.41, -13.684}, {9.1625, 1.659, -13.684}}], Polygon[{{9.3149, 1.9531, -15.789}, {9.1218, 2.7157, -15.789}, {8.7645, 3.1445, -13.684}, {8.9942, 2.41, -13.684}}], Polygon[{{9.1218, 2.7157, -15.789}, {8.8664, 3.4597, -15.789}, {8.4749, 3.8575, -13.684}, {8.7645, 3.1445, -13.684}}], Polygon[{{3.8575, -8.4749, -13.684}, {4.5442, -8.1274, -13.684}, {4.8885, -7.7125, -11.579}, {4.2349, -8.0898, -11.579}}], Polygon[{{4.5442, -8.1274, -13.684}, {5.1998, -7.7243, -13.684}, {5.5087, -7.2824, -11.579}, {4.8885, -7.7125, -11.579}}], Polygon[{{5.1998, -7.7243, -13.684}, {5.8199, -7.2686, -13.684}, {6.0913, -6.8026, -11.579}, {5.5087, -7.2824, -11.579}}], Polygon[{{5.8199, -7.2686, -13.684}, {6.4003, -6.7631, -13.684}, {6.6322, -6.2764, -11.579}, {6.0913, -6.8026, -11.579}}], Polygon[{{6.4003, -6.7631, -13.684}, {6.9369, -6.2115, -13.684}, {7.1279, -5.7073, -11.579}, {6.6322, -6.2764, -11.579}}], Polygon[{{6.9369, -6.2115, -13.684}, {7.4262, -5.6174, -13.684}, {7.5748, -5.0992, -11.579}, {7.1279, -5.7073, -11.579}}], Polygon[{{7.4262, -5.6174, -13.684}, {7.8647, -4.985, -13.684}, {7.97, -4.4562, -11.579}, {7.5748, -5.0992, -11.579}}], Polygon[{{7.8647, -4.985, -13.684}, {8.2495, -4.3185, -13.684}, {8.3108, -3.7828, -11.579}, {7.97, -4.4562, -11.579}}], Polygon[{{8.2495, -4.3185, -13.684}, {8.5779, -3.6225, -13.684}, {8.5948, -3.0836, -11.579}, {8.3108, -3.7828, -11.579}}], Polygon[{{8.5779, -3.6225, -13.684}, {8.8478, -2.9018, -13.684}, {8.8201, -2.3633, -11.579}, {8.5948, -3.0836, -11.579}}], Polygon[{{8.8478, -2.9018, -13.684}, {9.0572, -2.1612, -13.684}, {8.9851, -1.6269, -11.579}, {8.8201, -2.3633, -11.579}}], Polygon[{{9.0572, -2.1612, -13.684}, {9.2047, -1.4059, -13.684}, {9.0888, -0.87936, -11.579}, {8.9851, -1.6269, -11.579}}], Polygon[{{9.2047, -1.4059, -13.684}, {9.2894, -0.641, -13.684}, {9.1304, -0.12581, -11.579}, {9.0888, -0.87936, -11.579}}], Polygon[{{9.2894, -0.641, -13.684}, {9.3106, 0.1283, -13.684}, {9.1096, 0.6286, -11.579}, {9.1304, -0.12581, -11.579}}], Polygon[{{9.3106, 0.1283, -13.684}, {9.2682, 0.89672, -13.684}, {9.0266, 1.3787, -11.579}, {9.1096, 0.6286, -11.579}}], Polygon[{{9.2682, 0.89672, -13.684}, {9.1625, 1.659, -13.684}, {8.8819, 2.1194, -11.579}, {9.0266, 1.3787, -11.579}}], Polygon[{{9.1625, 1.659, -13.684}, {8.9942, 2.41, -13.684}, {8.6765, 2.8456, -11.579}, {8.8819, 2.1194, -11.579}}], Polygon[{{8.9942, 2.41, -13.684}, {8.7645, 3.1445, -13.684}, {8.4119, 3.5524, -11.579}, {8.6765, 2.8456, -11.579}}], Polygon[{{8.7645, 3.1445, -13.684}, {8.4749, 3.8575, -13.684}, {8.0898, 4.2349, -11.579}, {8.4119, 3.5524, -11.579}}], Polygon[{{4.2349, -8.0898, -11.579}, {4.8885, -7.7125, -11.579}, {5.2171, -7.307, -9.4737}, {4.5958, -7.7128, -9.4737}}], Polygon[{{4.8885, -7.7125, -11.579}, {5.5087, -7.2824, -11.579}, {5.8027, -6.8512, -9.4737}, {5.2171, -7.307, -9.4737}}], Polygon[{{5.5087, -7.2824, -11.579}, {6.0913, -6.8026, -11.579}, {6.3486, -6.3486, -9.4737}, {5.8027, -6.8512, -9.4737}}], Polygon[{{6.0913, -6.8026, -11.579}, {6.6322, -6.2764, -11.579}, {6.8512, -5.8027, -9.4737}, {6.3486, -6.3486, -9.4737}}], Polygon[{{6.6322, -6.2764, -11.579}, {7.1279, -5.7073, -11.579}, {7.307, -5.2171, -9.4737}, {6.8512, -5.8027, -9.4737}}], Polygon[{{7.1279, -5.7073, -11.579}, {7.5748, -5.0992, -11.579}, {7.7128, -4.5958, -9.4737}, {7.307, -5.2171, -9.4737}}], Polygon[{{7.5748, -5.0992, -11.579}, {7.97, -4.4562, -11.579}, {8.066, -3.9432, -9.4737}, {7.7128, -4.5958, -9.4737}}], Polygon[{{7.97, -4.4562, -11.579}, {8.3108, -3.7828, -11.579}, {8.3641, -3.2637, -9.4737}, {8.066, -3.9432, -9.4737}}], Polygon[{{8.3108, -3.7828, -11.579}, {8.5948, -3.0836, -11.579}, {8.605, -2.5618, -9.4737}, {8.3641, -3.2637, -9.4737}}], Polygon[{{8.5948, -3.0836, -11.579}, {8.8201, -2.3633, -11.579}, {8.7872, -1.8425, -9.4737}, {8.605, -2.5618, -9.4737}}], Polygon[{{8.8201, -2.3633, -11.579}, {8.9851, -1.6269, -11.579}, {8.9093, -1.1105, -9.4737}, {8.7872, -1.8425, -9.4737}}], Polygon[{{8.9851, -1.6269, -11.579}, {9.0888, -0.87936, -11.579}, {8.9706, -0.37103, -9.4737}, {8.9093, -1.1105, -9.4737}}], Polygon[{{9.0888, -0.87936, -11.579}, {9.1304, -0.12581, -11.579}, {8.9706, 0.37103, -9.4737}, {8.9706, -0.37103, -9.4737}}], Polygon[{{9.1304, -0.12581, -11.579}, {9.1096, 0.6286, -11.579}, {8.9093, 1.1105, -9.4737}, {8.9706, 0.37103, -9.4737}}], Polygon[{{9.1096, 0.6286, -11.579}, {9.0266, 1.3787, -11.579}, {8.7872, 1.8425, -9.4737}, {8.9093, 1.1105, -9.4737}}], Polygon[{{9.0266, 1.3787, -11.579}, {8.8819, 2.1194, -11.579}, {8.605, 2.5618, -9.4737}, {8.7872, 1.8425, -9.4737}}], Polygon[{{8.8819, 2.1194, -11.579}, {8.6765, 2.8456, -11.579}, {8.3641, 3.2637, -9.4737}, {8.605, 2.5618, -9.4737}}], Polygon[{{8.6765, 2.8456, -11.579}, {8.4119, 3.5524, -11.579}, {8.066, 3.9432, -9.4737}, {8.3641, 3.2637, -9.4737}}], Polygon[{{8.4119, 3.5524, -11.579}, {8.0898, 4.2349, -11.579}, {7.7128, 4.5958, -9.4737}, {8.066, 3.9432, -9.4737}}], Polygon[{{4.5958, -7.7128, -9.4737}, {5.2171, -7.307, -9.4737}, {5.534, -6.9115, -7.3684}, {4.9444, -7.3448, -7.3684}}], Polygon[{{5.2171, -7.307, -9.4737}, {5.8027, -6.8512, -9.4737}, {6.0858, -6.4309, -7.3684}, {5.534, -6.9115, -7.3684}}], Polygon[{{5.8027, -6.8512, -9.4737}, {6.3486, -6.3486, -9.4737}, {6.5961, -5.9063, -7.3684}, {6.0858, -6.4309, -7.3684}}], Polygon[{{6.3486, -6.3486, -9.4737}, {6.8512, -5.8027, -9.4737}, {7.0613, -5.3415, -7.3684}, {6.5961, -5.9063, -7.3684}}], Polygon[{{6.8512, -5.8027, -9.4737}, {7.307, -5.2171, -9.4737}, {7.4783, -4.7401, -7.3684}, {7.0613, -5.3415, -7.3684}}], Polygon[{{7.307, -5.2171, -9.4737}, {7.7128, -4.5958, -9.4737}, {7.8442, -4.1063, -7.3684}, {7.4783, -4.7401, -7.3684}}], Polygon[{{7.7128, -4.5958, -9.4737}, {8.066, -3.9432, -9.4737}, {8.1565, -3.4446, -7.3684}, {7.8442, -4.1063, -7.3684}}], Polygon[{{8.066, -3.9432, -9.4737}, {8.3641, -3.2637, -9.4737}, {8.4131, -2.7592, -7.3684}, {8.1565, -3.4446, -7.3684}}], Polygon[{{8.3641, -3.2637, -9.4737}, {8.605, -2.5618, -9.4737}, {8.6122, -2.0551, -7.3684}, {8.4131, -2.7592, -7.3684}}], Polygon[{{8.605, -2.5618, -9.4737}, {8.7872, -1.8425, -9.4737}, {8.7525, -1.3369, -7.3684}, {8.6122, -2.0551, -7.3684}}], Polygon[{{8.7872, -1.8425, -9.4737}, {8.9093, -1.1105, -9.4737}, {8.833, -0.60951, -7.3684}, {8.7525, -1.3369, -7.3684}}], Polygon[{{8.9093, -1.1105, -9.4737}, {8.9706, -0.37103, -9.4737}, {8.8532, 0.12199, -7.3684}, {8.833, -0.60951, -7.3684}}], Polygon[{{8.9706, -0.37103, -9.4737}, {8.9706, 0.37103, -9.4737}, {8.8128, 0.85267, -7.3684}, {8.8532, 0.12199, -7.3684}}], Polygon[{{8.9706, 0.37103, -9.4737}, {8.9093, 1.1105, -9.4737}, {8.7123, 1.5775, -7.3684}, {8.8128, 0.85267, -7.3684}}], Polygon[{{8.9093, 1.1105, -9.4737}, {8.7872, 1.8425, -9.4737}, {8.5523, 2.2916, -7.3684}, {8.7123, 1.5775, -7.3684}}], Polygon[{{8.7872, 1.8425, -9.4737}, {8.605, 2.5618, -9.4737}, {8.3339, 2.99, -7.3684}, {8.5523, 2.2916, -7.3684}}], Polygon[{{8.605, 2.5618, -9.4737}, {8.3641, 3.2637, -9.4737}, {8.0585, 3.668, -7.3684}, {8.3339, 2.99, -7.3684}}], Polygon[{{8.3641, 3.2637, -9.4737}, {8.066, 3.9432, -9.4737}, {7.7281, 4.3209, -7.3684}, {8.0585, 3.668, -7.3684}}], Polygon[{{8.066, 3.9432, -9.4737}, {7.7128, 4.5958, -9.4737}, {7.3448, 4.9444, -7.3684}, {7.7281, 4.3209, -7.3684}}], Polygon[{{4.9444, -7.3448, -7.3684}, {5.534, -6.9115, -7.3684}, {5.8434, -6.5258, -5.2632}, {5.2845, -6.9861, -5.2632}}], Polygon[{{5.534, -6.9115, -7.3684}, {6.0858, -6.4309, -7.3684}, {6.3623, -6.021, -5.2632}, {5.8434, -6.5258, -5.2632}}], Polygon[{{6.0858, -6.4309, -7.3684}, {6.5961, -5.9063, -7.3684}, {6.8378, -5.475, -5.2632}, {6.3623, -6.021, -5.2632}}], Polygon[{{6.5961, -5.9063, -7.3684}, {7.0613, -5.3415, -7.3684}, {7.2666, -4.8917, -5.2632}, {6.8378, -5.475, -5.2632}}], Polygon[{{7.0613, -5.3415, -7.3684}, {7.4783, -4.7401, -7.3684}, {7.6457, -4.2749, -5.2632}, {7.2666, -4.8917, -5.2632}}], Polygon[{{7.4783, -4.7401, -7.3684}, {7.8442, -4.1063, -7.3684}, {7.9726, -3.6289, -5.2632}, {7.6457, -4.2749, -5.2632}}], Polygon[{{7.8442, -4.1063, -7.3684}, {8.1565, -3.4446, -7.3684}, {8.245, -2.9581, -5.2632}, {7.9726, -3.6289, -5.2632}}], Polygon[{{8.1565, -3.4446, -7.3684}, {8.4131, -2.7592, -7.3684}, {8.4612, -2.2672, -5.2632}, {8.245, -2.9581, -5.2632}}], Polygon[{{8.4131, -2.7592, -7.3684}, {8.6122, -2.0551, -7.3684}, {8.6195, -1.5607, -5.2632}, {8.4612, -2.2672, -5.2632}}], Polygon[{{8.6122, -2.0551, -7.3684}, {8.7525, -1.3369, -7.3684}, {8.7189, -0.84358, -5.2632}, {8.6195, -1.5607, -5.2632}}], Polygon[{{8.7525, -1.3369, -7.3684}, {8.833, -0.60951, -7.3684}, {8.7588, -0.12069, -5.2632}, {8.7189, -0.84358, -5.2632}}], Polygon[{{8.833, -0.60951, -7.3684}, {8.8532, 0.12199, -7.3684}, {8.7389, 0.60301, -5.2632}, {8.7588, -0.12069, -5.2632}}], Polygon[{{8.8532, 0.12199, -7.3684}, {8.8128, 0.85267, -7.3684}, {8.6592, 1.3226, -5.2632}, {8.7389, 0.60301, -5.2632}}], Polygon[{{8.8128, 0.85267, -7.3684}, {8.7123, 1.5775, -7.3684}, {8.5204, 2.0332, -5.2632}, {8.6592, 1.3226, -5.2632}}], Polygon[{{8.7123, 1.5775, -7.3684}, {8.5523, 2.2916, -7.3684}, {8.3234, 2.7298, -5.2632}, {8.5204, 2.0332, -5.2632}}], Polygon[{{8.5523, 2.2916, -7.3684}, {8.3339, 2.99, -7.3684}, {8.0696, 3.4078, -5.2632}, {8.3234, 2.7298, -5.2632}}], Polygon[{{8.3339, 2.99, -7.3684}, {8.0585, 3.668, -7.3684}, {7.7606, 4.0626, -5.2632}, {8.0696, 3.4078, -5.2632}}], Polygon[{{8.0585, 3.668, -7.3684}, {7.7281, 4.3209, -7.3684}, {7.3986, 4.6896, -5.2632}, {7.7606, 4.0626, -5.2632}}], Polygon[{{7.7281, 4.3209, -7.3684}, {7.3448, 4.9444, -7.3684}, {6.9861, 5.2845, -5.2632}, {7.3986, 4.6896, -5.2632}}], Polygon[{{5.2845, -6.9861, -5.2632}, {5.8434, -6.5258, -5.2632}, {6.1491, -6.1491, -3.1579}, {5.6203, -6.6359, -3.1579}}], Polygon[{{5.8434, -6.5258, -5.2632}, {6.3623, -6.021, -5.2632}, {6.6359, -5.6203, -3.1579}, {6.1491, -6.1491, -3.1579}}], Polygon[{{6.3623, -6.021, -5.2632}, {6.8378, -5.475, -5.2632}, {7.0774, -5.0531, -3.1579}, {6.6359, -5.6203, -3.1579}}], Polygon[{{6.8378, -5.475, -5.2632}, {7.2666, -4.8917, -5.2632}, {7.4705, -4.4514, -3.1579}, {7.0774, -5.0531, -3.1579}}], Polygon[{{7.2666, -4.8917, -5.2632}, {7.6457, -4.2749, -5.2632}, {7.8126, -3.8193, -3.1579}, {7.4705, -4.4514, -3.1579}}], Polygon[{{7.6457, -4.2749, -5.2632}, {7.9726, -3.6289, -5.2632}, {8.1013, -3.1611, -3.1579}, {7.8126, -3.8193, -3.1579}}], Polygon[{{7.9726, -3.6289, -5.2632}, {8.245, -2.9581, -5.2632}, {8.3346, -2.4813, -3.1579}, {8.1013, -3.1611, -3.1579}}], Polygon[{{8.245, -2.9581, -5.2632}, {8.4612, -2.2672, -5.2632}, {8.5111, -1.7846, -3.1579}, {8.3346, -2.4813, -3.1579}}], Polygon[{{8.4612, -2.2672, -5.2632}, {8.6195, -1.5607, -5.2632}, {8.6294, -1.0757, -3.1579}, {8.5111, -1.7846, -3.1579}}], Polygon[{{8.6195, -1.5607, -5.2632}, {8.7189, -0.84358, -5.2632}, {8.6887, -0.35937, -3.1579}, {8.6294, -1.0757, -3.1579}}], Polygon[{{8.7189, -0.84358, -5.2632}, {8.7588, -0.12069, -5.2632}, {8.6887, 0.35937, -3.1579}, {8.6887, -0.35937, -3.1579}}], Polygon[{{8.7588, -0.12069, -5.2632}, {8.7389, 0.60301, -5.2632}, {8.6294, 1.0757, -3.1579}, {8.6887, 0.35937, -3.1579}}], Polygon[{{8.7389, 0.60301, -5.2632}, {8.6592, 1.3226, -5.2632}, {8.5111, 1.7846, -3.1579}, {8.6294, 1.0757, -3.1579}}], Polygon[{{8.6592, 1.3226, -5.2632}, {8.5204, 2.0332, -5.2632}, {8.3346, 2.4813, -3.1579}, {8.5111, 1.7846, -3.1579}}], Polygon[{{8.5204, 2.0332, -5.2632}, {8.3234, 2.7298, -5.2632}, {8.1013, 3.1611, -3.1579}, {8.3346, 2.4813, -3.1579}}], Polygon[{{8.3234, 2.7298, -5.2632}, {8.0696, 3.4078, -5.2632}, {7.8126, 3.8193, -3.1579}, {8.1013, 3.1611, -3.1579}}], Polygon[{{8.0696, 3.4078, -5.2632}, {7.7606, 4.0626, -5.2632}, {7.4705, 4.4514, -3.1579}, {7.8126, 3.8193, -3.1579}}], Polygon[{{7.7606, 4.0626, -5.2632}, {7.3986, 4.6896, -5.2632}, {7.0774, 5.0531, -3.1579}, {7.4705, 4.4514, -3.1579}}], Polygon[{{7.3986, 4.6896, -5.2632}, {6.9861, 5.2845, -5.2632}, {6.6359, 5.6203, -3.1579}, {7.0774, 5.0531, -3.1579}}], Polygon[{{5.6203, -6.6359, -3.1579}, {6.1491, -6.1491, -3.1579}, {6.4547, -5.7797, -1.0526}, {5.9554, -6.293, -1.0526}}], Polygon[{{6.1491, -6.1491, -3.1579}, {6.6359, -5.6203, -3.1579}, {6.91, -5.227, -1.0526}, {6.4547, -5.7797, -1.0526}}], Polygon[{{6.6359, -5.6203, -3.1579}, {7.0774, -5.0531, -3.1579}, {7.318, -4.6385, -1.0526}, {6.91, -5.227, -1.0526}}], Polygon[{{7.0774, -5.0531, -3.1579}, {7.4705, -4.4514, -3.1579}, {7.6761, -4.0183, -1.0526}, {7.318, -4.6385, -1.0526}}], Polygon[{{7.4705, -4.4514, -3.1579}, {7.8126, -3.8193, -3.1579}, {7.9817, -3.3707, -1.0526}, {7.6761, -4.0183, -1.0526}}], Polygon[{{7.8126, -3.8193, -3.1579}, {8.1013, -3.1611, -3.1579}, {8.2328, -2.7001, -1.0526}, {7.9817, -3.3707, -1.0526}}], Polygon[{{8.1013, -3.1611, -3.1579}, {8.3346, -2.4813, -3.1579}, {8.4276, -2.011, -1.0526}, {8.2328, -2.7001, -1.0526}}], Polygon[{{8.3346, -2.4813, -3.1579}, {8.5111, -1.7846, -3.1579}, {8.5649, -1.3082, -1.0526}, {8.4276, -2.011, -1.0526}}], Polygon[{{8.5111, -1.7846, -3.1579}, {8.6294, -1.0757, -3.1579}, {8.6437, -0.59645, -1.0526}, {8.5649, -1.3082, -1.0526}}], Polygon[{{8.6294, -1.0757, -3.1579}, {8.6887, -0.35937, -3.1579}, {8.6634, 0.11938, -1.0526}, {8.6437, -0.59645, -1.0526}}], Polygon[{{8.6887, -0.35937, -3.1579}, {8.6887, 0.35937, -3.1579}, {8.624, 0.83439, -1.0526}, {8.6634, 0.11938, -1.0526}}], Polygon[{{8.6887, 0.35937, -3.1579}, {8.6294, 1.0757, -3.1579}, {8.5256, 1.5437, -1.0526}, {8.624, 0.83439, -1.0526}}], Polygon[{{8.6294, 1.0757, -3.1579}, {8.5111, 1.7846, -3.1579}, {8.369, 2.2425, -1.0526}, {8.5256, 1.5437, -1.0526}}], Polygon[{{8.5111, 1.7846, -3.1579}, {8.3346, 2.4813, -3.1579}, {8.1553, 2.9259, -1.0526}, {8.369, 2.2425, -1.0526}}], Polygon[{{8.3346, 2.4813, -3.1579}, {8.1013, 3.1611, -3.1579}, {7.8858, 3.5894, -1.0526}, {8.1553, 2.9259, -1.0526}}], Polygon[{{8.1013, 3.1611, -3.1579}, {7.8126, 3.8193, -3.1579}, {7.5624, 4.2283, -1.0526}, {7.8858, 3.5894, -1.0526}}], Polygon[{{7.8126, 3.8193, -3.1579}, {7.4705, 4.4514, -3.1579}, {7.1874, 4.8384, -1.0526}, {7.5624, 4.2283, -1.0526}}], Polygon[{{7.4705, 4.4514, -3.1579}, {7.0774, 5.0531, -3.1579}, {6.7633, 5.4154, -1.0526}, {7.1874, 4.8384, -1.0526}}], Polygon[{{7.0774, 5.0531, -3.1579}, {6.6359, 5.6203, -3.1579}, {6.293, 5.9554, -1.0526}, {6.7633, 5.4154, -1.0526}}], Polygon[{{5.9554, -6.293, -1.0526}, {6.4547, -5.7797, -1.0526}, {6.7633, -5.4154, 1.0526}, {6.293, -5.9554, 1.0526}}], Polygon[{{6.4547, -5.7797, -1.0526}, {6.91, -5.227, -1.0526}, {7.1874, -4.8384, 1.0526}, {6.7633, -5.4154, 1.0526}}], Polygon[{{6.91, -5.227, -1.0526}, {7.318, -4.6385, -1.0526}, {7.5624, -4.2283, 1.0526}, {7.1874, -4.8384, 1.0526}}], Polygon[{{7.318, -4.6385, -1.0526}, {7.6761, -4.0183, -1.0526}, {7.8858, -3.5894, 1.0526}, {7.5624, -4.2283, 1.0526}}], Polygon[{{7.6761, -4.0183, -1.0526}, {7.9817, -3.3707, -1.0526}, {8.1553, -2.9259, 1.0526}, {7.8858, -3.5894, 1.0526}}], Polygon[{{7.9817, -3.3707, -1.0526}, {8.2328, -2.7001, -1.0526}, {8.369, -2.2425, 1.0526}, {8.1553, -2.9259, 1.0526}}], Polygon[{{8.2328, -2.7001, -1.0526}, {8.4276, -2.011, -1.0526}, {8.5256, -1.5437, 1.0526}, {8.369, -2.2425, 1.0526}}], Polygon[{{8.4276, -2.011, -1.0526}, {8.5649, -1.3082, -1.0526}, {8.624, -0.83439, 1.0526}, {8.5256, -1.5437, 1.0526}}], Polygon[{{8.5649, -1.3082, -1.0526}, {8.6437, -0.59645, -1.0526}, {8.6634, -0.11938, 1.0526}, {8.624, -0.83439, 1.0526}}], Polygon[{{8.6437, -0.59645, -1.0526}, {8.6634, 0.11938, -1.0526}, {8.6437, 0.59645, 1.0526}, {8.6634, -0.11938, 1.0526}}], Polygon[{{8.6634, 0.11938, -1.0526}, {8.624, 0.83439, -1.0526}, {8.5649, 1.3082, 1.0526}, {8.6437, 0.59645, 1.0526}}], Polygon[{{8.624, 0.83439, -1.0526}, {8.5256, 1.5437, -1.0526}, {8.4276, 2.011, 1.0526}, {8.5649, 1.3082, 1.0526}}], Polygon[{{8.5256, 1.5437, -1.0526}, {8.369, 2.2425, -1.0526}, {8.2328, 2.7001, 1.0526}, {8.4276, 2.011, 1.0526}}], Polygon[{{8.369, 2.2425, -1.0526}, {8.1553, 2.9259, -1.0526}, {7.9817, 3.3707, 1.0526}, {8.2328, 2.7001, 1.0526}}], Polygon[{{8.1553, 2.9259, -1.0526}, {7.8858, 3.5894, -1.0526}, {7.6761, 4.0183, 1.0526}, {7.9817, 3.3707, 1.0526}}], Polygon[{{7.8858, 3.5894, -1.0526}, {7.5624, 4.2283, -1.0526}, {7.318, 4.6385, 1.0526}, {7.6761, 4.0183, 1.0526}}], Polygon[{{7.5624, 4.2283, -1.0526}, {7.1874, 4.8384, -1.0526}, {6.91, 5.227, 1.0526}, {7.318, 4.6385, 1.0526}}], Polygon[{{7.1874, 4.8384, -1.0526}, {6.7633, 5.4154, -1.0526}, {6.4547, 5.7797, 1.0526}, {6.91, 5.227, 1.0526}}], Polygon[{{6.7633, 5.4154, -1.0526}, {6.293, 5.9554, -1.0526}, {5.9554, 6.293, 1.0526}, {6.4547, 5.7797, 1.0526}}], Polygon[{{6.293, -5.9554, 1.0526}, {6.7633, -5.4154, 1.0526}, {7.0774, -5.0531, 3.1579}, {6.6359, -5.6203, 3.1579}}], Polygon[{{6.7633, -5.4154, 1.0526}, {7.1874, -4.8384, 1.0526}, {7.4705, -4.4514, 3.1579}, {7.0774, -5.0531, 3.1579}}], Polygon[{{7.1874, -4.8384, 1.0526}, {7.5624, -4.2283, 1.0526}, {7.8126, -3.8193, 3.1579}, {7.4705, -4.4514, 3.1579}}], Polygon[{{7.5624, -4.2283, 1.0526}, {7.8858, -3.5894, 1.0526}, {8.1013, -3.1611, 3.1579}, {7.8126, -3.8193, 3.1579}}], Polygon[{{7.8858, -3.5894, 1.0526}, {8.1553, -2.9259, 1.0526}, {8.3346, -2.4813, 3.1579}, {8.1013, -3.1611, 3.1579}}], Polygon[{{8.1553, -2.9259, 1.0526}, {8.369, -2.2425, 1.0526}, {8.5111, -1.7846, 3.1579}, {8.3346, -2.4813, 3.1579}}], Polygon[{{8.369, -2.2425, 1.0526}, {8.5256, -1.5437, 1.0526}, {8.6294, -1.0757, 3.1579}, {8.5111, -1.7846, 3.1579}}], Polygon[{{8.5256, -1.5437, 1.0526}, {8.624, -0.83439, 1.0526}, {8.6887, -0.35937, 3.1579}, {8.6294, -1.0757, 3.1579}}], Polygon[{{8.624, -0.83439, 1.0526}, {8.6634, -0.11938, 1.0526}, {8.6887, 0.35937, 3.1579}, {8.6887, -0.35937, 3.1579}}], Polygon[{{8.6634, -0.11938, 1.0526}, {8.6437, 0.59645, 1.0526}, {8.6294, 1.0757, 3.1579}, {8.6887, 0.35937, 3.1579}}], Polygon[{{8.6437, 0.59645, 1.0526}, {8.5649, 1.3082, 1.0526}, {8.5111, 1.7846, 3.1579}, {8.6294, 1.0757, 3.1579}}], Polygon[{{8.5649, 1.3082, 1.0526}, {8.4276, 2.011, 1.0526}, {8.3346, 2.4813, 3.1579}, {8.5111, 1.7846, 3.1579}}], Polygon[{{8.4276, 2.011, 1.0526}, {8.2328, 2.7001, 1.0526}, {8.1013, 3.1611, 3.1579}, {8.3346, 2.4813, 3.1579}}], Polygon[{{8.2328, 2.7001, 1.0526}, {7.9817, 3.3707, 1.0526}, {7.8126, 3.8193, 3.1579}, {8.1013, 3.1611, 3.1579}}], Polygon[{{7.9817, 3.3707, 1.0526}, {7.6761, 4.0183, 1.0526}, {7.4705, 4.4514, 3.1579}, {7.8126, 3.8193, 3.1579}}], Polygon[{{7.6761, 4.0183, 1.0526}, {7.318, 4.6385, 1.0526}, {7.0774, 5.0531, 3.1579}, {7.4705, 4.4514, 3.1579}}], Polygon[{{7.318, 4.6385, 1.0526}, {6.91, 5.227, 1.0526}, {6.6359, 5.6203, 3.1579}, {7.0774, 5.0531, 3.1579}}], Polygon[{{6.91, 5.227, 1.0526}, {6.4547, 5.7797, 1.0526}, {6.1491, 6.1491, 3.1579}, {6.6359, 5.6203, 3.1579}}], Polygon[{{6.4547, 5.7797, 1.0526}, {5.9554, 6.293, 1.0526}, {5.6203, 6.6359, 3.1579}, {6.1491, 6.1491, 3.1579}}], Polygon[{{6.6359, -5.6203, 3.1579}, {7.0774, -5.0531, 3.1579}, {7.3986, -4.6896, 5.2632}, {6.9861, -5.2845, 5.2632}}], Polygon[{{7.0774, -5.0531, 3.1579}, {7.4705, -4.4514, 3.1579}, {7.7606, -4.0626, 5.2632}, {7.3986, -4.6896, 5.2632}}], Polygon[{{7.4705, -4.4514, 3.1579}, {7.8126, -3.8193, 3.1579}, {8.0696, -3.4078, 5.2632}, {7.7606, -4.0626, 5.2632}}], Polygon[{{7.8126, -3.8193, 3.1579}, {8.1013, -3.1611, 3.1579}, {8.3234, -2.7298, 5.2632}, {8.0696, -3.4078, 5.2632}}], Polygon[{{8.1013, -3.1611, 3.1579}, {8.3346, -2.4813, 3.1579}, {8.5204, -2.0332, 5.2632}, {8.3234, -2.7298, 5.2632}}], Polygon[{{8.3346, -2.4813, 3.1579}, {8.5111, -1.7846, 3.1579}, {8.6592, -1.3226, 5.2632}, {8.5204, -2.0332, 5.2632}}], Polygon[{{8.5111, -1.7846, 3.1579}, {8.6294, -1.0757, 3.1579}, {8.7389, -0.60301, 5.2632}, {8.6592, -1.3226, 5.2632}}], Polygon[{{8.6294, -1.0757, 3.1579}, {8.6887, -0.35937, 3.1579}, {8.7588, 0.12069, 5.2632}, {8.7389, -0.60301, 5.2632}}], Polygon[{{8.6887, -0.35937, 3.1579}, {8.6887, 0.35937, 3.1579}, {8.7189, 0.84358, 5.2632}, {8.7588, 0.12069, 5.2632}}], Polygon[{{8.6887, 0.35937, 3.1579}, {8.6294, 1.0757, 3.1579}, {8.6195, 1.5607, 5.2632}, {8.7189, 0.84358, 5.2632}}], Polygon[{{8.6294, 1.0757, 3.1579}, {8.5111, 1.7846, 3.1579}, {8.4612, 2.2672, 5.2632}, {8.6195, 1.5607, 5.2632}}], Polygon[{{8.5111, 1.7846, 3.1579}, {8.3346, 2.4813, 3.1579}, {8.245, 2.9581, 5.2632}, {8.4612, 2.2672, 5.2632}}], Polygon[{{8.3346, 2.4813, 3.1579}, {8.1013, 3.1611, 3.1579}, {7.9726, 3.6289, 5.2632}, {8.245, 2.9581, 5.2632}}], Polygon[{{8.1013, 3.1611, 3.1579}, {7.8126, 3.8193, 3.1579}, {7.6457, 4.2749, 5.2632}, {7.9726, 3.6289, 5.2632}}], Polygon[{{7.8126, 3.8193, 3.1579}, {7.4705, 4.4514, 3.1579}, {7.2666, 4.8917, 5.2632}, {7.6457, 4.2749, 5.2632}}], Polygon[{{7.4705, 4.4514, 3.1579}, {7.0774, 5.0531, 3.1579}, {6.8378, 5.475, 5.2632}, {7.2666, 4.8917, 5.2632}}], Polygon[{{7.0774, 5.0531, 3.1579}, {6.6359, 5.6203, 3.1579}, {6.3623, 6.021, 5.2632}, {6.8378, 5.475, 5.2632}}], Polygon[{{6.6359, 5.6203, 3.1579}, {6.1491, 6.1491, 3.1579}, {5.8434, 6.5258, 5.2632}, {6.3623, 6.021, 5.2632}}], Polygon[{{6.1491, 6.1491, 3.1579}, {5.6203, 6.6359, 3.1579}, {5.2845, 6.9861, 5.2632}, {5.8434, 6.5258, 5.2632}}], Polygon[{{6.9861, -5.2845, 5.2632}, {7.3986, -4.6896, 5.2632}, {7.7281, -4.3209, 7.3684}, {7.3448, -4.9444, 7.3684}}], Polygon[{{7.3986, -4.6896, 5.2632}, {7.7606, -4.0626, 5.2632}, {8.0585, -3.668, 7.3684}, {7.7281, -4.3209, 7.3684}}], Polygon[{{7.7606, -4.0626, 5.2632}, {8.0696, -3.4078, 5.2632}, {8.3339, -2.99, 7.3684}, {8.0585, -3.668, 7.3684}}], Polygon[{{8.0696, -3.4078, 5.2632}, {8.3234, -2.7298, 5.2632}, {8.5523, -2.2916, 7.3684}, {8.3339, -2.99, 7.3684}}], Polygon[{{8.3234, -2.7298, 5.2632}, {8.5204, -2.0332, 5.2632}, {8.7123, -1.5775, 7.3684}, {8.5523, -2.2916, 7.3684}}], Polygon[{{8.5204, -2.0332, 5.2632}, {8.6592, -1.3226, 5.2632}, {8.8128, -0.85267, 7.3684}, {8.7123, -1.5775, 7.3684}}], Polygon[{{8.6592, -1.3226, 5.2632}, {8.7389, -0.60301, 5.2632}, {8.8532, -0.12199, 7.3684}, {8.8128, -0.85267, 7.3684}}], Polygon[{{8.7389, -0.60301, 5.2632}, {8.7588, 0.12069, 5.2632}, {8.833, 0.60951, 7.3684}, {8.8532, -0.12199, 7.3684}}], Polygon[{{8.7588, 0.12069, 5.2632}, {8.7189, 0.84358, 5.2632}, {8.7525, 1.3369, 7.3684}, {8.833, 0.60951, 7.3684}}], Polygon[{{8.7189, 0.84358, 5.2632}, {8.6195, 1.5607, 5.2632}, {8.6122, 2.0551, 7.3684}, {8.7525, 1.3369, 7.3684}}], Polygon[{{8.6195, 1.5607, 5.2632}, {8.4612, 2.2672, 5.2632}, {8.4131, 2.7592, 7.3684}, {8.6122, 2.0551, 7.3684}}], Polygon[{{8.4612, 2.2672, 5.2632}, {8.245, 2.9581, 5.2632}, {8.1565, 3.4446, 7.3684}, {8.4131, 2.7592, 7.3684}}], Polygon[{{8.245, 2.9581, 5.2632}, {7.9726, 3.6289, 5.2632}, {7.8442, 4.1063, 7.3684}, {8.1565, 3.4446, 7.3684}}], Polygon[{{7.9726, 3.6289, 5.2632}, {7.6457, 4.2749, 5.2632}, {7.4783, 4.7401, 7.3684}, {7.8442, 4.1063, 7.3684}}], Polygon[{{7.6457, 4.2749, 5.2632}, {7.2666, 4.8917, 5.2632}, {7.0613, 5.3415, 7.3684}, {7.4783, 4.7401, 7.3684}}], Polygon[{{7.2666, 4.8917, 5.2632}, {6.8378, 5.475, 5.2632}, {6.5961, 5.9063, 7.3684}, {7.0613, 5.3415, 7.3684}}], Polygon[{{6.8378, 5.475, 5.2632}, {6.3623, 6.021, 5.2632}, {6.0858, 6.4309, 7.3684}, {6.5961, 5.9063, 7.3684}}], Polygon[{{6.3623, 6.021, 5.2632}, {5.8434, 6.5258, 5.2632}, {5.534, 6.9115, 7.3684}, {6.0858, 6.4309, 7.3684}}], Polygon[{{5.8434, 6.5258, 5.2632}, {5.2845, 6.9861, 5.2632}, {4.9444, 7.3448, 7.3684}, {5.534, 6.9115, 7.3684}}], Polygon[{{7.3448, -4.9444, 7.3684}, {7.7281, -4.3209, 7.3684}, {8.066, -3.9432, 9.4737}, {7.7128, -4.5958, 9.4737}}], Polygon[{{7.7281, -4.3209, 7.3684}, {8.0585, -3.668, 7.3684}, {8.3641, -3.2637, 9.4737}, {8.066, -3.9432, 9.4737}}], Polygon[{{8.0585, -3.668, 7.3684}, {8.3339, -2.99, 7.3684}, {8.605, -2.5618, 9.4737}, {8.3641, -3.2637, 9.4737}}], Polygon[{{8.3339, -2.99, 7.3684}, {8.5523, -2.2916, 7.3684}, {8.7872, -1.8425, 9.4737}, {8.605, -2.5618, 9.4737}}], Polygon[{{8.5523, -2.2916, 7.3684}, {8.7123, -1.5775, 7.3684}, {8.9093, -1.1105, 9.4737}, {8.7872, -1.8425, 9.4737}}], Polygon[{{8.7123, -1.5775, 7.3684}, {8.8128, -0.85267, 7.3684}, {8.9706, -0.37103, 9.4737}, {8.9093, -1.1105, 9.4737}}], Polygon[{{8.8128, -0.85267, 7.3684}, {8.8532, -0.12199, 7.3684}, {8.9706, 0.37103, 9.4737}, {8.9706, -0.37103, 9.4737}}], Polygon[{{8.8532, -0.12199, 7.3684}, {8.833, 0.60951, 7.3684}, {8.9093, 1.1105, 9.4737}, {8.9706, 0.37103, 9.4737}}], Polygon[{{8.833, 0.60951, 7.3684}, {8.7525, 1.3369, 7.3684}, {8.7872, 1.8425, 9.4737}, {8.9093, 1.1105, 9.4737}}], Polygon[{{8.7525, 1.3369, 7.3684}, {8.6122, 2.0551, 7.3684}, {8.605, 2.5618, 9.4737}, {8.7872, 1.8425, 9.4737}}], Polygon[{{8.6122, 2.0551, 7.3684}, {8.4131, 2.7592, 7.3684}, {8.3641, 3.2637, 9.4737}, {8.605, 2.5618, 9.4737}}], Polygon[{{8.4131, 2.7592, 7.3684}, {8.1565, 3.4446, 7.3684}, {8.066, 3.9432, 9.4737}, {8.3641, 3.2637, 9.4737}}], Polygon[{{8.1565, 3.4446, 7.3684}, {7.8442, 4.1063, 7.3684}, {7.7128, 4.5958, 9.4737}, {8.066, 3.9432, 9.4737}}], Polygon[{{7.8442, 4.1063, 7.3684}, {7.4783, 4.7401, 7.3684}, {7.307, 5.2171, 9.4737}, {7.7128, 4.5958, 9.4737}}], Polygon[{{7.4783, 4.7401, 7.3684}, {7.0613, 5.3415, 7.3684}, {6.8512, 5.8027, 9.4737}, {7.307, 5.2171, 9.4737}}], Polygon[{{7.0613, 5.3415, 7.3684}, {6.5961, 5.9063, 7.3684}, {6.3486, 6.3486, 9.4737}, {6.8512, 5.8027, 9.4737}}], Polygon[{{6.5961, 5.9063, 7.3684}, {6.0858, 6.4309, 7.3684}, {5.8027, 6.8512, 9.4737}, {6.3486, 6.3486, 9.4737}}], Polygon[{{6.0858, 6.4309, 7.3684}, {5.534, 6.9115, 7.3684}, {5.2171, 7.307, 9.4737}, {5.8027, 6.8512, 9.4737}}], Polygon[{{5.534, 6.9115, 7.3684}, {4.9444, 7.3448, 7.3684}, {4.5958, 7.7128, 9.4737}, {5.2171, 7.307, 9.4737}}], Polygon[{{7.7128, -4.5958, 9.4737}, {8.066, -3.9432, 9.4737}, {8.4119, -3.5524, 11.579}, {8.0898, -4.2349, 11.579}}], Polygon[{{8.066, -3.9432, 9.4737}, {8.3641, -3.2637, 9.4737}, {8.6765, -2.8456, 11.579}, {8.4119, -3.5524, 11.579}}], Polygon[{{8.3641, -3.2637, 9.4737}, {8.605, -2.5618, 9.4737}, {8.8819, -2.1194, 11.579}, {8.6765, -2.8456, 11.579}}], Polygon[{{8.605, -2.5618, 9.4737}, {8.7872, -1.8425, 9.4737}, {9.0266, -1.3787, 11.579}, {8.8819, -2.1194, 11.579}}], Polygon[{{8.7872, -1.8425, 9.4737}, {8.9093, -1.1105, 9.4737}, {9.1096, -0.6286, 11.579}, {9.0266, -1.3787, 11.579}}], Polygon[{{8.9093, -1.1105, 9.4737}, {8.9706, -0.37103, 9.4737}, {9.1304, 0.12581, 11.579}, {9.1096, -0.6286, 11.579}}], Polygon[{{8.9706, -0.37103, 9.4737}, {8.9706, 0.37103, 9.4737}, {9.0888, 0.87936, 11.579}, {9.1304, 0.12581, 11.579}}], Polygon[{{8.9706, 0.37103, 9.4737}, {8.9093, 1.1105, 9.4737}, {8.9851, 1.6269, 11.579}, {9.0888, 0.87936, 11.579}}], Polygon[{{8.9093, 1.1105, 9.4737}, {8.7872, 1.8425, 9.4737}, {8.8201, 2.3633, 11.579}, {8.9851, 1.6269, 11.579}}], Polygon[{{8.7872, 1.8425, 9.4737}, {8.605, 2.5618, 9.4737}, {8.5948, 3.0836, 11.579}, {8.8201, 2.3633, 11.579}}], Polygon[{{8.605, 2.5618, 9.4737}, {8.3641, 3.2637, 9.4737}, {8.3108, 3.7828, 11.579}, {8.5948, 3.0836, 11.579}}], Polygon[{{8.3641, 3.2637, 9.4737}, {8.066, 3.9432, 9.4737}, {7.97, 4.4562, 11.579}, {8.3108, 3.7828, 11.579}}], Polygon[{{8.066, 3.9432, 9.4737}, {7.7128, 4.5958, 9.4737}, {7.5748, 5.0992, 11.579}, {7.97, 4.4562, 11.579}}], Polygon[{{7.7128, 4.5958, 9.4737}, {7.307, 5.2171, 9.4737}, {7.1279, 5.7073, 11.579}, {7.5748, 5.0992, 11.579}}], Polygon[{{7.307, 5.2171, 9.4737}, {6.8512, 5.8027, 9.4737}, {6.6322, 6.2764, 11.579}, {7.1279, 5.7073, 11.579}}], Polygon[{{6.8512, 5.8027, 9.4737}, {6.3486, 6.3486, 9.4737}, {6.0913, 6.8026, 11.579}, {6.6322, 6.2764, 11.579}}], Polygon[{{6.3486, 6.3486, 9.4737}, {5.8027, 6.8512, 9.4737}, {5.5087, 7.2824, 11.579}, {6.0913, 6.8026, 11.579}}], Polygon[{{5.8027, 6.8512, 9.4737}, {5.2171, 7.307, 9.4737}, {4.8885, 7.7125, 11.579}, {5.5087, 7.2824, 11.579}}], Polygon[{{5.2171, 7.307, 9.4737}, {4.5958, 7.7128, 9.4737}, {4.2349, 8.0898, 11.579}, {4.8885, 7.7125, 11.579}}], Polygon[{{8.0898, -4.2349, 11.579}, {8.4119, -3.5524, 11.579}, {8.7645, -3.1445, 13.684}, {8.4749, -3.8575, 13.684}}], Polygon[{{8.4119, -3.5524, 11.579}, {8.6765, -2.8456, 11.579}, {8.9942, -2.41, 13.684}, {8.7645, -3.1445, 13.684}}], Polygon[{{8.6765, -2.8456, 11.579}, {8.8819, -2.1194, 11.579}, {9.1625, -1.659, 13.684}, {8.9942, -2.41, 13.684}}], Polygon[{{8.8819, -2.1194, 11.579}, {9.0266, -1.3787, 11.579}, {9.2682, -0.89672, 13.684}, {9.1625, -1.659, 13.684}}], Polygon[{{9.0266, -1.3787, 11.579}, {9.1096, -0.6286, 11.579}, {9.3106, -0.1283, 13.684}, {9.2682, -0.89672, 13.684}}], Polygon[{{9.1096, -0.6286, 11.579}, {9.1304, 0.12581, 11.579}, {9.2894, 0.641, 13.684}, {9.3106, -0.1283, 13.684}}], Polygon[{{9.1304, 0.12581, 11.579}, {9.0888, 0.87936, 11.579}, {9.2047, 1.4059, 13.684}, {9.2894, 0.641, 13.684}}], Polygon[{{9.0888, 0.87936, 11.579}, {8.9851, 1.6269, 11.579}, {9.0572, 2.1612, 13.684}, {9.2047, 1.4059, 13.684}}], Polygon[{{8.9851, 1.6269, 11.579}, {8.8201, 2.3633, 11.579}, {8.8478, 2.9018, 13.684}, {9.0572, 2.1612, 13.684}}], Polygon[{{8.8201, 2.3633, 11.579}, {8.5948, 3.0836, 11.579}, {8.5779, 3.6225, 13.684}, {8.8478, 2.9018, 13.684}}], Polygon[{{8.5948, 3.0836, 11.579}, {8.3108, 3.7828, 11.579}, {8.2495, 4.3185, 13.684}, {8.5779, 3.6225, 13.684}}], Polygon[{{8.3108, 3.7828, 11.579}, {7.97, 4.4562, 11.579}, {7.8647, 4.985, 13.684}, {8.2495, 4.3185, 13.684}}], Polygon[{{7.97, 4.4562, 11.579}, {7.5748, 5.0992, 11.579}, {7.4262, 5.6174, 13.684}, {7.8647, 4.985, 13.684}}], Polygon[{{7.5748, 5.0992, 11.579}, {7.1279, 5.7073, 11.579}, {6.9369, 6.2115, 13.684}, {7.4262, 5.6174, 13.684}}], Polygon[{{7.1279, 5.7073, 11.579}, {6.6322, 6.2764, 11.579}, {6.4003, 6.7631, 13.684}, {6.9369, 6.2115, 13.684}}], Polygon[{{6.6322, 6.2764, 11.579}, {6.0913, 6.8026, 11.579}, {5.8199, 7.2686, 13.684}, {6.4003, 6.7631, 13.684}}], Polygon[{{6.0913, 6.8026, 11.579}, {5.5087, 7.2824, 11.579}, {5.1998, 7.7243, 13.684}, {5.8199, 7.2686, 13.684}}], Polygon[{{5.5087, 7.2824, 11.579}, {4.8885, 7.7125, 11.579}, {4.5442, 8.1274, 13.684}, {5.1998, 7.7243, 13.684}}], Polygon[{{4.8885, 7.7125, 11.579}, {4.2349, 8.0898, 11.579}, {3.8575, 8.4749, 13.684}, {4.5442, 8.1274, 13.684}}], Polygon[{{8.4749, -3.8575, 13.684}, {8.7645, -3.1445, 13.684}, {9.1218, -2.7157, 15.789}, {8.8664, -3.4597, 15.789}}], Polygon[{{8.7645, -3.1445, 13.684}, {8.9942, -2.41, 13.684}, {9.3149, -1.9531, 15.789}, {9.1218, -2.7157, 15.789}}], Polygon[{{8.9942, -2.41, 13.684}, {9.1625, -1.659, 13.684}, {9.4444, -1.1772, 15.789}, {9.3149, -1.9531, 15.789}}], Polygon[{{9.1625, -1.659, 13.684}, {9.2682, -0.89672, 13.684}, {9.5093, -0.39331, 15.789}, {9.4444, -1.1772, 15.789}}], Polygon[{{9.2682, -0.89672, 13.684}, {9.3106, -0.1283, 13.684}, {9.5093, 0.39331, 15.789}, {9.5093, -0.39331, 15.789}}], Polygon[{{9.3106, -0.1283, 13.684}, {9.2894, 0.641, 13.684}, {9.4444, 1.1772, 15.789}, {9.5093, 0.39331, 15.789}}], Polygon[{{9.2894, 0.641, 13.684}, {9.2047, 1.4059, 13.684}, {9.3149, 1.9531, 15.789}, {9.4444, 1.1772, 15.789}}], Polygon[{{9.2047, 1.4059, 13.684}, {9.0572, 2.1612, 13.684}, {9.1218, 2.7157, 15.789}, {9.3149, 1.9531, 15.789}}], Polygon[{{9.0572, 2.1612, 13.684}, {8.8478, 2.9018, 13.684}, {8.8664, 3.4597, 15.789}, {9.1218, 2.7157, 15.789}}], Polygon[{{8.8478, 2.9018, 13.684}, {8.5779, 3.6225, 13.684}, {8.5504, 4.18, 15.789}, {8.8664, 3.4597, 15.789}}], Polygon[{{8.5779, 3.6225, 13.684}, {8.2495, 4.3185, 13.684}, {8.176, 4.8718, 15.789}, {8.5504, 4.18, 15.789}}], Polygon[{{8.2495, 4.3185, 13.684}, {7.8647, 4.985, 13.684}, {7.7458, 5.5304, 15.789}, {8.176, 4.8718, 15.789}}], Polygon[{{7.8647, 4.985, 13.684}, {7.4262, 5.6174, 13.684}, {7.2626, 6.1511, 15.789}, {7.7458, 5.5304, 15.789}}], Polygon[{{7.4262, 5.6174, 13.684}, {6.9369, 6.2115, 13.684}, {6.7298, 6.7298, 15.789}, {7.2626, 6.1511, 15.789}}], Polygon[{{6.9369, 6.2115, 13.684}, {6.4003, 6.7631, 13.684}, {6.1511, 7.2626, 15.789}, {6.7298, 6.7298, 15.789}}], Polygon[{{6.4003, 6.7631, 13.684}, {5.8199, 7.2686, 13.684}, {5.5304, 7.7458, 15.789}, {6.1511, 7.2626, 15.789}}], Polygon[{{5.8199, 7.2686, 13.684}, {5.1998, 7.7243, 13.684}, {4.8718, 8.176, 15.789}, {5.5304, 7.7458, 15.789}}], Polygon[{{5.1998, 7.7243, 13.684}, {4.5442, 8.1274, 13.684}, {4.18, 8.5504, 15.789}, {4.8718, 8.176, 15.789}}], Polygon[{{4.5442, 8.1274, 13.684}, {3.8575, 8.4749, 13.684}, {3.4597, 8.8664, 15.789}, {4.18, 8.5504, 15.789}}], Polygon[{{8.8664, -3.4597, 15.789}, {9.1218, -2.7157, 15.789}, {9.4813, -2.2624, 17.895}, {9.2621, -3.0377, 17.895}}], Polygon[{{9.1218, -2.7157, 15.789}, {9.3149, -1.9531, 15.789}, {9.6358, -1.4718, 17.895}, {9.4813, -2.2624, 17.895}}], Polygon[{{9.3149, -1.9531, 15.789}, {9.4444, -1.1772, 15.789}, {9.7244, -0.67102, 17.895}, {9.6358, -1.4718, 17.895}}], Polygon[{{9.4444, -1.1772, 15.789}, {9.5093, -0.39331, 15.789}, {9.7466, 0.13431, 17.895}, {9.7244, -0.67102, 17.895}}], Polygon[{{9.5093, -0.39331, 15.789}, {9.5093, 0.39331, 15.789}, {9.7022, 0.93871, 17.895}, {9.7466, 0.13431, 17.895}}], Polygon[{{9.5093, 0.39331, 15.789}, {9.4444, 1.1772, 15.789}, {9.5915, 1.7367, 17.895}, {9.7022, 0.93871, 17.895}}], Polygon[{{9.4444, 1.1772, 15.789}, {9.3149, 1.9531, 15.789}, {9.4154, 2.5228, 17.895}, {9.5915, 1.7367, 17.895}}], Polygon[{{9.3149, 1.9531, 15.789}, {9.1218, 2.7157, 15.789}, {9.1749, 3.2917, 17.895}, {9.4154, 2.5228, 17.895}}], Polygon[{{9.1218, 2.7157, 15.789}, {8.8664, 3.4597, 15.789}, {8.8717, 4.0382, 17.895}, {9.1749, 3.2917, 17.895}}], Polygon[{{8.8664, 3.4597, 15.789}, {8.5504, 4.18, 15.789}, {8.5079, 4.757, 17.895}, {8.8717, 4.0382, 17.895}}], Polygon[{{8.5504, 4.18, 15.789}, {8.176, 4.8718, 15.789}, {8.0861, 5.4433, 17.895}, {8.5079, 4.757, 17.895}}], Polygon[{{8.176, 4.8718, 15.789}, {7.7458, 5.5304, 15.789}, {7.6089, 6.0925, 17.895}, {8.0861, 5.4433, 17.895}}], Polygon[{{7.7458, 5.5304, 15.789}, {7.2626, 6.1511, 15.789}, {7.0798, 6.7, 17.895}, {7.6089, 6.0925, 17.895}}], Polygon[{{7.2626, 6.1511, 15.789}, {6.7298, 6.7298, 15.789}, {6.5024, 7.2618, 17.895}, {7.0798, 6.7, 17.895}}], Polygon[{{6.7298, 6.7298, 15.789}, {6.1511, 7.2626, 15.789}, {5.8805, 7.7739, 17.895}, {6.5024, 7.2618, 17.895}}], Polygon[{{6.1511, 7.2626, 15.789}, {5.5304, 7.7458, 15.789}, {5.2184, 8.233, 17.895}, {5.8805, 7.7739, 17.895}}], Polygon[{{5.5304, 7.7458, 15.789}, {4.8718, 8.176, 15.789}, {4.5207, 8.6358, 17.895}, {5.2184, 8.233, 17.895}}], Polygon[{{4.8718, 8.176, 15.789}, {4.18, 8.5504, 15.789}, {3.7922, 8.9796, 17.895}, {4.5207, 8.6358, 17.895}}], Polygon[{{4.18, 8.5504, 15.789}, {3.4597, 8.8664, 15.789}, {3.0377, 9.2621, 17.895}, {3.7922, 8.9796, 17.895}}], Polygon[{{9.2621, -3.0377, 17.895}, {9.4813, -2.2624, 17.895}, {9.84, -1.7817, 20.}, {9.6593, -2.5882, 20.}}], Polygon[{{9.4813, -2.2624, 17.895}, {9.6358, -1.4718, 17.895}, {9.9535, -0.96303, 20.}, {9.84, -1.7817, 20.}}], Polygon[{{9.6358, -1.4718, 17.895}, {9.7244, -0.67102, 17.895}, {9.9991, -0.13778, 20.}, {9.9535, -0.96303, 20.}}], Polygon[{{9.7244, -0.67102, 17.895}, {9.7466, 0.13431, 17.895}, {9.9763, 0.6884, 20.}, {9.9991, -0.13778, 20.}}], Polygon[{{9.7466, 0.13431, 17.895}, {9.7022, 0.93871, 17.895}, {9.8854, 1.5099, 20.}, {9.9763, 0.6884, 20.}}], Polygon[{{9.7022, 0.93871, 17.895}, {9.5915, 1.7367, 17.895}, {9.7269, 2.3211, 20.}, {9.8854, 1.5099, 20.}}], Polygon[{{9.5915, 1.7367, 17.895}, {9.4154, 2.5228, 17.895}, {9.502, 3.1164, 20.}, {9.7269, 2.3211, 20.}}], Polygon[{{9.4154, 2.5228, 17.895}, {9.1749, 3.2917, 17.895}, {9.2122, 3.8904, 20.}, {9.502, 3.1164, 20.}}], Polygon[{{9.1749, 3.2917, 17.895}, {8.8717, 4.0382, 17.895}, {8.8595, 4.6378, 20.}, {9.2122, 3.8904, 20.}}], Polygon[{{8.8717, 4.0382, 17.895}, {8.5079, 4.757, 17.895}, {8.4462, 5.3536, 20.}, {8.8595, 4.6378, 20.}}], Polygon[{{8.5079, 4.757, 17.895}, {8.0861, 5.4433, 17.895}, {7.9753, 6.0328, 20.}, {8.4462, 5.3536, 20.}}], Polygon[{{8.0861, 5.4433, 17.895}, {7.6089, 6.0925, 17.895}, {7.4499, 6.6708, 20.}, {7.9753, 6.0328, 20.}}], Polygon[{{7.6089, 6.0925, 17.895}, {7.0798, 6.7, 17.895}, {6.8735, 7.2632, 20.}, {7.4499, 6.6708, 20.}}], Polygon[{{7.0798, 6.7, 17.895}, {6.5024, 7.2618, 17.895}, {6.2503, 7.806, 20.}, {6.8735, 7.2632, 20.}}], Polygon[{{6.5024, 7.2618, 17.895}, {5.8805, 7.7739, 17.895}, {5.5843, 8.2955, 20.}, {6.2503, 7.806, 20.}}], Polygon[{{5.8805, 7.7739, 17.895}, {5.2184, 8.233, 17.895}, {4.8802, 8.7283, 20.}, {5.5843, 8.2955, 20.}}], Polygon[{{5.2184, 8.233, 17.895}, {4.5207, 8.6358, 17.895}, {4.1428, 9.1015, 20.}, {4.8802, 8.7283, 20.}}], Polygon[{{4.5207, 8.6358, 17.895}, {3.7922, 8.9796, 17.895}, {3.377, 9.4125, 20.}, {4.1428, 9.1015, 20.}}], Polygon[{{3.7922, 8.9796, 17.895}, {3.0377, 9.2621, 17.895}, {2.5882, 9.6593, 20.}, {3.377, 9.4125, 20.}}]}, {Polygon[{{3.8823, -14.489, -20.}, {5.0655, -14.119, -20.}, {5.6882, -13.469, -17.895}, {4.5565, -13.893, -17.895}}], Polygon[{{5.0655, -14.119, -20.}, {6.2141, -13.652, -20.}, {6.7811, -12.954, -17.895}, {5.6882, -13.469, -17.895}}], Polygon[{{6.2141, -13.652, -20.}, {7.3203, -13.092, -20.}, {7.8277, -12.349, -17.895}, {6.7811, -12.954, -17.895}}], Polygon[{{7.3203, -13.092, -20.}, {8.3765, -12.443, -20.}, {8.8207, -11.661, -17.895}, {7.8277, -12.349, -17.895}}], Polygon[{{8.3765, -12.443, -20.}, {9.3754, -11.709, -20.}, {9.7536, -10.893, -17.895}, {8.8207, -11.661, -17.895}}], Polygon[{{9.3754, -11.709, -20.}, {10.31, -10.895, -20.}, {10.62, -10.05, -17.895}, {9.7536, -10.893, -17.895}}], Polygon[{{10.31, -10.895, -20.}, {11.175, -10.006, -20.}, {11.413, -9.1387, -17.895}, {10.62, -10.05, -17.895}}], Polygon[{{11.175, -10.006, -20.}, {11.963, -9.0492, -20.}, {12.129, -8.165, -17.895}, {11.413, -9.1387, -17.895}}], Polygon[{{11.963, -9.0492, -20.}, {12.669, -8.0304, -20.}, {12.762, -7.1355, -17.895}, {12.129, -8.165, -17.895}}], Polygon[{{12.669, -8.0304, -20.}, {13.289, -6.9568, -20.}, {13.308, -6.0572, -17.895}, {12.762, -7.1355, -17.895}}], Polygon[{{13.289, -6.9568, -20.}, {13.818, -5.8356, -20.}, {13.762, -4.9376, -17.895}, {13.308, -6.0572, -17.895}}], Polygon[{{13.818, -5.8356, -20.}, {14.253, -4.6746, -20.}, {14.123, -3.7843, -17.895}, {13.762, -4.9376, -17.895}}], Polygon[{{14.253, -4.6746, -20.}, {14.59, -3.4816, -20.}, {14.387, -2.6051, -17.895}, {14.123, -3.7843, -17.895}}], Polygon[{{14.59, -3.4816, -20.}, {14.828, -2.2648, -20.}, {14.553, -1.4081, -17.895}, {14.387, -2.6051, -17.895}}], Polygon[{{14.828, -2.2648, -20.}, {14.964, -1.0326, -20.}, {14.62, -0.20146, -17.895}, {14.553, -1.4081, -17.895}}], Polygon[{{14.964, -1.0326, -20.}, {14.999, 0.20668, -20.}, {14.587, 1.0065, -17.895}, {14.62, -0.20146, -17.895}}], Polygon[{{14.999, 0.20668, -20.}, {14.93, 1.4445, -20.}, {14.454, 2.2076, -17.895}, {14.587, 1.0065, -17.895}}], Polygon[{{14.93, 1.4445, -20.}, {14.76, 2.6725, -20.}, {14.222, 3.3937, -17.895}, {14.454, 2.2076, -17.895}}], Polygon[{{14.76, 2.6725, -20.}, {14.489, 3.8823, -20.}, {13.893, 4.5565, -17.895}, {14.222, 3.3937, -17.895}}], Polygon[{{4.5565, -13.893, -17.895}, {5.6882, -13.469, -17.895}, {6.27, -12.826, -15.789}, {5.1895, -13.3, -15.789}}], Polygon[{{5.6882, -13.469, -17.895}, {6.7811, -12.954, -17.895}, {7.3078, -12.264, -15.789}, {6.27, -12.826, -15.789}}], Polygon[{{6.7811, -12.954, -17.895}, {7.8277, -12.349, -17.895}, {8.2955, -11.619, -15.789}, {7.3078, -12.264, -15.789}}], Polygon[{{7.8277, -12.349, -17.895}, {8.8207, -11.661, -17.895}, {9.2267, -10.894, -15.789}, {8.2955, -11.619, -15.789}}], Polygon[{{8.8207, -11.661, -17.895}, {9.7536, -10.893, -17.895}, {10.095, -10.095, -15.789}, {9.2267, -10.894, -15.789}}], Polygon[{{9.7536, -10.893, -17.895}, {10.62, -10.05, -17.895}, {10.894, -9.2267, -15.789}, {10.095, -10.095, -15.789}}], Polygon[{{10.62, -10.05, -17.895}, {11.413, -9.1387, -17.895}, {11.619, -8.2955, -15.789}, {10.894, -9.2267, -15.789}}], Polygon[{{11.413, -9.1387, -17.895}, {12.129, -8.165, -17.895}, {12.264, -7.3078, -15.789}, {11.619, -8.2955, -15.789}}], Polygon[{{12.129, -8.165, -17.895}, {12.762, -7.1355, -17.895}, {12.826, -6.27, -15.789}, {12.264, -7.3078, -15.789}}], Polygon[{{12.762, -7.1355, -17.895}, {13.308, -6.0572, -17.895}, {13.3, -5.1895, -15.789}, {12.826, -6.27, -15.789}}], Polygon[{{13.308, -6.0572, -17.895}, {13.762, -4.9376, -17.895}, {13.683, -4.0735, -15.789}, {13.3, -5.1895, -15.789}}], Polygon[{{13.762, -4.9376, -17.895}, {14.123, -3.7843, -17.895}, {13.972, -2.9297, -15.789}, {13.683, -4.0735, -15.789}}], Polygon[{{14.123, -3.7843, -17.895}, {14.387, -2.6051, -17.895}, {14.167, -1.7659, -15.789}, {13.972, -2.9297, -15.789}}], Polygon[{{14.387, -2.6051, -17.895}, {14.553, -1.4081, -17.895}, {14.264, -0.58996, -15.789}, {14.167, -1.7659, -15.789}}], Polygon[{{14.553, -1.4081, -17.895}, {14.62, -0.20146, -17.895}, {14.264, 0.58996, -15.789}, {14.264, -0.58996, -15.789}}], Polygon[{{14.62, -0.20146, -17.895}, {14.587, 1.0065, -17.895}, {14.167, 1.7659, -15.789}, {14.264, 0.58996, -15.789}}], Polygon[{{14.587, 1.0065, -17.895}, {14.454, 2.2076, -17.895}, {13.972, 2.9297, -15.789}, {14.167, 1.7659, -15.789}}], Polygon[{{14.454, 2.2076, -17.895}, {14.222, 3.3937, -17.895}, {13.683, 4.0735, -15.789}, {13.972, 2.9297, -15.789}}], Polygon[{{14.222, 3.3937, -17.895}, {13.893, 4.5565, -17.895}, {13.3, 5.1895, -15.789}, {13.683, 4.0735, -15.789}}], Polygon[{{5.1895, -13.3, -15.789}, {6.27, -12.826, -15.789}, {6.8163, -12.191, -13.684}, {5.7863, -12.712, -13.684}}], Polygon[{{6.27, -12.826, -15.789}, {7.3078, -12.264, -15.789}, {7.7997, -11.587, -13.684}, {6.8163, -12.191, -13.684}}], Polygon[{{7.3078, -12.264, -15.789}, {8.2955, -11.619, -15.789}, {8.7299, -10.903, -13.684}, {7.7997, -11.587, -13.684}}], Polygon[{{8.2955, -11.619, -15.789}, {9.2267, -10.894, -15.789}, {9.6004, -10.145, -13.684}, {8.7299, -10.903, -13.684}}], Polygon[{{9.2267, -10.894, -15.789}, {10.095, -10.095, -15.789}, {10.405, -9.3173, -13.684}, {9.6004, -10.145, -13.684}}], Polygon[{{10.095, -10.095, -15.789}, {10.894, -9.2267, -15.789}, {11.139, -8.4262, -13.684}, {10.405, -9.3173, -13.684}}], Polygon[{{10.894, -9.2267, -15.789}, {11.619, -8.2955, -15.789}, {11.797, -7.4775, -13.684}, {11.139, -8.4262, -13.684}}], Polygon[{{11.619, -8.2955, -15.789}, {12.264, -7.3078, -15.789}, {12.374, -6.4778, -13.684}, {11.797, -7.4775, -13.684}}], Polygon[{{12.264, -7.3078, -15.789}, {12.826, -6.27, -15.789}, {12.867, -5.4338, -13.684}, {12.374, -6.4778, -13.684}}], Polygon[{{12.826, -6.27, -15.789}, {13.3, -5.1895, -15.789}, {13.272, -4.3527, -13.684}, {12.867, -5.4338, -13.684}}], Polygon[{{13.3, -5.1895, -15.789}, {13.683, -4.0735, -15.789}, {13.586, -3.2419, -13.684}, {13.272, -4.3527, -13.684}}], Polygon[{{13.683, -4.0735, -15.789}, {13.972, -2.9297, -15.789}, {13.807, -2.1089, -13.684}, {13.586, -3.2419, -13.684}}], Polygon[{{13.972, -2.9297, -15.789}, {14.167, -1.7659, -15.789}, {13.934, -0.9615, -13.684}, {13.807, -2.1089, -13.684}}], Polygon[{{14.167, -1.7659, -15.789}, {14.264, -0.58996, -15.789}, {13.966, 0.19245, -13.684}, {13.934, -0.9615, -13.684}}], Polygon[{{14.264, -0.58996, -15.789}, {14.264, 0.58996, -15.789}, {13.902, 1.3451, -13.684}, {13.966, 0.19245, -13.684}}], Polygon[{{14.264, 0.58996, -15.789}, {14.167, 1.7659, -15.789}, {13.744, 2.4885, -13.684}, {13.902, 1.3451, -13.684}}], Polygon[{{14.167, 1.7659, -15.789}, {13.972, 2.9297, -15.789}, {13.491, 3.615, -13.684}, {13.744, 2.4885, -13.684}}], Polygon[{{13.972, 2.9297, -15.789}, {13.683, 4.0735, -15.789}, {13.147, 4.7167, -13.684}, {13.491, 3.615, -13.684}}], Polygon[{{13.683, 4.0735, -15.789}, {13.3, 5.1895, -15.789}, {12.712, 5.7863, -13.684}, {13.147, 4.7167, -13.684}}], Polygon[{{5.7863, -12.712, -13.684}, {6.8163, -12.191, -13.684}, {7.3328, -11.569, -11.579}, {6.3524, -12.135, -11.579}}], Polygon[{{6.8163, -12.191, -13.684}, {7.7997, -11.587, -13.684}, {8.2631, -10.924, -11.579}, {7.3328, -11.569, -11.579}}], Polygon[{{7.7997, -11.587, -13.684}, {8.7299, -10.903, -13.684}, {9.1369, -10.204, -11.579}, {8.2631, -10.924, -11.579}}], Polygon[{{8.7299, -10.903, -13.684}, {9.6004, -10.145, -13.684}, {9.9483, -9.4146, -11.579}, {9.1369, -10.204, -11.579}}], Polygon[{{9.6004, -10.145, -13.684}, {10.405, -9.3173, -13.684}, {10.692, -8.5609, -11.579}, {9.9483, -9.4146, -11.579}}], Polygon[{{10.405, -9.3173, -13.684}, {11.139, -8.4262, -13.684}, {11.362, -7.6488, -11.579}, {10.692, -8.5609, -11.579}}], Polygon[{{11.139, -8.4262, -13.684}, {11.797, -7.4775, -13.684}, {11.955, -6.6843, -11.579}, {11.362, -7.6488, -11.579}}], Polygon[{{11.797, -7.4775, -13.684}, {12.374, -6.4778, -13.684}, {12.466, -5.6743, -11.579}, {11.955, -6.6843, -11.579}}], Polygon[{{12.374, -6.4778, -13.684}, {12.867, -5.4338, -13.684}, {12.892, -4.6254, -11.579}, {12.466, -5.6743, -11.579}}], Polygon[{{12.867, -5.4338, -13.684}, {13.272, -4.3527, -13.684}, {13.23, -3.545, -11.579}, {12.892, -4.6254, -11.579}}], Polygon[{{13.272, -4.3527, -13.684}, {13.586, -3.2419, -13.684}, {13.478, -2.4404, -11.579}, {13.23, -3.545, -11.579}}], Polygon[{{13.586, -3.2419, -13.684}, {13.807, -2.1089, -13.684}, {13.633, -1.319, -11.579}, {13.478, -2.4404, -11.579}}], Polygon[{{13.807, -2.1089, -13.684}, {13.934, -0.9615, -13.684}, {13.696, -0.18872, -11.579}, {13.633, -1.319, -11.579}}], Polygon[{{13.934, -0.9615, -13.684}, {13.966, 0.19245, -13.684}, {13.664, 0.94289, -11.579}, {13.696, -0.18872, -11.579}}], Polygon[{{13.966, 0.19245, -13.684}, {13.902, 1.3451, -13.684}, {13.54, 2.0681, -11.579}, {13.664, 0.94289, -11.579}}], Polygon[{{13.902, 1.3451, -13.684}, {13.744, 2.4885, -13.684}, {13.323, 3.1791, -11.579}, {13.54, 2.0681, -11.579}}], Polygon[{{13.744, 2.4885, -13.684}, {13.491, 3.615, -13.684}, {13.015, 4.2684, -11.579}, {13.323, 3.1791, -11.579}}], Polygon[{{13.491, 3.615, -13.684}, {13.147, 4.7167, -13.684}, {12.618, 5.3286, -11.579}, {13.015, 4.2684, -11.579}}], Polygon[{{13.147, 4.7167, -13.684}, {12.712, 5.7863, -13.684}, {12.135, 6.3524, -11.579}, {12.618, 5.3286, -11.579}}], Polygon[{{6.3524, -12.135, -11.579}, {7.3328, -11.569, -11.579}, {7.8256, -10.96, -9.4737}, {6.8938, -11.569, -9.4737}}], Polygon[{{7.3328, -11.569, -11.579}, {8.2631, -10.924, -11.579}, {8.704, -10.277, -9.4737}, {7.8256, -10.96, -9.4737}}], Polygon[{{8.2631, -10.924, -11.579}, {9.1369, -10.204, -11.579}, {9.5229, -9.5229, -9.4737}, {8.704, -10.277, -9.4737}}], Polygon[{{9.1369, -10.204, -11.579}, {9.9483, -9.4146, -11.579}, {10.277, -8.704, -9.4737}, {9.5229, -9.5229, -9.4737}}], Polygon[{{9.9483, -9.4146, -11.579}, {10.692, -8.5609, -11.579}, {10.96, -7.8256, -9.4737}, {10.277, -8.704, -9.4737}}], Polygon[{{10.692, -8.5609, -11.579}, {11.362, -7.6488, -11.579}, {11.569, -6.8938, -9.4737}, {10.96, -7.8256, -9.4737}}], Polygon[{{11.362, -7.6488, -11.579}, {11.955, -6.6843, -11.579}, {12.099, -5.9148, -9.4737}, {11.569, -6.8938, -9.4737}}], Polygon[{{11.955, -6.6843, -11.579}, {12.466, -5.6743, -11.579}, {12.546, -4.8955, -9.4737}, {12.099, -5.9148, -9.4737}}], Polygon[{{12.466, -5.6743, -11.579}, {12.892, -4.6254, -11.579}, {12.908, -3.8427, -9.4737}, {12.546, -4.8955, -9.4737}}], Polygon[{{12.892, -4.6254, -11.579}, {13.23, -3.545, -11.579}, {13.181, -2.7637, -9.4737}, {12.908, -3.8427, -9.4737}}], Polygon[{{13.23, -3.545, -11.579}, {13.478, -2.4404, -11.579}, {13.364, -1.6658, -9.4737}, {13.181, -2.7637, -9.4737}}], Polygon[{{13.478, -2.4404, -11.579}, {13.633, -1.319, -11.579}, {13.456, -0.55654, -9.4737}, {13.364, -1.6658, -9.4737}}], Polygon[{{13.633, -1.319, -11.579}, {13.696, -0.18872, -11.579}, {13.456, 0.55654, -9.4737}, {13.456, -0.55654, -9.4737}}], Polygon[{{13.696, -0.18872, -11.579}, {13.664, 0.94289, -11.579}, {13.364, 1.6658, -9.4737}, {13.456, 0.55654, -9.4737}}], Polygon[{{13.664, 0.94289, -11.579}, {13.54, 2.0681, -11.579}, {13.181, 2.7637, -9.4737}, {13.364, 1.6658, -9.4737}}], Polygon[{{13.54, 2.0681, -11.579}, {13.323, 3.1791, -11.579}, {12.908, 3.8427, -9.4737}, {13.181, 2.7637, -9.4737}}], Polygon[{{13.323, 3.1791, -11.579}, {13.015, 4.2684, -11.579}, {12.546, 4.8955, -9.4737}, {12.908, 3.8427, -9.4737}}], Polygon[{{13.015, 4.2684, -11.579}, {12.618, 5.3286, -11.579}, {12.099, 5.9148, -9.4737}, {12.546, 4.8955, -9.4737}}], Polygon[{{12.618, 5.3286, -11.579}, {12.135, 6.3524, -11.579}, {11.569, 6.8938, -9.4737}, {12.099, 5.9148, -9.4737}}], Polygon[{{6.8938, -11.569, -9.4737}, {7.8256, -10.96, -9.4737}, {8.301, -10.367, -7.3684}, {7.4165, -11.017, -7.3684}}], Polygon[{{7.8256, -10.96, -9.4737}, {8.704, -10.277, -9.4737}, {9.1288, -9.6463, -7.3684}, {8.301, -10.367, -7.3684}}], Polygon[{{8.704, -10.277, -9.4737}, {9.5229, -9.5229, -9.4737}, {9.8942, -8.8595, -7.3684}, {9.1288, -9.6463, -7.3684}}], Polygon[{{9.5229, -9.5229, -9.4737}, {10.277, -8.704, -9.4737}, {10.592, -8.0122, -7.3684}, {9.8942, -8.8595, -7.3684}}], Polygon[{{10.277, -8.704, -9.4737}, {10.96, -7.8256, -9.4737}, {11.217, -7.1101, -7.3684}, {10.592, -8.0122, -7.3684}}], Polygon[{{10.96, -7.8256, -9.4737}, {11.569, -6.8938, -9.4737}, {11.766, -6.1595, -7.3684}, {11.217, -7.1101, -7.3684}}], Polygon[{{11.569, -6.8938, -9.4737}, {12.099, -5.9148, -9.4737}, {12.235, -5.1668, -7.3684}, {11.766, -6.1595, -7.3684}}], Polygon[{{12.099, -5.9148, -9.4737}, {12.546, -4.8955, -9.4737}, {12.62, -4.1388, -7.3684}, {12.235, -5.1668, -7.3684}}], Polygon[{{12.546, -4.8955, -9.4737}, {12.908, -3.8427, -9.4737}, {12.918, -3.0826, -7.3684}, {12.62, -4.1388, -7.3684}}], Polygon[{{12.908, -3.8427, -9.4737}, {13.181, -2.7637, -9.4737}, {13.129, -2.0053, -7.3684}, {12.918, -3.0826, -7.3684}}], Polygon[{{13.181, -2.7637, -9.4737}, {13.364, -1.6658, -9.4737}, {13.249, -0.91427, -7.3684}, {13.129, -2.0053, -7.3684}}], Polygon[{{13.364, -1.6658, -9.4737}, {13.456, -0.55654, -9.4737}, {13.28, 0.18299, -7.3684}, {13.249, -0.91427, -7.3684}}], Polygon[{{13.456, -0.55654, -9.4737}, {13.456, 0.55654, -9.4737}, {13.219, 1.279, -7.3684}, {13.28, 0.18299, -7.3684}}], Polygon[{{13.456, 0.55654, -9.4737}, {13.364, 1.6658, -9.4737}, {13.069, 2.3663, -7.3684}, {13.219, 1.279, -7.3684}}], Polygon[{{13.364, 1.6658, -9.4737}, {13.181, 2.7637, -9.4737}, {12.828, 3.4374, -7.3684}, {13.069, 2.3663, -7.3684}}], Polygon[{{13.181, 2.7637, -9.4737}, {12.908, 3.8427, -9.4737}, {12.501, 4.485, -7.3684}, {12.828, 3.4374, -7.3684}}], Polygon[{{12.908, 3.8427, -9.4737}, {12.546, 4.8955, -9.4737}, {12.088, 5.502, -7.3684}, {12.501, 4.485, -7.3684}}], Polygon[{{12.546, 4.8955, -9.4737}, {12.099, 5.9148, -9.4737}, {11.592, 6.4814, -7.3684}, {12.088, 5.502, -7.3684}}], Polygon[{{12.099, 5.9148, -9.4737}, {11.569, 6.8938, -9.4737}, {11.017, 7.4165, -7.3684}, {11.592, 6.4814, -7.3684}}], Polygon[{{7.4165, -11.017, -7.3684}, {8.301, -10.367, -7.3684}, {8.7651, -9.7887, -5.2632}, {7.9268, -10.479, -5.2632}}], Polygon[{{8.301, -10.367, -7.3684}, {9.1288, -9.6463, -7.3684}, {9.5435, -9.0315, -5.2632}, {8.7651, -9.7887, -5.2632}}], Polygon[{{9.1288, -9.6463, -7.3684}, {9.8942, -8.8595, -7.3684}, {10.257, -8.2125, -5.2632}, {9.5435, -9.0315, -5.2632}}], Polygon[{{9.8942, -8.8595, -7.3684}, {10.592, -8.0122, -7.3684}, {10.9, -7.3375, -5.2632}, {10.257, -8.2125, -5.2632}}], Polygon[{{10.592, -8.0122, -7.3684}, {11.217, -7.1101, -7.3684}, {11.469, -6.4123, -5.2632}, {10.9, -7.3375, -5.2632}}], Polygon[{{11.217, -7.1101, -7.3684}, {11.766, -6.1595, -7.3684}, {11.959, -5.4434, -5.2632}, {11.469, -6.4123, -5.2632}}], Polygon[{{11.766, -6.1595, -7.3684}, {12.235, -5.1668, -7.3684}, {12.368, -4.4372, -5.2632}, {11.959, -5.4434, -5.2632}}], Polygon[{{12.235, -5.1668, -7.3684}, {12.62, -4.1388, -7.3684}, {12.692, -3.4007, -5.2632}, {12.368, -4.4372, -5.2632}}], Polygon[{{12.62, -4.1388, -7.3684}, {12.918, -3.0826, -7.3684}, {12.929, -2.3411, -5.2632}, {12.692, -3.4007, -5.2632}}], Polygon[{{12.918, -3.0826, -7.3684}, {13.129, -2.0053, -7.3684}, {13.078, -1.2654, -5.2632}, {12.929, -2.3411, -5.2632}}], Polygon[{{13.129, -2.0053, -7.3684}, {13.249, -0.91427, -7.3684}, {13.138, -0.18104, -5.2632}, {13.078, -1.2654, -5.2632}}], Polygon[{{13.249, -0.91427, -7.3684}, {13.28, 0.18299, -7.3684}, {13.108, 0.90452, -5.2632}, {13.138, -0.18104, -5.2632}}], Polygon[{{13.28, 0.18299, -7.3684}, {13.219, 1.279, -7.3684}, {12.989, 1.9839, -5.2632}, {13.108, 0.90452, -5.2632}}], Polygon[{{13.219, 1.279, -7.3684}, {13.069, 2.3663, -7.3684}, {12.781, 3.0497, -5.2632}, {12.989, 1.9839, -5.2632}}], Polygon[{{13.069, 2.3663, -7.3684}, {12.828, 3.4374, -7.3684}, {12.485, 4.0947, -5.2632}, {12.781, 3.0497, -5.2632}}], Polygon[{{12.828, 3.4374, -7.3684}, {12.501, 4.485, -7.3684}, {12.104, 5.1118, -5.2632}, {12.485, 4.0947, -5.2632}}], Polygon[{{12.501, 4.485, -7.3684}, {12.088, 5.502, -7.3684}, {11.641, 6.0939, -5.2632}, {12.104, 5.1118, -5.2632}}], Polygon[{{12.088, 5.502, -7.3684}, {11.592, 6.4814, -7.3684}, {11.098, 7.0344, -5.2632}, {11.641, 6.0939, -5.2632}}], Polygon[{{11.592, 6.4814, -7.3684}, {11.017, 7.4165, -7.3684}, {10.479, 7.9268, -5.2632}, {11.098, 7.0344, -5.2632}}], Polygon[{{7.9268, -10.479, -5.2632}, {8.7651, -9.7887, -5.2632}, {9.2237, -9.2237, -3.1579}, {8.4305, -9.9539, -3.1579}}], Polygon[{{8.7651, -9.7887, -5.2632}, {9.5435, -9.0315, -5.2632}, {9.9539, -8.4305, -3.1579}, {9.2237, -9.2237, -3.1579}}], Polygon[{{9.5435, -9.0315, -5.2632}, {10.257, -8.2125, -5.2632}, {10.616, -7.5797, -3.1579}, {9.9539, -8.4305, -3.1579}}], Polygon[{{10.257, -8.2125, -5.2632}, {10.9, -7.3375, -5.2632}, {11.206, -6.6772, -3.1579}, {10.616, -7.5797, -3.1579}}], Polygon[{{10.9, -7.3375, -5.2632}, {11.469, -6.4123, -5.2632}, {11.719, -5.729, -3.1579}, {11.206, -6.6772, -3.1579}}], Polygon[{{11.469, -6.4123, -5.2632}, {11.959, -5.4434, -5.2632}, {12.152, -4.7417, -3.1579}, {11.719, -5.729, -3.1579}}], Polygon[{{11.959, -5.4434, -5.2632}, {12.368, -4.4372, -5.2632}, {12.502, -3.722, -3.1579}, {12.152, -4.7417, -3.1579}}], Polygon[{{12.368, -4.4372, -5.2632}, {12.692, -3.4007, -5.2632}, {12.767, -2.6769, -3.1579}, {12.502, -3.722, -3.1579}}], Polygon[{{12.692, -3.4007, -5.2632}, {12.929, -2.3411, -5.2632}, {12.944, -1.6135, -3.1579}, {12.767, -2.6769, -3.1579}}], Polygon[{{12.929, -2.3411, -5.2632}, {13.078, -1.2654, -5.2632}, {13.033, -0.53905, -3.1579}, {12.944, -1.6135, -3.1579}}], Polygon[{{13.078, -1.2654, -5.2632}, {13.138, -0.18104, -5.2632}, {13.033, 0.53905, -3.1579}, {13.033, -0.53905, -3.1579}}], Polygon[{{13.138, -0.18104, -5.2632}, {13.108, 0.90452, -5.2632}, {12.944, 1.6135, -3.1579}, {13.033, 0.53905, -3.1579}}], Polygon[{{13.108, 0.90452, -5.2632}, {12.989, 1.9839, -5.2632}, {12.767, 2.6769, -3.1579}, {12.944, 1.6135, -3.1579}}], Polygon[{{12.989, 1.9839, -5.2632}, {12.781, 3.0497, -5.2632}, {12.502, 3.722, -3.1579}, {12.767, 2.6769, -3.1579}}], Polygon[{{12.781, 3.0497, -5.2632}, {12.485, 4.0947, -5.2632}, {12.152, 4.7417, -3.1579}, {12.502, 3.722, -3.1579}}], Polygon[{{12.485, 4.0947, -5.2632}, {12.104, 5.1118, -5.2632}, {11.719, 5.729, -3.1579}, {12.152, 4.7417, -3.1579}}], Polygon[{{12.104, 5.1118, -5.2632}, {11.641, 6.0939, -5.2632}, {11.206, 6.6772, -3.1579}, {11.719, 5.729, -3.1579}}], Polygon[{{11.641, 6.0939, -5.2632}, {11.098, 7.0344, -5.2632}, {10.616, 7.5797, -3.1579}, {11.206, 6.6772, -3.1579}}], Polygon[{{11.098, 7.0344, -5.2632}, {10.479, 7.9268, -5.2632}, {9.9539, 8.4305, -3.1579}, {10.616, 7.5797, -3.1579}}], Polygon[{{8.4305, -9.9539, -3.1579}, {9.2237, -9.2237, -3.1579}, {9.6821, -8.6696, -1.0526}, {8.9331, -9.4396, -1.0526}}], Polygon[{{9.2237, -9.2237, -3.1579}, {9.9539, -8.4305, -3.1579}, {10.365, -7.8405, -1.0526}, {9.6821, -8.6696, -1.0526}}], Polygon[{{9.9539, -8.4305, -3.1579}, {10.616, -7.5797, -3.1579}, {10.977, -6.9578, -1.0526}, {10.365, -7.8405, -1.0526}}], Polygon[{{10.616, -7.5797, -3.1579}, {11.206, -6.6772, -3.1579}, {11.514, -6.0275, -1.0526}, {10.977, -6.9578, -1.0526}}], Polygon[{{11.206, -6.6772, -3.1579}, {11.719, -5.729, -3.1579}, {11.973, -5.0561, -1.0526}, {11.514, -6.0275, -1.0526}}], Polygon[{{11.719, -5.729, -3.1579}, {12.152, -4.7417, -3.1579}, {12.349, -4.0501, -1.0526}, {11.973, -5.0561, -1.0526}}], Polygon[{{12.152, -4.7417, -3.1579}, {12.502, -3.722, -3.1579}, {12.641, -3.0165, -1.0526}, {12.349, -4.0501, -1.0526}}], Polygon[{{12.502, -3.722, -3.1579}, {12.767, -2.6769, -3.1579}, {12.847, -1.9623, -1.0526}, {12.641, -3.0165, -1.0526}}], Polygon[{{12.767, -2.6769, -3.1579}, {12.944, -1.6135, -3.1579}, {12.966, -0.89467, -1.0526}, {12.847, -1.9623, -1.0526}}], Polygon[{{12.944, -1.6135, -3.1579}, {13.033, -0.53905, -3.1579}, {12.995, 0.17907, -1.0526}, {12.966, -0.89467, -1.0526}}], Polygon[{{13.033, -0.53905, -3.1579}, {13.033, 0.53905, -3.1579}, {12.936, 1.2516, -1.0526}, {12.995, 0.17907, -1.0526}}], Polygon[{{13.033, 0.53905, -3.1579}, {12.944, 1.6135, -3.1579}, {12.788, 2.3156, -1.0526}, {12.936, 1.2516, -1.0526}}], Polygon[{{12.944, 1.6135, -3.1579}, {12.767, 2.6769, -3.1579}, {12.554, 3.3637, -1.0526}, {12.788, 2.3156, -1.0526}}], Polygon[{{12.767, 2.6769, -3.1579}, {12.502, 3.722, -3.1579}, {12.233, 4.3889, -1.0526}, {12.554, 3.3637, -1.0526}}], Polygon[{{12.502, 3.722, -3.1579}, {12.152, 4.7417, -3.1579}, {11.829, 5.3841, -1.0526}, {12.233, 4.3889, -1.0526}}], Polygon[{{12.152, 4.7417, -3.1579}, {11.719, 5.729, -3.1579}, {11.344, 6.3425, -1.0526}, {11.829, 5.3841, -1.0526}}], Polygon[{{11.719, 5.729, -3.1579}, {11.206, 6.6772, -3.1579}, {10.781, 7.2576, -1.0526}, {11.344, 6.3425, -1.0526}}], Polygon[{{11.206, 6.6772, -3.1579}, {10.616, 7.5797, -3.1579}, {10.145, 8.1231, -1.0526}, {10.781, 7.2576, -1.0526}}], Polygon[{{10.616, 7.5797, -3.1579}, {9.9539, 8.4305, -3.1579}, {9.4396, 8.9331, -1.0526}, {10.145, 8.1231, -1.0526}}], Polygon[{{8.9331, -9.4396, -1.0526}, {9.6821, -8.6696, -1.0526}, {10.145, -8.1231, 1.0526}, {9.4396, -8.9331, 1.0526}}], Polygon[{{9.6821, -8.6696, -1.0526}, {10.365, -7.8405, -1.0526}, {10.781, -7.2576, 1.0526}, {10.145, -8.1231, 1.0526}}], Polygon[{{10.365, -7.8405, -1.0526}, {10.977, -6.9578, -1.0526}, {11.344, -6.3425, 1.0526}, {10.781, -7.2576, 1.0526}}], Polygon[{{10.977, -6.9578, -1.0526}, {11.514, -6.0275, -1.0526}, {11.829, -5.3841, 1.0526}, {11.344, -6.3425, 1.0526}}], Polygon[{{11.514, -6.0275, -1.0526}, {11.973, -5.0561, -1.0526}, {12.233, -4.3889, 1.0526}, {11.829, -5.3841, 1.0526}}], Polygon[{{11.973, -5.0561, -1.0526}, {12.349, -4.0501, -1.0526}, {12.554, -3.3637, 1.0526}, {12.233, -4.3889, 1.0526}}], Polygon[{{12.349, -4.0501, -1.0526}, {12.641, -3.0165, -1.0526}, {12.788, -2.3156, 1.0526}, {12.554, -3.3637, 1.0526}}], Polygon[{{12.641, -3.0165, -1.0526}, {12.847, -1.9623, -1.0526}, {12.936, -1.2516, 1.0526}, {12.788, -2.3156, 1.0526}}], Polygon[{{12.847, -1.9623, -1.0526}, {12.966, -0.89467, -1.0526}, {12.995, -0.17907, 1.0526}, {12.936, -1.2516, 1.0526}}], Polygon[{{12.966, -0.89467, -1.0526}, {12.995, 0.17907, -1.0526}, {12.966, 0.89467, 1.0526}, {12.995, -0.17907, 1.0526}}], Polygon[{{12.995, 0.17907, -1.0526}, {12.936, 1.2516, -1.0526}, {12.847, 1.9623, 1.0526}, {12.966, 0.89467, 1.0526}}], Polygon[{{12.936, 1.2516, -1.0526}, {12.788, 2.3156, -1.0526}, {12.641, 3.0165, 1.0526}, {12.847, 1.9623, 1.0526}}], Polygon[{{12.788, 2.3156, -1.0526}, {12.554, 3.3637, -1.0526}, {12.349, 4.0501, 1.0526}, {12.641, 3.0165, 1.0526}}], Polygon[{{12.554, 3.3637, -1.0526}, {12.233, 4.3889, -1.0526}, {11.973, 5.0561, 1.0526}, {12.349, 4.0501, 1.0526}}], Polygon[{{12.233, 4.3889, -1.0526}, {11.829, 5.3841, -1.0526}, {11.514, 6.0275, 1.0526}, {11.973, 5.0561, 1.0526}}], Polygon[{{11.829, 5.3841, -1.0526}, {11.344, 6.3425, -1.0526}, {10.977, 6.9578, 1.0526}, {11.514, 6.0275, 1.0526}}], Polygon[{{11.344, 6.3425, -1.0526}, {10.781, 7.2576, -1.0526}, {10.365, 7.8405, 1.0526}, {10.977, 6.9578, 1.0526}}], Polygon[{{10.781, 7.2576, -1.0526}, {10.145, 8.1231, -1.0526}, {9.6821, 8.6696, 1.0526}, {10.365, 7.8405, 1.0526}}], Polygon[{{10.145, 8.1231, -1.0526}, {9.4396, 8.9331, -1.0526}, {8.9331, 9.4396, 1.0526}, {9.6821, 8.6696, 1.0526}}], Polygon[{{9.4396, -8.9331, 1.0526}, {10.145, -8.1231, 1.0526}, {10.616, -7.5797, 3.1579}, {9.9539, -8.4305, 3.1579}}], Polygon[{{10.145, -8.1231, 1.0526}, {10.781, -7.2576, 1.0526}, {11.206, -6.6772, 3.1579}, {10.616, -7.5797, 3.1579}}], Polygon[{{10.781, -7.2576, 1.0526}, {11.344, -6.3425, 1.0526}, {11.719, -5.729, 3.1579}, {11.206, -6.6772, 3.1579}}], Polygon[{{11.344, -6.3425, 1.0526}, {11.829, -5.3841, 1.0526}, {12.152, -4.7417, 3.1579}, {11.719, -5.729, 3.1579}}], Polygon[{{11.829, -5.3841, 1.0526}, {12.233, -4.3889, 1.0526}, {12.502, -3.722, 3.1579}, {12.152, -4.7417, 3.1579}}], Polygon[{{12.233, -4.3889, 1.0526}, {12.554, -3.3637, 1.0526}, {12.767, -2.6769, 3.1579}, {12.502, -3.722, 3.1579}}], Polygon[{{12.554, -3.3637, 1.0526}, {12.788, -2.3156, 1.0526}, {12.944, -1.6135, 3.1579}, {12.767, -2.6769, 3.1579}}], Polygon[{{12.788, -2.3156, 1.0526}, {12.936, -1.2516, 1.0526}, {13.033, -0.53905, 3.1579}, {12.944, -1.6135, 3.1579}}], Polygon[{{12.936, -1.2516, 1.0526}, {12.995, -0.17907, 1.0526}, {13.033, 0.53905, 3.1579}, {13.033, -0.53905, 3.1579}}], Polygon[{{12.995, -0.17907, 1.0526}, {12.966, 0.89467, 1.0526}, {12.944, 1.6135, 3.1579}, {13.033, 0.53905, 3.1579}}], Polygon[{{12.966, 0.89467, 1.0526}, {12.847, 1.9623, 1.0526}, {12.767, 2.6769, 3.1579}, {12.944, 1.6135, 3.1579}}], Polygon[{{12.847, 1.9623, 1.0526}, {12.641, 3.0165, 1.0526}, {12.502, 3.722, 3.1579}, {12.767, 2.6769, 3.1579}}], Polygon[{{12.641, 3.0165, 1.0526}, {12.349, 4.0501, 1.0526}, {12.152, 4.7417, 3.1579}, {12.502, 3.722, 3.1579}}], Polygon[{{12.349, 4.0501, 1.0526}, {11.973, 5.0561, 1.0526}, {11.719, 5.729, 3.1579}, {12.152, 4.7417, 3.1579}}], Polygon[{{11.973, 5.0561, 1.0526}, {11.514, 6.0275, 1.0526}, {11.206, 6.6772, 3.1579}, {11.719, 5.729, 3.1579}}], Polygon[{{11.514, 6.0275, 1.0526}, {10.977, 6.9578, 1.0526}, {10.616, 7.5797, 3.1579}, {11.206, 6.6772, 3.1579}}], Polygon[{{10.977, 6.9578, 1.0526}, {10.365, 7.8405, 1.0526}, {9.9539, 8.4305, 3.1579}, {10.616, 7.5797, 3.1579}}], Polygon[{{10.365, 7.8405, 1.0526}, {9.6821, 8.6696, 1.0526}, {9.2237, 9.2237, 3.1579}, {9.9539, 8.4305, 3.1579}}], Polygon[{{9.6821, 8.6696, 1.0526}, {8.9331, 9.4396, 1.0526}, {8.4305, 9.9539, 3.1579}, {9.2237, 9.2237, 3.1579}}], Polygon[{{9.9539, -8.4305, 3.1579}, {10.616, -7.5797, 3.1579}, {11.098, -7.0344, 5.2632}, {10.479, -7.9268, 5.2632}}], Polygon[{{10.616, -7.5797, 3.1579}, {11.206, -6.6772, 3.1579}, {11.641, -6.0939, 5.2632}, {11.098, -7.0344, 5.2632}}], Polygon[{{11.206, -6.6772, 3.1579}, {11.719, -5.729, 3.1579}, {12.104, -5.1118, 5.2632}, {11.641, -6.0939, 5.2632}}], Polygon[{{11.719, -5.729, 3.1579}, {12.152, -4.7417, 3.1579}, {12.485, -4.0947, 5.2632}, {12.104, -5.1118, 5.2632}}], Polygon[{{12.152, -4.7417, 3.1579}, {12.502, -3.722, 3.1579}, {12.781, -3.0497, 5.2632}, {12.485, -4.0947, 5.2632}}], Polygon[{{12.502, -3.722, 3.1579}, {12.767, -2.6769, 3.1579}, {12.989, -1.9839, 5.2632}, {12.781, -3.0497, 5.2632}}], Polygon[{{12.767, -2.6769, 3.1579}, {12.944, -1.6135, 3.1579}, {13.108, -0.90452, 5.2632}, {12.989, -1.9839, 5.2632}}], Polygon[{{12.944, -1.6135, 3.1579}, {13.033, -0.53905, 3.1579}, {13.138, 0.18104, 5.2632}, {13.108, -0.90452, 5.2632}}], Polygon[{{13.033, -0.53905, 3.1579}, {13.033, 0.53905, 3.1579}, {13.078, 1.2654, 5.2632}, {13.138, 0.18104, 5.2632}}], Polygon[{{13.033, 0.53905, 3.1579}, {12.944, 1.6135, 3.1579}, {12.929, 2.3411, 5.2632}, {13.078, 1.2654, 5.2632}}], Polygon[{{12.944, 1.6135, 3.1579}, {12.767, 2.6769, 3.1579}, {12.692, 3.4007, 5.2632}, {12.929, 2.3411, 5.2632}}], Polygon[{{12.767, 2.6769, 3.1579}, {12.502, 3.722, 3.1579}, {12.368, 4.4372, 5.2632}, {12.692, 3.4007, 5.2632}}], Polygon[{{12.502, 3.722, 3.1579}, {12.152, 4.7417, 3.1579}, {11.959, 5.4434, 5.2632}, {12.368, 4.4372, 5.2632}}], Polygon[{{12.152, 4.7417, 3.1579}, {11.719, 5.729, 3.1579}, {11.469, 6.4123, 5.2632}, {11.959, 5.4434, 5.2632}}], Polygon[{{11.719, 5.729, 3.1579}, {11.206, 6.6772, 3.1579}, {10.9, 7.3375, 5.2632}, {11.469, 6.4123, 5.2632}}], Polygon[{{11.206, 6.6772, 3.1579}, {10.616, 7.5797, 3.1579}, {10.257, 8.2125, 5.2632}, {10.9, 7.3375, 5.2632}}], Polygon[{{10.616, 7.5797, 3.1579}, {9.9539, 8.4305, 3.1579}, {9.5435, 9.0315, 5.2632}, {10.257, 8.2125, 5.2632}}], Polygon[{{9.9539, 8.4305, 3.1579}, {9.2237, 9.2237, 3.1579}, {8.7651, 9.7887, 5.2632}, {9.5435, 9.0315, 5.2632}}], Polygon[{{9.2237, 9.2237, 3.1579}, {8.4305, 9.9539, 3.1579}, {7.9268, 10.479, 5.2632}, {8.7651, 9.7887, 5.2632}}], Polygon[{{10.479, -7.9268, 5.2632}, {11.098, -7.0344, 5.2632}, {11.592, -6.4814, 7.3684}, {11.017, -7.4165, 7.3684}}], Polygon[{{11.098, -7.0344, 5.2632}, {11.641, -6.0939, 5.2632}, {12.088, -5.502, 7.3684}, {11.592, -6.4814, 7.3684}}], Polygon[{{11.641, -6.0939, 5.2632}, {12.104, -5.1118, 5.2632}, {12.501, -4.485, 7.3684}, {12.088, -5.502, 7.3684}}], Polygon[{{12.104, -5.1118, 5.2632}, {12.485, -4.0947, 5.2632}, {12.828, -3.4374, 7.3684}, {12.501, -4.485, 7.3684}}], Polygon[{{12.485, -4.0947, 5.2632}, {12.781, -3.0497, 5.2632}, {13.069, -2.3663, 7.3684}, {12.828, -3.4374, 7.3684}}], Polygon[{{12.781, -3.0497, 5.2632}, {12.989, -1.9839, 5.2632}, {13.219, -1.279, 7.3684}, {13.069, -2.3663, 7.3684}}], Polygon[{{12.989, -1.9839, 5.2632}, {13.108, -0.90452, 5.2632}, {13.28, -0.18299, 7.3684}, {13.219, -1.279, 7.3684}}], Polygon[{{13.108, -0.90452, 5.2632}, {13.138, 0.18104, 5.2632}, {13.249, 0.91427, 7.3684}, {13.28, -0.18299, 7.3684}}], Polygon[{{13.138, 0.18104, 5.2632}, {13.078, 1.2654, 5.2632}, {13.129, 2.0053, 7.3684}, {13.249, 0.91427, 7.3684}}], Polygon[{{13.078, 1.2654, 5.2632}, {12.929, 2.3411, 5.2632}, {12.918, 3.0826, 7.3684}, {13.129, 2.0053, 7.3684}}], Polygon[{{12.929, 2.3411, 5.2632}, {12.692, 3.4007, 5.2632}, {12.62, 4.1388, 7.3684}, {12.918, 3.0826, 7.3684}}], Polygon[{{12.692, 3.4007, 5.2632}, {12.368, 4.4372, 5.2632}, {12.235, 5.1668, 7.3684}, {12.62, 4.1388, 7.3684}}], Polygon[{{12.368, 4.4372, 5.2632}, {11.959, 5.4434, 5.2632}, {11.766, 6.1595, 7.3684}, {12.235, 5.1668, 7.3684}}], Polygon[{{11.959, 5.4434, 5.2632}, {11.469, 6.4123, 5.2632}, {11.217, 7.1101, 7.3684}, {11.766, 6.1595, 7.3684}}], Polygon[{{11.469, 6.4123, 5.2632}, {10.9, 7.3375, 5.2632}, {10.592, 8.0122, 7.3684}, {11.217, 7.1101, 7.3684}}], Polygon[{{10.9, 7.3375, 5.2632}, {10.257, 8.2125, 5.2632}, {9.8942, 8.8595, 7.3684}, {10.592, 8.0122, 7.3684}}], Polygon[{{10.257, 8.2125, 5.2632}, {9.5435, 9.0315, 5.2632}, {9.1288, 9.6463, 7.3684}, {9.8942, 8.8595, 7.3684}}], Polygon[{{9.5435, 9.0315, 5.2632}, {8.7651, 9.7887, 5.2632}, {8.301, 10.367, 7.3684}, {9.1288, 9.6463, 7.3684}}], Polygon[{{8.7651, 9.7887, 5.2632}, {7.9268, 10.479, 5.2632}, {7.4165, 11.017, 7.3684}, {8.301, 10.367, 7.3684}}], Polygon[{{11.017, -7.4165, 7.3684}, {11.592, -6.4814, 7.3684}, {12.099, -5.9148, 9.4737}, {11.569, -6.8938, 9.4737}}], Polygon[{{11.592, -6.4814, 7.3684}, {12.088, -5.502, 7.3684}, {12.546, -4.8955, 9.4737}, {12.099, -5.9148, 9.4737}}], Polygon[{{12.088, -5.502, 7.3684}, {12.501, -4.485, 7.3684}, {12.908, -3.8427, 9.4737}, {12.546, -4.8955, 9.4737}}], Polygon[{{12.501, -4.485, 7.3684}, {12.828, -3.4374, 7.3684}, {13.181, -2.7637, 9.4737}, {12.908, -3.8427, 9.4737}}], Polygon[{{12.828, -3.4374, 7.3684}, {13.069, -2.3663, 7.3684}, {13.364, -1.6658, 9.4737}, {13.181, -2.7637, 9.4737}}], Polygon[{{13.069, -2.3663, 7.3684}, {13.219, -1.279, 7.3684}, {13.456, -0.55654, 9.4737}, {13.364, -1.6658, 9.4737}}], Polygon[{{13.219, -1.279, 7.3684}, {13.28, -0.18299, 7.3684}, {13.456, 0.55654, 9.4737}, {13.456, -0.55654, 9.4737}}], Polygon[{{13.28, -0.18299, 7.3684}, {13.249, 0.91427, 7.3684}, {13.364, 1.6658, 9.4737}, {13.456, 0.55654, 9.4737}}], Polygon[{{13.249, 0.91427, 7.3684}, {13.129, 2.0053, 7.3684}, {13.181, 2.7637, 9.4737}, {13.364, 1.6658, 9.4737}}], Polygon[{{13.129, 2.0053, 7.3684}, {12.918, 3.0826, 7.3684}, {12.908, 3.8427, 9.4737}, {13.181, 2.7637, 9.4737}}], Polygon[{{12.918, 3.0826, 7.3684}, {12.62, 4.1388, 7.3684}, {12.546, 4.8955, 9.4737}, {12.908, 3.8427, 9.4737}}], Polygon[{{12.62, 4.1388, 7.3684}, {12.235, 5.1668, 7.3684}, {12.099, 5.9148, 9.4737}, {12.546, 4.8955, 9.4737}}], Polygon[{{12.235, 5.1668, 7.3684}, {11.766, 6.1595, 7.3684}, {11.569, 6.8938, 9.4737}, {12.099, 5.9148, 9.4737}}], Polygon[{{11.766, 6.1595, 7.3684}, {11.217, 7.1101, 7.3684}, {10.96, 7.8256, 9.4737}, {11.569, 6.8938, 9.4737}}], Polygon[{{11.217, 7.1101, 7.3684}, {10.592, 8.0122, 7.3684}, {10.277, 8.704, 9.4737}, {10.96, 7.8256, 9.4737}}], Polygon[{{10.592, 8.0122, 7.3684}, {9.8942, 8.8595, 7.3684}, {9.5229, 9.5229, 9.4737}, {10.277, 8.704, 9.4737}}], Polygon[{{9.8942, 8.8595, 7.3684}, {9.1288, 9.6463, 7.3684}, {8.704, 10.277, 9.4737}, {9.5229, 9.5229, 9.4737}}], Polygon[{{9.1288, 9.6463, 7.3684}, {8.301, 10.367, 7.3684}, {7.8256, 10.96, 9.4737}, {8.704, 10.277, 9.4737}}], Polygon[{{8.301, 10.367, 7.3684}, {7.4165, 11.017, 7.3684}, {6.8938, 11.569, 9.4737}, {7.8256, 10.96, 9.4737}}], Polygon[{{11.569, -6.8938, 9.4737}, {12.099, -5.9148, 9.4737}, {12.618, -5.3286, 11.579}, {12.135, -6.3524, 11.579}}], Polygon[{{12.099, -5.9148, 9.4737}, {12.546, -4.8955, 9.4737}, {13.015, -4.2684, 11.579}, {12.618, -5.3286, 11.579}}], Polygon[{{12.546, -4.8955, 9.4737}, {12.908, -3.8427, 9.4737}, {13.323, -3.1791, 11.579}, {13.015, -4.2684, 11.579}}], Polygon[{{12.908, -3.8427, 9.4737}, {13.181, -2.7637, 9.4737}, {13.54, -2.0681, 11.579}, {13.323, -3.1791, 11.579}}], Polygon[{{13.181, -2.7637, 9.4737}, {13.364, -1.6658, 9.4737}, {13.664, -0.94289, 11.579}, {13.54, -2.0681, 11.579}}], Polygon[{{13.364, -1.6658, 9.4737}, {13.456, -0.55654, 9.4737}, {13.696, 0.18872, 11.579}, {13.664, -0.94289, 11.579}}], Polygon[{{13.456, -0.55654, 9.4737}, {13.456, 0.55654, 9.4737}, {13.633, 1.319, 11.579}, {13.696, 0.18872, 11.579}}], Polygon[{{13.456, 0.55654, 9.4737}, {13.364, 1.6658, 9.4737}, {13.478, 2.4404, 11.579}, {13.633, 1.319, 11.579}}], Polygon[{{13.364, 1.6658, 9.4737}, {13.181, 2.7637, 9.4737}, {13.23, 3.545, 11.579}, {13.478, 2.4404, 11.579}}], Polygon[{{13.181, 2.7637, 9.4737}, {12.908, 3.8427, 9.4737}, {12.892, 4.6254, 11.579}, {13.23, 3.545, 11.579}}], Polygon[{{12.908, 3.8427, 9.4737}, {12.546, 4.8955, 9.4737}, {12.466, 5.6743, 11.579}, {12.892, 4.6254, 11.579}}], Polygon[{{12.546, 4.8955, 9.4737}, {12.099, 5.9148, 9.4737}, {11.955, 6.6843, 11.579}, {12.466, 5.6743, 11.579}}], Polygon[{{12.099, 5.9148, 9.4737}, {11.569, 6.8938, 9.4737}, {11.362, 7.6488, 11.579}, {11.955, 6.6843, 11.579}}], Polygon[{{11.569, 6.8938, 9.4737}, {10.96, 7.8256, 9.4737}, {10.692, 8.5609, 11.579}, {11.362, 7.6488, 11.579}}], Polygon[{{10.96, 7.8256, 9.4737}, {10.277, 8.704, 9.4737}, {9.9483, 9.4146, 11.579}, {10.692, 8.5609, 11.579}}], Polygon[{{10.277, 8.704, 9.4737}, {9.5229, 9.5229, 9.4737}, {9.1369, 10.204, 11.579}, {9.9483, 9.4146, 11.579}}], Polygon[{{9.5229, 9.5229, 9.4737}, {8.704, 10.277, 9.4737}, {8.2631, 10.924, 11.579}, {9.1369, 10.204, 11.579}}], Polygon[{{8.704, 10.277, 9.4737}, {7.8256, 10.96, 9.4737}, {7.3328, 11.569, 11.579}, {8.2631, 10.924, 11.579}}], Polygon[{{7.8256, 10.96, 9.4737}, {6.8938, 11.569, 9.4737}, {6.3524, 12.135, 11.579}, {7.3328, 11.569, 11.579}}], Polygon[{{12.135, -6.3524, 11.579}, {12.618, -5.3286, 11.579}, {13.147, -4.7167, 13.684}, {12.712, -5.7863, 13.684}}], Polygon[{{12.618, -5.3286, 11.579}, {13.015, -4.2684, 11.579}, {13.491, -3.615, 13.684}, {13.147, -4.7167, 13.684}}], Polygon[{{13.015, -4.2684, 11.579}, {13.323, -3.1791, 11.579}, {13.744, -2.4885, 13.684}, {13.491, -3.615, 13.684}}], Polygon[{{13.323, -3.1791, 11.579}, {13.54, -2.0681, 11.579}, {13.902, -1.3451, 13.684}, {13.744, -2.4885, 13.684}}], Polygon[{{13.54, -2.0681, 11.579}, {13.664, -0.94289, 11.579}, {13.966, -0.19245, 13.684}, {13.902, -1.3451, 13.684}}], Polygon[{{13.664, -0.94289, 11.579}, {13.696, 0.18872, 11.579}, {13.934, 0.9615, 13.684}, {13.966, -0.19245, 13.684}}], Polygon[{{13.696, 0.18872, 11.579}, {13.633, 1.319, 11.579}, {13.807, 2.1089, 13.684}, {13.934, 0.9615, 13.684}}], Polygon[{{13.633, 1.319, 11.579}, {13.478, 2.4404, 11.579}, {13.586, 3.2419, 13.684}, {13.807, 2.1089, 13.684}}], Polygon[{{13.478, 2.4404, 11.579}, {13.23, 3.545, 11.579}, {13.272, 4.3527, 13.684}, {13.586, 3.2419, 13.684}}], Polygon[{{13.23, 3.545, 11.579}, {12.892, 4.6254, 11.579}, {12.867, 5.4338, 13.684}, {13.272, 4.3527, 13.684}}], Polygon[{{12.892, 4.6254, 11.579}, {12.466, 5.6743, 11.579}, {12.374, 6.4778, 13.684}, {12.867, 5.4338, 13.684}}], Polygon[{{12.466, 5.6743, 11.579}, {11.955, 6.6843, 11.579}, {11.797, 7.4775, 13.684}, {12.374, 6.4778, 13.684}}], Polygon[{{11.955, 6.6843, 11.579}, {11.362, 7.6488, 11.579}, {11.139, 8.4262, 13.684}, {11.797, 7.4775, 13.684}}], Polygon[{{11.362, 7.6488, 11.579}, {10.692, 8.5609, 11.579}, {10.405, 9.3173, 13.684}, {11.139, 8.4262, 13.684}}], Polygon[{{10.692, 8.5609, 11.579}, {9.9483, 9.4146, 11.579}, {9.6004, 10.145, 13.684}, {10.405, 9.3173, 13.684}}], Polygon[{{9.9483, 9.4146, 11.579}, {9.1369, 10.204, 11.579}, {8.7299, 10.903, 13.684}, {9.6004, 10.145, 13.684}}], Polygon[{{9.1369, 10.204, 11.579}, {8.2631, 10.924, 11.579}, {7.7997, 11.587, 13.684}, {8.7299, 10.903, 13.684}}], Polygon[{{8.2631, 10.924, 11.579}, {7.3328, 11.569, 11.579}, {6.8163, 12.191, 13.684}, {7.7997, 11.587, 13.684}}], Polygon[{{7.3328, 11.569, 11.579}, {6.3524, 12.135, 11.579}, {5.7863, 12.712, 13.684}, {6.8163, 12.191, 13.684}}], Polygon[{{12.712, -5.7863, 13.684}, {13.147, -4.7167, 13.684}, {13.683, -4.0735, 15.789}, {13.3, -5.1895, 15.789}}], Polygon[{{13.147, -4.7167, 13.684}, {13.491, -3.615, 13.684}, {13.972, -2.9297, 15.789}, {13.683, -4.0735, 15.789}}], Polygon[{{13.491, -3.615, 13.684}, {13.744, -2.4885, 13.684}, {14.167, -1.7659, 15.789}, {13.972, -2.9297, 15.789}}], Polygon[{{13.744, -2.4885, 13.684}, {13.902, -1.3451, 13.684}, {14.264, -0.58996, 15.789}, {14.167, -1.7659, 15.789}}], Polygon[{{13.902, -1.3451, 13.684}, {13.966, -0.19245, 13.684}, {14.264, 0.58996, 15.789}, {14.264, -0.58996, 15.789}}], Polygon[{{13.966, -0.19245, 13.684}, {13.934, 0.9615, 13.684}, {14.167, 1.7659, 15.789}, {14.264, 0.58996, 15.789}}], Polygon[{{13.934, 0.9615, 13.684}, {13.807, 2.1089, 13.684}, {13.972, 2.9297, 15.789}, {14.167, 1.7659, 15.789}}], Polygon[{{13.807, 2.1089, 13.684}, {13.586, 3.2419, 13.684}, {13.683, 4.0735, 15.789}, {13.972, 2.9297, 15.789}}], Polygon[{{13.586, 3.2419, 13.684}, {13.272, 4.3527, 13.684}, {13.3, 5.1895, 15.789}, {13.683, 4.0735, 15.789}}], Polygon[{{13.272, 4.3527, 13.684}, {12.867, 5.4338, 13.684}, {12.826, 6.27, 15.789}, {13.3, 5.1895, 15.789}}], Polygon[{{12.867, 5.4338, 13.684}, {12.374, 6.4778, 13.684}, {12.264, 7.3078, 15.789}, {12.826, 6.27, 15.789}}], Polygon[{{12.374, 6.4778, 13.684}, {11.797, 7.4775, 13.684}, {11.619, 8.2955, 15.789}, {12.264, 7.3078, 15.789}}], Polygon[{{11.797, 7.4775, 13.684}, {11.139, 8.4262, 13.684}, {10.894, 9.2267, 15.789}, {11.619, 8.2955, 15.789}}], Polygon[{{11.139, 8.4262, 13.684}, {10.405, 9.3173, 13.684}, {10.095, 10.095, 15.789}, {10.894, 9.2267, 15.789}}], Polygon[{{10.405, 9.3173, 13.684}, {9.6004, 10.145, 13.684}, {9.2267, 10.894, 15.789}, {10.095, 10.095, 15.789}}], Polygon[{{9.6004, 10.145, 13.684}, {8.7299, 10.903, 13.684}, {8.2955, 11.619, 15.789}, {9.2267, 10.894, 15.789}}], Polygon[{{8.7299, 10.903, 13.684}, {7.7997, 11.587, 13.684}, {7.3078, 12.264, 15.789}, {8.2955, 11.619, 15.789}}], Polygon[{{7.7997, 11.587, 13.684}, {6.8163, 12.191, 13.684}, {6.27, 12.826, 15.789}, {7.3078, 12.264, 15.789}}], Polygon[{{6.8163, 12.191, 13.684}, {5.7863, 12.712, 13.684}, {5.1895, 13.3, 15.789}, {6.27, 12.826, 15.789}}], Polygon[{{13.3, -5.1895, 15.789}, {13.683, -4.0735, 15.789}, {14.222, -3.3937, 17.895}, {13.893, -4.5565, 17.895}}], Polygon[{{13.683, -4.0735, 15.789}, {13.972, -2.9297, 15.789}, {14.454, -2.2076, 17.895}, {14.222, -3.3937, 17.895}}], Polygon[{{13.972, -2.9297, 15.789}, {14.167, -1.7659, 15.789}, {14.587, -1.0065, 17.895}, {14.454, -2.2076, 17.895}}], Polygon[{{14.167, -1.7659, 15.789}, {14.264, -0.58996, 15.789}, {14.62, 0.20146, 17.895}, {14.587, -1.0065, 17.895}}], Polygon[{{14.264, -0.58996, 15.789}, {14.264, 0.58996, 15.789}, {14.553, 1.4081, 17.895}, {14.62, 0.20146, 17.895}}], Polygon[{{14.264, 0.58996, 15.789}, {14.167, 1.7659, 15.789}, {14.387, 2.6051, 17.895}, {14.553, 1.4081, 17.895}}], Polygon[{{14.167, 1.7659, 15.789}, {13.972, 2.9297, 15.789}, {14.123, 3.7843, 17.895}, {14.387, 2.6051, 17.895}}], Polygon[{{13.972, 2.9297, 15.789}, {13.683, 4.0735, 15.789}, {13.762, 4.9376, 17.895}, {14.123, 3.7843, 17.895}}], Polygon[{{13.683, 4.0735, 15.789}, {13.3, 5.1895, 15.789}, {13.308, 6.0572, 17.895}, {13.762, 4.9376, 17.895}}], Polygon[{{13.3, 5.1895, 15.789}, {12.826, 6.27, 15.789}, {12.762, 7.1355, 17.895}, {13.308, 6.0572, 17.895}}], Polygon[{{12.826, 6.27, 15.789}, {12.264, 7.3078, 15.789}, {12.129, 8.165, 17.895}, {12.762, 7.1355, 17.895}}], Polygon[{{12.264, 7.3078, 15.789}, {11.619, 8.2955, 15.789}, {11.413, 9.1387, 17.895}, {12.129, 8.165, 17.895}}], Polygon[{{11.619, 8.2955, 15.789}, {10.894, 9.2267, 15.789}, {10.62, 10.05, 17.895}, {11.413, 9.1387, 17.895}}], Polygon[{{10.894, 9.2267, 15.789}, {10.095, 10.095, 15.789}, {9.7536, 10.893, 17.895}, {10.62, 10.05, 17.895}}], Polygon[{{10.095, 10.095, 15.789}, {9.2267, 10.894, 15.789}, {8.8207, 11.661, 17.895}, {9.7536, 10.893, 17.895}}], Polygon[{{9.2267, 10.894, 15.789}, {8.2955, 11.619, 15.789}, {7.8277, 12.349, 17.895}, {8.8207, 11.661, 17.895}}], Polygon[{{8.2955, 11.619, 15.789}, {7.3078, 12.264, 15.789}, {6.7811, 12.954, 17.895}, {7.8277, 12.349, 17.895}}], Polygon[{{7.3078, 12.264, 15.789}, {6.27, 12.826, 15.789}, {5.6882, 13.469, 17.895}, {6.7811, 12.954, 17.895}}], Polygon[{{6.27, 12.826, 15.789}, {5.1895, 13.3, 15.789}, {4.5565, 13.893, 17.895}, {5.6882, 13.469, 17.895}}], Polygon[{{13.893, -4.5565, 17.895}, {14.222, -3.3937, 17.895}, {14.76, -2.6725, 20.}, {14.489, -3.8823, 20.}}], Polygon[{{14.222, -3.3937, 17.895}, {14.454, -2.2076, 17.895}, {14.93, -1.4445, 20.}, {14.76, -2.6725, 20.}}], Polygon[{{14.454, -2.2076, 17.895}, {14.587, -1.0065, 17.895}, {14.999, -0.20668, 20.}, {14.93, -1.4445, 20.}}], Polygon[{{14.587, -1.0065, 17.895}, {14.62, 0.20146, 17.895}, {14.964, 1.0326, 20.}, {14.999, -0.20668, 20.}}], Polygon[{{14.62, 0.20146, 17.895}, {14.553, 1.4081, 17.895}, {14.828, 2.2648, 20.}, {14.964, 1.0326, 20.}}], Polygon[{{14.553, 1.4081, 17.895}, {14.387, 2.6051, 17.895}, {14.59, 3.4816, 20.}, {14.828, 2.2648, 20.}}], Polygon[{{14.387, 2.6051, 17.895}, {14.123, 3.7843, 17.895}, {14.253, 4.6746, 20.}, {14.59, 3.4816, 20.}}], Polygon[{{14.123, 3.7843, 17.895}, {13.762, 4.9376, 17.895}, {13.818, 5.8356, 20.}, {14.253, 4.6746, 20.}}], Polygon[{{13.762, 4.9376, 17.895}, {13.308, 6.0572, 17.895}, {13.289, 6.9568, 20.}, {13.818, 5.8356, 20.}}], Polygon[{{13.308, 6.0572, 17.895}, {12.762, 7.1355, 17.895}, {12.669, 8.0304, 20.}, {13.289, 6.9568, 20.}}], Polygon[{{12.762, 7.1355, 17.895}, {12.129, 8.165, 17.895}, {11.963, 9.0492, 20.}, {12.669, 8.0304, 20.}}], Polygon[{{12.129, 8.165, 17.895}, {11.413, 9.1387, 17.895}, {11.175, 10.006, 20.}, {11.963, 9.0492, 20.}}], Polygon[{{11.413, 9.1387, 17.895}, {10.62, 10.05, 17.895}, {10.31, 10.895, 20.}, {11.175, 10.006, 20.}}], Polygon[{{10.62, 10.05, 17.895}, {9.7536, 10.893, 17.895}, {9.3754, 11.709, 20.}, {10.31, 10.895, 20.}}], Polygon[{{9.7536, 10.893, 17.895}, {8.8207, 11.661, 17.895}, {8.3765, 12.443, 20.}, {9.3754, 11.709, 20.}}], Polygon[{{8.8207, 11.661, 17.895}, {7.8277, 12.349, 17.895}, {7.3203, 13.092, 20.}, {8.3765, 12.443, 20.}}], Polygon[{{7.8277, 12.349, 17.895}, {6.7811, 12.954, 17.895}, {6.2141, 13.652, 20.}, {7.3203, 13.092, 20.}}], Polygon[{{6.7811, 12.954, 17.895}, {5.6882, 13.469, 17.895}, {5.0655, 14.119, 20.}, {6.2141, 13.652, 20.}}], Polygon[{{5.6882, 13.469, 17.895}, {4.5565, 13.893, 17.895}, {3.8823, 14.489, 20.}, {5.0655, 14.119, 20.}}]}, {Polygon[{{9.6593, -2.5882, 20.}, {9.84, -1.7817, 20.}, {11.07, -2.0044, 20.}, {10.867, -2.9117, 20.}}], Polygon[{{9.84, -1.7817, 20.}, {9.9535, -0.96303, 20.}, {11.198, -1.0834, 20.}, {11.07, -2.0044, 20.}}], Polygon[{{9.9535, -0.96303, 20.}, {9.9991, -0.13778, 20.}, {11.249, -0.15501, 20.}, {11.198, -1.0834, 20.}}], Polygon[{{9.9991, -0.13778, 20.}, {9.9763, 0.6884, 20.}, {11.223, 0.77445, 20.}, {11.249, -0.15501, 20.}}], Polygon[{{9.9763, 0.6884, 20.}, {9.8854, 1.5099, 20.}, {11.121, 1.6986, 20.}, {11.223, 0.77445, 20.}}], Polygon[{{9.8854, 1.5099, 20.}, {9.7269, 2.3211, 20.}, {10.943, 2.6112, 20.}, {11.121, 1.6986, 20.}}], Polygon[{{9.7269, 2.3211, 20.}, {9.502, 3.1164, 20.}, {10.69, 3.5059, 20.}, {10.943, 2.6112, 20.}}], Polygon[{{9.502, 3.1164, 20.}, {9.2122, 3.8904, 20.}, {10.364, 4.3767, 20.}, {10.69, 3.5059, 20.}}], Polygon[{{9.2122, 3.8904, 20.}, {8.8595, 4.6378, 20.}, {9.9669, 5.2176, 20.}, {10.364, 4.3767, 20.}}], Polygon[{{8.8595, 4.6378, 20.}, {8.4462, 5.3536, 20.}, {9.502, 6.0228, 20.}, {9.9669, 5.2176, 20.}}], Polygon[{{8.4462, 5.3536, 20.}, {7.9753, 6.0328, 20.}, {8.9722, 6.7869, 20.}, {9.502, 6.0228, 20.}}], Polygon[{{7.9753, 6.0328, 20.}, {7.4499, 6.6708, 20.}, {8.3811, 7.5047, 20.}, {8.9722, 6.7869, 20.}}], Polygon[{{7.4499, 6.6708, 20.}, {6.8735, 7.2632, 20.}, {7.7327, 8.1711, 20.}, {8.3811, 7.5047, 20.}}], Polygon[{{6.8735, 7.2632, 20.}, {6.2503, 7.806, 20.}, {7.0316, 8.7818, 20.}, {7.7327, 8.1711, 20.}}], Polygon[{{6.2503, 7.806, 20.}, {5.5843, 8.2955, 20.}, {6.2824, 9.3324, 20.}, {7.0316, 8.7818, 20.}}], Polygon[{{5.5843, 8.2955, 20.}, {4.8802, 8.7283, 20.}, {5.4902, 9.8194, 20.}, {6.2824, 9.3324, 20.}}], Polygon[{{4.8802, 8.7283, 20.}, {4.1428, 9.1015, 20.}, {4.6606, 10.239, 20.}, {5.4902, 9.8194, 20.}}], Polygon[{{4.1428, 9.1015, 20.}, {3.377, 9.4125, 20.}, {3.7991, 10.589, 20.}, {4.6606, 10.239, 20.}}], Polygon[{{3.377, 9.4125, 20.}, {2.5882, 9.6593, 20.}, {2.9117, 10.867, 20.}, {3.7991, 10.589, 20.}}], Polygon[{{10.867, -2.9117, 20.}, {11.07, -2.0044, 20.}, {12.3, -2.2271, 20.}, {12.074, -3.2352, 20.}}], Polygon[{{11.07, -2.0044, 20.}, {11.198, -1.0834, 20.}, {12.442, -1.2038, 20.}, {12.3, -2.2271, 20.}}], Polygon[{{11.198, -1.0834, 20.}, {11.249, -0.15501, 20.}, {12.499, -0.17223, 20.}, {12.442, -1.2038, 20.}}], Polygon[{{11.249, -0.15501, 20.}, {11.223, 0.77445, 20.}, {12.47, 0.8605, 20.}, {12.499, -0.17223, 20.}}], Polygon[{{11.223, 0.77445, 20.}, {11.121, 1.6986, 20.}, {12.357, 1.8874, 20.}, {12.47, 0.8605, 20.}}], Polygon[{{11.121, 1.6986, 20.}, {10.943, 2.6112, 20.}, {12.159, 2.9013, 20.}, {12.357, 1.8874, 20.}}], Polygon[{{10.943, 2.6112, 20.}, {10.69, 3.5059, 20.}, {11.878, 3.8955, 20.}, {12.159, 2.9013, 20.}}], Polygon[{{10.69, 3.5059, 20.}, {10.364, 4.3767, 20.}, {11.515, 4.863, 20.}, {11.878, 3.8955, 20.}}], Polygon[{{10.364, 4.3767, 20.}, {9.9669, 5.2176, 20.}, {11.074, 5.7973, 20.}, {11.515, 4.863, 20.}}], Polygon[{{9.9669, 5.2176, 20.}, {9.502, 6.0228, 20.}, {10.558, 6.692, 20.}, {11.074, 5.7973, 20.}}], Polygon[{{9.502, 6.0228, 20.}, {8.9722, 6.7869, 20.}, {9.9691, 7.541, 20.}, {10.558, 6.692, 20.}}], Polygon[{{8.9722, 6.7869, 20.}, {8.3811, 7.5047, 20.}, {9.3123, 8.3385, 20.}, {9.9691, 7.541, 20.}}], Polygon[{{8.3811, 7.5047, 20.}, {7.7327, 8.1711, 20.}, {8.5919, 9.079, 20.}, {9.3123, 8.3385, 20.}}], Polygon[{{7.7327, 8.1711, 20.}, {7.0316, 8.7818, 20.}, {7.8128, 9.7575, 20.}, {8.5919, 9.079, 20.}}], Polygon[{{7.0316, 8.7818, 20.}, {6.2824, 9.3324, 20.}, {6.9804, 10.369, 20.}, {7.8128, 9.7575, 20.}}], Polygon[{{6.2824, 9.3324, 20.}, {5.4902, 9.8194, 20.}, {6.1003, 10.91, 20.}, {6.9804, 10.369, 20.}}], Polygon[{{5.4902, 9.8194, 20.}, {4.6606, 10.239, 20.}, {5.1784, 11.377, 20.}, {6.1003, 10.91, 20.}}], Polygon[{{4.6606, 10.239, 20.}, {3.7991, 10.589, 20.}, {4.2213, 11.766, 20.}, {5.1784, 11.377, 20.}}], Polygon[{{3.7991, 10.589, 20.}, {2.9117, 10.867, 20.}, {3.2352, 12.074, 20.}, {4.2213, 11.766, 20.}}], Polygon[{{12.074, -3.2352, 20.}, {12.3, -2.2271, 20.}, {13.53, -2.4498, 20.}, {13.281, -3.5588, 20.}}], Polygon[{{12.3, -2.2271, 20.}, {12.442, -1.2038, 20.}, {13.686, -1.3242, 20.}, {13.53, -2.4498, 20.}}], Polygon[{{12.442, -1.2038, 20.}, {12.499, -0.17223, 20.}, {13.749, -0.18945, 20.}, {13.686, -1.3242, 20.}}], Polygon[{{12.499, -0.17223, 20.}, {12.47, 0.8605, 20.}, {13.717, 0.94655, 20.}, {13.749, -0.18945, 20.}}], Polygon[{{12.47, 0.8605, 20.}, {12.357, 1.8874, 20.}, {13.592, 2.0761, 20.}, {13.717, 0.94655, 20.}}], Polygon[{{12.357, 1.8874, 20.}, {12.159, 2.9013, 20.}, {13.374, 3.1914, 20.}, {13.592, 2.0761, 20.}}], Polygon[{{12.159, 2.9013, 20.}, {11.878, 3.8955, 20.}, {13.065, 4.285, 20.}, {13.374, 3.1914, 20.}}], Polygon[{{11.878, 3.8955, 20.}, {11.515, 4.863, 20.}, {12.667, 5.3493, 20.}, {13.065, 4.285, 20.}}], Polygon[{{11.515, 4.863, 20.}, {11.074, 5.7973, 20.}, {12.182, 6.377, 20.}, {12.667, 5.3493, 20.}}], Polygon[{{11.074, 5.7973, 20.}, {10.558, 6.692, 20.}, {11.614, 7.3612, 20.}, {12.182, 6.377, 20.}}], Polygon[{{10.558, 6.692, 20.}, {9.9691, 7.541, 20.}, {10.966, 8.2951, 20.}, {11.614, 7.3612, 20.}}], Polygon[{{9.9691, 7.541, 20.}, {9.3123, 8.3385, 20.}, {10.244, 9.1724, 20.}, {10.966, 8.2951, 20.}}], Polygon[{{9.3123, 8.3385, 20.}, {8.5919, 9.079, 20.}, {9.4511, 9.9869, 20.}, {10.244, 9.1724, 20.}}], Polygon[{{8.5919, 9.079, 20.}, {7.8128, 9.7575, 20.}, {8.5941, 10.733, 20.}, {9.4511, 9.9869, 20.}}], Polygon[{{7.8128, 9.7575, 20.}, {6.9804, 10.369, 20.}, {7.6784, 11.406, 20.}, {8.5941, 10.733, 20.}}], Polygon[{{6.9804, 10.369, 20.}, {6.1003, 10.91, 20.}, {6.7103, 12.001, 20.}, {7.6784, 11.406, 20.}}], Polygon[{{6.1003, 10.91, 20.}, {5.1784, 11.377, 20.}, {5.6963, 12.515, 20.}, {6.7103, 12.001, 20.}}], Polygon[{{5.1784, 11.377, 20.}, {4.2213, 11.766, 20.}, {4.6434, 12.942, 20.}, {5.6963, 12.515, 20.}}], Polygon[{{4.2213, 11.766, 20.}, {3.2352, 12.074, 20.}, {3.5588, 13.281, 20.}, {4.6434, 12.942, 20.}}], Polygon[{{13.281, -3.5588, 20.}, {13.53, -2.4498, 20.}, {14.76, -2.6725, 20.}, {14.489, -3.8823, 20.}}], Polygon[{{13.53, -2.4498, 20.}, {13.686, -1.3242, 20.}, {14.93, -1.4445, 20.}, {14.76, -2.6725, 20.}}], Polygon[{{13.686, -1.3242, 20.}, {13.749, -0.18945, 20.}, {14.999, -0.20668, 20.}, {14.93, -1.4445, 20.}}], Polygon[{{13.749, -0.18945, 20.}, {13.717, 0.94655, 20.}, {14.964, 1.0326, 20.}, {14.999, -0.20668, 20.}}], Polygon[{{13.717, 0.94655, 20.}, {13.592, 2.0761, 20.}, {14.828, 2.2648, 20.}, {14.964, 1.0326, 20.}}], Polygon[{{13.592, 2.0761, 20.}, {13.374, 3.1914, 20.}, {14.59, 3.4816, 20.}, {14.828, 2.2648, 20.}}], Polygon[{{13.374, 3.1914, 20.}, {13.065, 4.285, 20.}, {14.253, 4.6746, 20.}, {14.59, 3.4816, 20.}}], Polygon[{{13.065, 4.285, 20.}, {12.667, 5.3493, 20.}, {13.818, 5.8356, 20.}, {14.253, 4.6746, 20.}}], Polygon[{{12.667, 5.3493, 20.}, {12.182, 6.377, 20.}, {13.289, 6.9568, 20.}, {13.818, 5.8356, 20.}}], Polygon[{{12.182, 6.377, 20.}, {11.614, 7.3612, 20.}, {12.669, 8.0304, 20.}, {13.289, 6.9568, 20.}}], Polygon[{{11.614, 7.3612, 20.}, {10.966, 8.2951, 20.}, {11.963, 9.0492, 20.}, {12.669, 8.0304, 20.}}], Polygon[{{10.966, 8.2951, 20.}, {10.244, 9.1724, 20.}, {11.175, 10.006, 20.}, {11.963, 9.0492, 20.}}], Polygon[{{10.244, 9.1724, 20.}, {9.4511, 9.9869, 20.}, {10.31, 10.895, 20.}, {11.175, 10.006, 20.}}], Polygon[{{9.4511, 9.9869, 20.}, {8.5941, 10.733, 20.}, {9.3754, 11.709, 20.}, {10.31, 10.895, 20.}}], Polygon[{{8.5941, 10.733, 20.}, {7.6784, 11.406, 20.}, {8.3765, 12.443, 20.}, {9.3754, 11.709, 20.}}], Polygon[{{7.6784, 11.406, 20.}, {6.7103, 12.001, 20.}, {7.3203, 13.092, 20.}, {8.3765, 12.443, 20.}}], Polygon[{{6.7103, 12.001, 20.}, {5.6963, 12.515, 20.}, {6.2141, 13.652, 20.}, {7.3203, 13.092, 20.}}], Polygon[{{5.6963, 12.515, 20.}, {4.6434, 12.942, 20.}, {5.0655, 14.119, 20.}, {6.2141, 13.652, 20.}}], Polygon[{{4.6434, 12.942, 20.}, {3.5588, 13.281, 20.}, {3.8823, 14.489, 20.}, {5.0655, 14.119, 20.}}]}, {Polygon[{{2.5882, -9.6593, -20.}, {3.377, -9.4125, -20.}, {3.7991, -10.589, -20.}, {2.9117, -10.867, -20.}}], Polygon[{{3.377, -9.4125, -20.}, {4.1428, -9.1015, -20.}, {4.6606, -10.239, -20.}, {3.7991, -10.589, -20.}}], Polygon[{{4.1428, -9.1015, -20.}, {4.8802, -8.7283, -20.}, {5.4902, -9.8194, -20.}, {4.6606, -10.239, -20.}}], Polygon[{{4.8802, -8.7283, -20.}, {5.5843, -8.2955, -20.}, {6.2824, -9.3324, -20.}, {5.4902, -9.8194, -20.}}], Polygon[{{5.5843, -8.2955, -20.}, {6.2503, -7.806, -20.}, {7.0316, -8.7818, -20.}, {6.2824, -9.3324, -20.}}], Polygon[{{6.2503, -7.806, -20.}, {6.8735, -7.2632, -20.}, {7.7327, -8.1711, -20.}, {7.0316, -8.7818, -20.}}], Polygon[{{6.8735, -7.2632, -20.}, {7.4499, -6.6708, -20.}, {8.3811, -7.5047, -20.}, {7.7327, -8.1711, -20.}}], Polygon[{{7.4499, -6.6708, -20.}, {7.9753, -6.0328, -20.}, {8.9722, -6.7869, -20.}, {8.3811, -7.5047, -20.}}], Polygon[{{7.9753, -6.0328, -20.}, {8.4462, -5.3536, -20.}, {9.502, -6.0228, -20.}, {8.9722, -6.7869, -20.}}], Polygon[{{8.4462, -5.3536, -20.}, {8.8595, -4.6378, -20.}, {9.9669, -5.2176, -20.}, {9.502, -6.0228, -20.}}], Polygon[{{8.8595, -4.6378, -20.}, {9.2122, -3.8904, -20.}, {10.364, -4.3767, -20.}, {9.9669, -5.2176, -20.}}], Polygon[{{9.2122, -3.8904, -20.}, {9.502, -3.1164, -20.}, {10.69, -3.5059, -20.}, {10.364, -4.3767, -20.}}], Polygon[{{9.502, -3.1164, -20.}, {9.7269, -2.3211, -20.}, {10.943, -2.6112, -20.}, {10.69, -3.5059, -20.}}], Polygon[{{9.7269, -2.3211, -20.}, {9.8854, -1.5099, -20.}, {11.121, -1.6986, -20.}, {10.943, -2.6112, -20.}}], Polygon[{{9.8854, -1.5099, -20.}, {9.9763, -0.6884, -20.}, {11.223, -0.77445, -20.}, {11.121, -1.6986, -20.}}], Polygon[{{9.9763, -0.6884, -20.}, {9.9991, 0.13778, -20.}, {11.249, 0.15501, -20.}, {11.223, -0.77445, -20.}}], Polygon[{{9.9991, 0.13778, -20.}, {9.9535, 0.96303, -20.}, {11.198, 1.0834, -20.}, {11.249, 0.15501, -20.}}], Polygon[{{9.9535, 0.96303, -20.}, {9.84, 1.7817, -20.}, {11.07, 2.0044, -20.}, {11.198, 1.0834, -20.}}], Polygon[{{9.84, 1.7817, -20.}, {9.6593, 2.5882, -20.}, {10.867, 2.9117, -20.}, {11.07, 2.0044, -20.}}], Polygon[{{2.9117, -10.867, -20.}, {3.7991, -10.589, -20.}, {4.2213, -11.766, -20.}, {3.2352, -12.074, -20.}}], Polygon[{{3.7991, -10.589, -20.}, {4.6606, -10.239, -20.}, {5.1784, -11.377, -20.}, {4.2213, -11.766, -20.}}], Polygon[{{4.6606, -10.239, -20.}, {5.4902, -9.8194, -20.}, {6.1003, -10.91, -20.}, {5.1784, -11.377, -20.}}], Polygon[{{5.4902, -9.8194, -20.}, {6.2824, -9.3324, -20.}, {6.9804, -10.369, -20.}, {6.1003, -10.91, -20.}}], Polygon[{{6.2824, -9.3324, -20.}, {7.0316, -8.7818, -20.}, {7.8128, -9.7575, -20.}, {6.9804, -10.369, -20.}}], Polygon[{{7.0316, -8.7818, -20.}, {7.7327, -8.1711, -20.}, {8.5919, -9.079, -20.}, {7.8128, -9.7575, -20.}}], Polygon[{{7.7327, -8.1711, -20.}, {8.3811, -7.5047, -20.}, {9.3123, -8.3385, -20.}, {8.5919, -9.079, -20.}}], Polygon[{{8.3811, -7.5047, -20.}, {8.9722, -6.7869, -20.}, {9.9691, -7.541, -20.}, {9.3123, -8.3385, -20.}}], Polygon[{{8.9722, -6.7869, -20.}, {9.502, -6.0228, -20.}, {10.558, -6.692, -20.}, {9.9691, -7.541, -20.}}], Polygon[{{9.502, -6.0228, -20.}, {9.9669, -5.2176, -20.}, {11.074, -5.7973, -20.}, {10.558, -6.692, -20.}}], Polygon[{{9.9669, -5.2176, -20.}, {10.364, -4.3767, -20.}, {11.515, -4.863, -20.}, {11.074, -5.7973, -20.}}], Polygon[{{10.364, -4.3767, -20.}, {10.69, -3.5059, -20.}, {11.878, -3.8955, -20.}, {11.515, -4.863, -20.}}], Polygon[{{10.69, -3.5059, -20.}, {10.943, -2.6112, -20.}, {12.159, -2.9013, -20.}, {11.878, -3.8955, -20.}}], Polygon[{{10.943, -2.6112, -20.}, {11.121, -1.6986, -20.}, {12.357, -1.8874, -20.}, {12.159, -2.9013, -20.}}], Polygon[{{11.121, -1.6986, -20.}, {11.223, -0.77445, -20.}, {12.47, -0.8605, -20.}, {12.357, -1.8874, -20.}}], Polygon[{{11.223, -0.77445, -20.}, {11.249, 0.15501, -20.}, {12.499, 0.17223, -20.}, {12.47, -0.8605, -20.}}], Polygon[{{11.249, 0.15501, -20.}, {11.198, 1.0834, -20.}, {12.442, 1.2038, -20.}, {12.499, 0.17223, -20.}}], Polygon[{{11.198, 1.0834, -20.}, {11.07, 2.0044, -20.}, {12.3, 2.2271, -20.}, {12.442, 1.2038, -20.}}], Polygon[{{11.07, 2.0044, -20.}, {10.867, 2.9117, -20.}, {12.074, 3.2352, -20.}, {12.3, 2.2271, -20.}}], Polygon[{{3.2352, -12.074, -20.}, {4.2213, -11.766, -20.}, {4.6434, -12.942, -20.}, {3.5588, -13.281, -20.}}], Polygon[{{4.2213, -11.766, -20.}, {5.1784, -11.377, -20.}, {5.6963, -12.515, -20.}, {4.6434, -12.942, -20.}}], Polygon[{{5.1784, -11.377, -20.}, {6.1003, -10.91, -20.}, {6.7103, -12.001, -20.}, {5.6963, -12.515, -20.}}], Polygon[{{6.1003, -10.91, -20.}, {6.9804, -10.369, -20.}, {7.6784, -11.406, -20.}, {6.7103, -12.001, -20.}}], Polygon[{{6.9804, -10.369, -20.}, {7.8128, -9.7575, -20.}, {8.5941, -10.733, -20.}, {7.6784, -11.406, -20.}}], Polygon[{{7.8128, -9.7575, -20.}, {8.5919, -9.079, -20.}, {9.4511, -9.9869, -20.}, {8.5941, -10.733, -20.}}], Polygon[{{8.5919, -9.079, -20.}, {9.3123, -8.3385, -20.}, {10.244, -9.1724, -20.}, {9.4511, -9.9869, -20.}}], Polygon[{{9.3123, -8.3385, -20.}, {9.9691, -7.541, -20.}, {10.966, -8.2951, -20.}, {10.244, -9.1724, -20.}}], Polygon[{{9.9691, -7.541, -20.}, {10.558, -6.692, -20.}, {11.614, -7.3612, -20.}, {10.966, -8.2951, -20.}}], Polygon[{{10.558, -6.692, -20.}, {11.074, -5.7973, -20.}, {12.182, -6.377, -20.}, {11.614, -7.3612, -20.}}], Polygon[{{11.074, -5.7973, -20.}, {11.515, -4.863, -20.}, {12.667, -5.3493, -20.}, {12.182, -6.377, -20.}}], Polygon[{{11.515, -4.863, -20.}, {11.878, -3.8955, -20.}, {13.065, -4.285, -20.}, {12.667, -5.3493, -20.}}], Polygon[{{11.878, -3.8955, -20.}, {12.159, -2.9013, -20.}, {13.374, -3.1914, -20.}, {13.065, -4.285, -20.}}], Polygon[{{12.159, -2.9013, -20.}, {12.357, -1.8874, -20.}, {13.592, -2.0761, -20.}, {13.374, -3.1914, -20.}}], Polygon[{{12.357, -1.8874, -20.}, {12.47, -0.8605, -20.}, {13.717, -0.94655, -20.}, {13.592, -2.0761, -20.}}], Polygon[{{12.47, -0.8605, -20.}, {12.499, 0.17223, -20.}, {13.749, 0.18945, -20.}, {13.717, -0.94655, -20.}}], Polygon[{{12.499, 0.17223, -20.}, {12.442, 1.2038, -20.}, {13.686, 1.3242, -20.}, {13.749, 0.18945, -20.}}], Polygon[{{12.442, 1.2038, -20.}, {12.3, 2.2271, -20.}, {13.53, 2.4498, -20.}, {13.686, 1.3242, -20.}}], Polygon[{{12.3, 2.2271, -20.}, {12.074, 3.2352, -20.}, {13.281, 3.5588, -20.}, {13.53, 2.4498, -20.}}], Polygon[{{3.5588, -13.281, -20.}, {4.6434, -12.942, -20.}, {5.0655, -14.119, -20.}, {3.8823, -14.489, -20.}}], Polygon[{{4.6434, -12.942, -20.}, {5.6963, -12.515, -20.}, {6.2141, -13.652, -20.}, {5.0655, -14.119, -20.}}], Polygon[{{5.6963, -12.515, -20.}, {6.7103, -12.001, -20.}, {7.3203, -13.092, -20.}, {6.2141, -13.652, -20.}}], Polygon[{{6.7103, -12.001, -20.}, {7.6784, -11.406, -20.}, {8.3765, -12.443, -20.}, {7.3203, -13.092, -20.}}], Polygon[{{7.6784, -11.406, -20.}, {8.5941, -10.733, -20.}, {9.3754, -11.709, -20.}, {8.3765, -12.443, -20.}}], Polygon[{{8.5941, -10.733, -20.}, {9.4511, -9.9869, -20.}, {10.31, -10.895, -20.}, {9.3754, -11.709, -20.}}], Polygon[{{9.4511, -9.9869, -20.}, {10.244, -9.1724, -20.}, {11.175, -10.006, -20.}, {10.31, -10.895, -20.}}], Polygon[{{10.244, -9.1724, -20.}, {10.966, -8.2951, -20.}, {11.963, -9.0492, -20.}, {11.175, -10.006, -20.}}], Polygon[{{10.966, -8.2951, -20.}, {11.614, -7.3612, -20.}, {12.669, -8.0304, -20.}, {11.963, -9.0492, -20.}}], Polygon[{{11.614, -7.3612, -20.}, {12.182, -6.377, -20.}, {13.289, -6.9568, -20.}, {12.669, -8.0304, -20.}}], Polygon[{{12.182, -6.377, -20.}, {12.667, -5.3493, -20.}, {13.818, -5.8356, -20.}, {13.289, -6.9568, -20.}}], Polygon[{{12.667, -5.3493, -20.}, {13.065, -4.285, -20.}, {14.253, -4.6746, -20.}, {13.818, -5.8356, -20.}}], Polygon[{{13.065, -4.285, -20.}, {13.374, -3.1914, -20.}, {14.59, -3.4816, -20.}, {14.253, -4.6746, -20.}}], Polygon[{{13.374, -3.1914, -20.}, {13.592, -2.0761, -20.}, {14.828, -2.2648, -20.}, {14.59, -3.4816, -20.}}], Polygon[{{13.592, -2.0761, -20.}, {13.717, -0.94655, -20.}, {14.964, -1.0326, -20.}, {14.828, -2.2648, -20.}}], Polygon[{{13.717, -0.94655, -20.}, {13.749, 0.18945, -20.}, {14.999, 0.20668, -20.}, {14.964, -1.0326, -20.}}], Polygon[{{13.749, 0.18945, -20.}, {13.686, 1.3242, -20.}, {14.93, 1.4445, -20.}, {14.999, 0.20668, -20.}}], Polygon[{{13.686, 1.3242, -20.}, {13.53, 2.4498, -20.}, {14.76, 2.6725, -20.}, {14.93, 1.4445, -20.}}], Polygon[{{13.53, 2.4498, -20.}, {13.281, 3.5588, -20.}, {14.489, 3.8823, -20.}, {14.76, 2.6725, -20.}}]}, {Polygon[{{2.5882, -9.6593, -20.}, {3.0377, -9.2621, -17.895}, {3.4174, -10.42, -17.895}, {2.9117, -10.867, -20.}}], Polygon[{{3.0377, -9.2621, -17.895}, {3.4597, -8.8664, -15.789}, {3.8921, -9.9747, -15.789}, {3.4174, -10.42, -17.895}}], Polygon[{{3.4597, -8.8664, -15.789}, {3.8575, -8.4749, -13.684}, {4.3397, -9.5342, -13.684}, {3.8921, -9.9747, -15.789}}], Polygon[{{3.8575, -8.4749, -13.684}, {4.2349, -8.0898, -11.579}, {4.7643, -9.101, -11.579}, {4.3397, -9.5342, -13.684}}], Polygon[{{4.2349, -8.0898, -11.579}, {4.5958, -7.7128, -9.4737}, {5.1703, -8.6769, -9.4737}, {4.7643, -9.101, -11.579}}], Polygon[{{4.5958, -7.7128, -9.4737}, {4.9444, -7.3448, -7.3684}, {5.5624, -8.263, -7.3684}, {5.1703, -8.6769, -9.4737}}], Polygon[{{4.9444, -7.3448, -7.3684}, {5.2845, -6.9861, -5.2632}, {5.9451, -7.8593, -5.2632}, {5.5624, -8.263, -7.3684}}], Polygon[{{5.2845, -6.9861, -5.2632}, {5.6203, -6.6359, -3.1579}, {6.3229, -7.4654, -3.1579}, {5.9451, -7.8593, -5.2632}}], Polygon[{{5.6203, -6.6359, -3.1579}, {5.9554, -6.293, -1.0526}, {6.6998, -7.0797, -1.0526}, {6.3229, -7.4654, -3.1579}}], Polygon[{{5.9554, -6.293, -1.0526}, {6.293, -5.9554, 1.0526}, {7.0797, -6.6998, 1.0526}, {6.6998, -7.0797, -1.0526}}], Polygon[{{6.293, -5.9554, 1.0526}, {6.6359, -5.6203, 3.1579}, {7.4654, -6.3229, 3.1579}, {7.0797, -6.6998, 1.0526}}], Polygon[{{6.6359, -5.6203, 3.1579}, {6.9861, -5.2845, 5.2632}, {7.8593, -5.9451, 5.2632}, {7.4654, -6.3229, 3.1579}}], Polygon[{{6.9861, -5.2845, 5.2632}, {7.3448, -4.9444, 7.3684}, {8.263, -5.5624, 7.3684}, {7.8593, -5.9451, 5.2632}}], Polygon[{{7.3448, -4.9444, 7.3684}, {7.7128, -4.5958, 9.4737}, {8.6769, -5.1703, 9.4737}, {8.263, -5.5624, 7.3684}}], Polygon[{{7.7128, -4.5958, 9.4737}, {8.0898, -4.2349, 11.579}, {9.101, -4.7643, 11.579}, {8.6769, -5.1703, 9.4737}}], Polygon[{{8.0898, -4.2349, 11.579}, {8.4749, -3.8575, 13.684}, {9.5342, -4.3397, 13.684}, {9.101, -4.7643, 11.579}}], Polygon[{{8.4749, -3.8575, 13.684}, {8.8664, -3.4597, 15.789}, {9.9747, -3.8921, 15.789}, {9.5342, -4.3397, 13.684}}], Polygon[{{8.8664, -3.4597, 15.789}, {9.2621, -3.0377, 17.895}, {10.42, -3.4174, 17.895}, {9.9747, -3.8921, 15.789}}], Polygon[{{9.2621, -3.0377, 17.895}, {9.6593, -2.5882, 20.}, {10.867, -2.9117, 20.}, {10.42, -3.4174, 17.895}}], Polygon[{{2.9117, -10.867, -20.}, {3.4174, -10.42, -17.895}, {3.7971, -11.578, -17.895}, {3.2352, -12.074, -20.}}], Polygon[{{3.4174, -10.42, -17.895}, {3.8921, -9.9747, -15.789}, {4.3246, -11.083, -15.789}, {3.7971, -11.578, -17.895}}], Polygon[{{3.8921, -9.9747, -15.789}, {4.3397, -9.5342, -13.684}, {4.8219, -10.594, -13.684}, {4.3246, -11.083, -15.789}}], Polygon[{{4.3397, -9.5342, -13.684}, {4.7643, -9.101, -11.579}, {5.2937, -10.112, -11.579}, {4.8219, -10.594, -13.684}}], Polygon[{{4.7643, -9.101, -11.579}, {5.1703, -8.6769, -9.4737}, {5.7448, -9.641, -9.4737}, {5.2937, -10.112, -11.579}}], Polygon[{{5.1703, -8.6769, -9.4737}, {5.5624, -8.263, -7.3684}, {6.1804, -9.1811, -7.3684}, {5.7448, -9.641, -9.4737}}], Polygon[{{5.5624, -8.263, -7.3684}, {5.9451, -7.8593, -5.2632}, {6.6057, -8.7326, -5.2632}, {6.1804, -9.1811, -7.3684}}], Polygon[{{5.9451, -7.8593, -5.2632}, {6.3229, -7.4654, -3.1579}, {7.0254, -8.2949, -3.1579}, {6.6057, -8.7326, -5.2632}}], Polygon[{{6.3229, -7.4654, -3.1579}, {6.6998, -7.0797, -1.0526}, {7.4443, -7.8663, -1.0526}, {7.0254, -8.2949, -3.1579}}], Polygon[{{6.6998, -7.0797, -1.0526}, {7.0797, -6.6998, 1.0526}, {7.8663, -7.4443, 1.0526}, {7.4443, -7.8663, -1.0526}}], Polygon[{{7.0797, -6.6998, 1.0526}, {7.4654, -6.3229, 3.1579}, {8.2949, -7.0254, 3.1579}, {7.8663, -7.4443, 1.0526}}], Polygon[{{7.4654, -6.3229, 3.1579}, {7.8593, -5.9451, 5.2632}, {8.7326, -6.6057, 5.2632}, {8.2949, -7.0254, 3.1579}}], Polygon[{{7.8593, -5.9451, 5.2632}, {8.263, -5.5624, 7.3684}, {9.1811, -6.1804, 7.3684}, {8.7326, -6.6057, 5.2632}}], Polygon[{{8.263, -5.5624, 7.3684}, {8.6769, -5.1703, 9.4737}, {9.641, -5.7448, 9.4737}, {9.1811, -6.1804, 7.3684}}], Polygon[{{8.6769, -5.1703, 9.4737}, {9.101, -4.7643, 11.579}, {10.112, -5.2937, 11.579}, {9.641, -5.7448, 9.4737}}], Polygon[{{9.101, -4.7643, 11.579}, {9.5342, -4.3397, 13.684}, {10.594, -4.8219, 13.684}, {10.112, -5.2937, 11.579}}], Polygon[{{9.5342, -4.3397, 13.684}, {9.9747, -3.8921, 15.789}, {11.083, -4.3246, 15.789}, {10.594, -4.8219, 13.684}}], Polygon[{{9.9747, -3.8921, 15.789}, {10.42, -3.4174, 17.895}, {11.578, -3.7971, 17.895}, {11.083, -4.3246, 15.789}}], Polygon[{{10.42, -3.4174, 17.895}, {10.867, -2.9117, 20.}, {12.074, -3.2352, 20.}, {11.578, -3.7971, 17.895}}], Polygon[{{3.2352, -12.074, -20.}, {3.7971, -11.578, -17.895}, {4.1768, -12.735, -17.895}, {3.5588, -13.281, -20.}}], Polygon[{{3.7971, -11.578, -17.895}, {4.3246, -11.083, -15.789}, {4.757, -12.191, -15.789}, {4.1768, -12.735, -17.895}}], Polygon[{{4.3246, -11.083, -15.789}, {4.8219, -10.594, -13.684}, {5.3041, -11.653, -13.684}, {4.757, -12.191, -15.789}}], Polygon[{{4.8219, -10.594, -13.684}, {5.2937, -10.112, -11.579}, {5.823, -11.123, -11.579}, {5.3041, -11.653, -13.684}}], Polygon[{{5.2937, -10.112, -11.579}, {5.7448, -9.641, -9.4737}, {6.3193, -10.605, -9.4737}, {5.823, -11.123, -11.579}}], Polygon[{{5.7448, -9.641, -9.4737}, {6.1804, -9.1811, -7.3684}, {6.7985, -10.099, -7.3684}, {6.3193, -10.605, -9.4737}}], Polygon[{{6.1804, -9.1811, -7.3684}, {6.6057, -8.7326, -5.2632}, {7.2662, -9.6058, -5.2632}, {6.7985, -10.099, -7.3684}}], Polygon[{{6.6057, -8.7326, -5.2632}, {7.0254, -8.2949, -3.1579}, {7.7279, -9.1244, -3.1579}, {7.2662, -9.6058, -5.2632}}], Polygon[{{7.0254, -8.2949, -3.1579}, {7.4443, -7.8663, -1.0526}, {8.1887, -8.6529, -1.0526}, {7.7279, -9.1244, -3.1579}}], Polygon[{{7.4443, -7.8663, -1.0526}, {7.8663, -7.4443, 1.0526}, {8.6529, -8.1887, 1.0526}, {8.1887, -8.6529, -1.0526}}], Polygon[{{7.8663, -7.4443, 1.0526}, {8.2949, -7.0254, 3.1579}, {9.1244, -7.7279, 3.1579}, {8.6529, -8.1887, 1.0526}}], Polygon[{{8.2949, -7.0254, 3.1579}, {8.7326, -6.6057, 5.2632}, {9.6058, -7.2662, 5.2632}, {9.1244, -7.7279, 3.1579}}], Polygon[{{8.7326, -6.6057, 5.2632}, {9.1811, -6.1804, 7.3684}, {10.099, -6.7985, 7.3684}, {9.6058, -7.2662, 5.2632}}], Polygon[{{9.1811, -6.1804, 7.3684}, {9.641, -5.7448, 9.4737}, {10.605, -6.3193, 9.4737}, {10.099, -6.7985, 7.3684}}], Polygon[{{9.641, -5.7448, 9.4737}, {10.112, -5.2937, 11.579}, {11.123, -5.823, 11.579}, {10.605, -6.3193, 9.4737}}], Polygon[{{10.112, -5.2937, 11.579}, {10.594, -4.8219, 13.684}, {11.653, -5.3041, 13.684}, {11.123, -5.823, 11.579}}], Polygon[{{10.594, -4.8219, 13.684}, {11.083, -4.3246, 15.789}, {12.191, -4.757, 15.789}, {11.653, -5.3041, 13.684}}], Polygon[{{11.083, -4.3246, 15.789}, {11.578, -3.7971, 17.895}, {12.735, -4.1768, 17.895}, {12.191, -4.757, 15.789}}], Polygon[{{11.578, -3.7971, 17.895}, {12.074, -3.2352, 20.}, {13.281, -3.5588, 20.}, {12.735, -4.1768, 17.895}}], Polygon[{{3.5588, -13.281, -20.}, {4.1768, -12.735, -17.895}, {4.5565, -13.893, -17.895}, {3.8823, -14.489, -20.}}], Polygon[{{4.1768, -12.735, -17.895}, {4.757, -12.191, -15.789}, {5.1895, -13.3, -15.789}, {4.5565, -13.893, -17.895}}], Polygon[{{4.757, -12.191, -15.789}, {5.3041, -11.653, -13.684}, {5.7863, -12.712, -13.684}, {5.1895, -13.3, -15.789}}], Polygon[{{5.3041, -11.653, -13.684}, {5.823, -11.123, -11.579}, {6.3524, -12.135, -11.579}, {5.7863, -12.712, -13.684}}], Polygon[{{5.823, -11.123, -11.579}, {6.3193, -10.605, -9.4737}, {6.8938, -11.569, -9.4737}, {6.3524, -12.135, -11.579}}], Polygon[{{6.3193, -10.605, -9.4737}, {6.7985, -10.099, -7.3684}, {7.4165, -11.017, -7.3684}, {6.8938, -11.569, -9.4737}}], Polygon[{{6.7985, -10.099, -7.3684}, {7.2662, -9.6058, -5.2632}, {7.9268, -10.479, -5.2632}, {7.4165, -11.017, -7.3684}}], Polygon[{{7.2662, -9.6058, -5.2632}, {7.7279, -9.1244, -3.1579}, {8.4305, -9.9539, -3.1579}, {7.9268, -10.479, -5.2632}}], Polygon[{{7.7279, -9.1244, -3.1579}, {8.1887, -8.6529, -1.0526}, {8.9331, -9.4396, -1.0526}, {8.4305, -9.9539, -3.1579}}], Polygon[{{8.1887, -8.6529, -1.0526}, {8.6529, -8.1887, 1.0526}, {9.4396, -8.9331, 1.0526}, {8.9331, -9.4396, -1.0526}}], Polygon[{{8.6529, -8.1887, 1.0526}, {9.1244, -7.7279, 3.1579}, {9.9539, -8.4305, 3.1579}, {9.4396, -8.9331, 1.0526}}], Polygon[{{9.1244, -7.7279, 3.1579}, {9.6058, -7.2662, 5.2632}, {10.479, -7.9268, 5.2632}, {9.9539, -8.4305, 3.1579}}], Polygon[{{9.6058, -7.2662, 5.2632}, {10.099, -6.7985, 7.3684}, {11.017, -7.4165, 7.3684}, {10.479, -7.9268, 5.2632}}], Polygon[{{10.099, -6.7985, 7.3684}, {10.605, -6.3193, 9.4737}, {11.569, -6.8938, 9.4737}, {11.017, -7.4165, 7.3684}}], Polygon[{{10.605, -6.3193, 9.4737}, {11.123, -5.823, 11.579}, {12.135, -6.3524, 11.579}, {11.569, -6.8938, 9.4737}}], Polygon[{{11.123, -5.823, 11.579}, {11.653, -5.3041, 13.684}, {12.712, -5.7863, 13.684}, {12.135, -6.3524, 11.579}}], Polygon[{{11.653, -5.3041, 13.684}, {12.191, -4.757, 15.789}, {13.3, -5.1895, 15.789}, {12.712, -5.7863, 13.684}}], Polygon[{{12.191, -4.757, 15.789}, {12.735, -4.1768, 17.895}, {13.893, -4.5565, 17.895}, {13.3, -5.1895, 15.789}}], Polygon[{{12.735, -4.1768, 17.895}, {13.281, -3.5588, 20.}, {14.489, -3.8823, 20.}, {13.893, -4.5565, 17.895}}]}, {Polygon[{{9.6593, 2.5882, -20.}, {9.2621, 3.0377, -17.895}, {10.42, 3.4174, -17.895}, {10.867, 2.9117, -20.}}], Polygon[{{9.2621, 3.0377, -17.895}, {8.8664, 3.4597, -15.789}, {9.9747, 3.8921, -15.789}, {10.42, 3.4174, -17.895}}], Polygon[{{8.8664, 3.4597, -15.789}, {8.4749, 3.8575, -13.684}, {9.5342, 4.3397, -13.684}, {9.9747, 3.8921, -15.789}}], Polygon[{{8.4749, 3.8575, -13.684}, {8.0898, 4.2349, -11.579}, {9.101, 4.7643, -11.579}, {9.5342, 4.3397, -13.684}}], Polygon[{{8.0898, 4.2349, -11.579}, {7.7128, 4.5958, -9.4737}, {8.6769, 5.1703, -9.4737}, {9.101, 4.7643, -11.579}}], Polygon[{{7.7128, 4.5958, -9.4737}, {7.3448, 4.9444, -7.3684}, {8.263, 5.5624, -7.3684}, {8.6769, 5.1703, -9.4737}}], Polygon[{{7.3448, 4.9444, -7.3684}, {6.9861, 5.2845, -5.2632}, {7.8593, 5.9451, -5.2632}, {8.263, 5.5624, -7.3684}}], Polygon[{{6.9861, 5.2845, -5.2632}, {6.6359, 5.6203, -3.1579}, {7.4654, 6.3229, -3.1579}, {7.8593, 5.9451, -5.2632}}], Polygon[{{6.6359, 5.6203, -3.1579}, {6.293, 5.9554, -1.0526}, {7.0797, 6.6998, -1.0526}, {7.4654, 6.3229, -3.1579}}], Polygon[{{6.293, 5.9554, -1.0526}, {5.9554, 6.293, 1.0526}, {6.6998, 7.0797, 1.0526}, {7.0797, 6.6998, -1.0526}}], Polygon[{{5.9554, 6.293, 1.0526}, {5.6203, 6.6359, 3.1579}, {6.3229, 7.4654, 3.1579}, {6.6998, 7.0797, 1.0526}}], Polygon[{{5.6203, 6.6359, 3.1579}, {5.2845, 6.9861, 5.2632}, {5.9451, 7.8593, 5.2632}, {6.3229, 7.4654, 3.1579}}], Polygon[{{5.2845, 6.9861, 5.2632}, {4.9444, 7.3448, 7.3684}, {5.5624, 8.263, 7.3684}, {5.9451, 7.8593, 5.2632}}], Polygon[{{4.9444, 7.3448, 7.3684}, {4.5958, 7.7128, 9.4737}, {5.1703, 8.6769, 9.4737}, {5.5624, 8.263, 7.3684}}], Polygon[{{4.5958, 7.7128, 9.4737}, {4.2349, 8.0898, 11.579}, {4.7643, 9.101, 11.579}, {5.1703, 8.6769, 9.4737}}], Polygon[{{4.2349, 8.0898, 11.579}, {3.8575, 8.4749, 13.684}, {4.3397, 9.5342, 13.684}, {4.7643, 9.101, 11.579}}], Polygon[{{3.8575, 8.4749, 13.684}, {3.4597, 8.8664, 15.789}, {3.8921, 9.9747, 15.789}, {4.3397, 9.5342, 13.684}}], Polygon[{{3.4597, 8.8664, 15.789}, {3.0377, 9.2621, 17.895}, {3.4174, 10.42, 17.895}, {3.8921, 9.9747, 15.789}}], Polygon[{{3.0377, 9.2621, 17.895}, {2.5882, 9.6593, 20.}, {2.9117, 10.867, 20.}, {3.4174, 10.42, 17.895}}], Polygon[{{10.867, 2.9117, -20.}, {10.42, 3.4174, -17.895}, {11.578, 3.7971, -17.895}, {12.074, 3.2352, -20.}}], Polygon[{{10.42, 3.4174, -17.895}, {9.9747, 3.8921, -15.789}, {11.083, 4.3246, -15.789}, {11.578, 3.7971, -17.895}}], Polygon[{{9.9747, 3.8921, -15.789}, {9.5342, 4.3397, -13.684}, {10.594, 4.8219, -13.684}, {11.083, 4.3246, -15.789}}], Polygon[{{9.5342, 4.3397, -13.684}, {9.101, 4.7643, -11.579}, {10.112, 5.2937, -11.579}, {10.594, 4.8219, -13.684}}], Polygon[{{9.101, 4.7643, -11.579}, {8.6769, 5.1703, -9.4737}, {9.641, 5.7448, -9.4737}, {10.112, 5.2937, -11.579}}], Polygon[{{8.6769, 5.1703, -9.4737}, {8.263, 5.5624, -7.3684}, {9.1811, 6.1804, -7.3684}, {9.641, 5.7448, -9.4737}}], Polygon[{{8.263, 5.5624, -7.3684}, {7.8593, 5.9451, -5.2632}, {8.7326, 6.6057, -5.2632}, {9.1811, 6.1804, -7.3684}}], Polygon[{{7.8593, 5.9451, -5.2632}, {7.4654, 6.3229, -3.1579}, {8.2949, 7.0254, -3.1579}, {8.7326, 6.6057, -5.2632}}], Polygon[{{7.4654, 6.3229, -3.1579}, {7.0797, 6.6998, -1.0526}, {7.8663, 7.4443, -1.0526}, {8.2949, 7.0254, -3.1579}}], Polygon[{{7.0797, 6.6998, -1.0526}, {6.6998, 7.0797, 1.0526}, {7.4443, 7.8663, 1.0526}, {7.8663, 7.4443, -1.0526}}], Polygon[{{6.6998, 7.0797, 1.0526}, {6.3229, 7.4654, 3.1579}, {7.0254, 8.2949, 3.1579}, {7.4443, 7.8663, 1.0526}}], Polygon[{{6.3229, 7.4654, 3.1579}, {5.9451, 7.8593, 5.2632}, {6.6057, 8.7326, 5.2632}, {7.0254, 8.2949, 3.1579}}], Polygon[{{5.9451, 7.8593, 5.2632}, {5.5624, 8.263, 7.3684}, {6.1804, 9.1811, 7.3684}, {6.6057, 8.7326, 5.2632}}], Polygon[{{5.5624, 8.263, 7.3684}, {5.1703, 8.6769, 9.4737}, {5.7448, 9.641, 9.4737}, {6.1804, 9.1811, 7.3684}}], Polygon[{{5.1703, 8.6769, 9.4737}, {4.7643, 9.101, 11.579}, {5.2937, 10.112, 11.579}, {5.7448, 9.641, 9.4737}}], Polygon[{{4.7643, 9.101, 11.579}, {4.3397, 9.5342, 13.684}, {4.8219, 10.594, 13.684}, {5.2937, 10.112, 11.579}}], Polygon[{{4.3397, 9.5342, 13.684}, {3.8921, 9.9747, 15.789}, {4.3246, 11.083, 15.789}, {4.8219, 10.594, 13.684}}], Polygon[{{3.8921, 9.9747, 15.789}, {3.4174, 10.42, 17.895}, {3.7971, 11.578, 17.895}, {4.3246, 11.083, 15.789}}], Polygon[{{3.4174, 10.42, 17.895}, {2.9117, 10.867, 20.}, {3.2352, 12.074, 20.}, {3.7971, 11.578, 17.895}}], Polygon[{{12.074, 3.2352, -20.}, {11.578, 3.7971, -17.895}, {12.735, 4.1768, -17.895}, {13.281, 3.5588, -20.}}], Polygon[{{11.578, 3.7971, -17.895}, {11.083, 4.3246, -15.789}, {12.191, 4.757, -15.789}, {12.735, 4.1768, -17.895}}], Polygon[{{11.083, 4.3246, -15.789}, {10.594, 4.8219, -13.684}, {11.653, 5.3041, -13.684}, {12.191, 4.757, -15.789}}], Polygon[{{10.594, 4.8219, -13.684}, {10.112, 5.2937, -11.579}, {11.123, 5.823, -11.579}, {11.653, 5.3041, -13.684}}], Polygon[{{10.112, 5.2937, -11.579}, {9.641, 5.7448, -9.4737}, {10.605, 6.3193, -9.4737}, {11.123, 5.823, -11.579}}], Polygon[{{9.641, 5.7448, -9.4737}, {9.1811, 6.1804, -7.3684}, {10.099, 6.7985, -7.3684}, {10.605, 6.3193, -9.4737}}], Polygon[{{9.1811, 6.1804, -7.3684}, {8.7326, 6.6057, -5.2632}, {9.6058, 7.2662, -5.2632}, {10.099, 6.7985, -7.3684}}], Polygon[{{8.7326, 6.6057, -5.2632}, {8.2949, 7.0254, -3.1579}, {9.1244, 7.7279, -3.1579}, {9.6058, 7.2662, -5.2632}}], Polygon[{{8.2949, 7.0254, -3.1579}, {7.8663, 7.4443, -1.0526}, {8.6529, 8.1887, -1.0526}, {9.1244, 7.7279, -3.1579}}], Polygon[{{7.8663, 7.4443, -1.0526}, {7.4443, 7.8663, 1.0526}, {8.1887, 8.6529, 1.0526}, {8.6529, 8.1887, -1.0526}}], Polygon[{{7.4443, 7.8663, 1.0526}, {7.0254, 8.2949, 3.1579}, {7.7279, 9.1244, 3.1579}, {8.1887, 8.6529, 1.0526}}], Polygon[{{7.0254, 8.2949, 3.1579}, {6.6057, 8.7326, 5.2632}, {7.2662, 9.6058, 5.2632}, {7.7279, 9.1244, 3.1579}}], Polygon[{{6.6057, 8.7326, 5.2632}, {6.1804, 9.1811, 7.3684}, {6.7985, 10.099, 7.3684}, {7.2662, 9.6058, 5.2632}}], Polygon[{{6.1804, 9.1811, 7.3684}, {5.7448, 9.641, 9.4737}, {6.3193, 10.605, 9.4737}, {6.7985, 10.099, 7.3684}}], Polygon[{{5.7448, 9.641, 9.4737}, {5.2937, 10.112, 11.579}, {5.823, 11.123, 11.579}, {6.3193, 10.605, 9.4737}}], Polygon[{{5.2937, 10.112, 11.579}, {4.8219, 10.594, 13.684}, {5.3041, 11.653, 13.684}, {5.823, 11.123, 11.579}}], Polygon[{{4.8219, 10.594, 13.684}, {4.3246, 11.083, 15.789}, {4.757, 12.191, 15.789}, {5.3041, 11.653, 13.684}}], Polygon[{{4.3246, 11.083, 15.789}, {3.7971, 11.578, 17.895}, {4.1768, 12.735, 17.895}, {4.757, 12.191, 15.789}}], Polygon[{{3.7971, 11.578, 17.895}, {3.2352, 12.074, 20.}, {3.5588, 13.281, 20.}, {4.1768, 12.735, 17.895}}], Polygon[{{13.281, 3.5588, -20.}, {12.735, 4.1768, -17.895}, {13.893, 4.5565, -17.895}, {14.489, 3.8823, -20.}}], Polygon[{{12.735, 4.1768, -17.895}, {12.191, 4.757, -15.789}, {13.3, 5.1895, -15.789}, {13.893, 4.5565, -17.895}}], Polygon[{{12.191, 4.757, -15.789}, {11.653, 5.3041, -13.684}, {12.712, 5.7863, -13.684}, {13.3, 5.1895, -15.789}}], Polygon[{{11.653, 5.3041, -13.684}, {11.123, 5.823, -11.579}, {12.135, 6.3524, -11.579}, {12.712, 5.7863, -13.684}}], Polygon[{{11.123, 5.823, -11.579}, {10.605, 6.3193, -9.4737}, {11.569, 6.8938, -9.4737}, {12.135, 6.3524, -11.579}}], Polygon[{{10.605, 6.3193, -9.4737}, {10.099, 6.7985, -7.3684}, {11.017, 7.4165, -7.3684}, {11.569, 6.8938, -9.4737}}], Polygon[{{10.099, 6.7985, -7.3684}, {9.6058, 7.2662, -5.2632}, {10.479, 7.9268, -5.2632}, {11.017, 7.4165, -7.3684}}], Polygon[{{9.6058, 7.2662, -5.2632}, {9.1244, 7.7279, -3.1579}, {9.9539, 8.4305, -3.1579}, {10.479, 7.9268, -5.2632}}], Polygon[{{9.1244, 7.7279, -3.1579}, {8.6529, 8.1887, -1.0526}, {9.4396, 8.9331, -1.0526}, {9.9539, 8.4305, -3.1579}}], Polygon[{{8.6529, 8.1887, -1.0526}, {8.1887, 8.6529, 1.0526}, {8.9331, 9.4396, 1.0526}, {9.4396, 8.9331, -1.0526}}], Polygon[{{8.1887, 8.6529, 1.0526}, {7.7279, 9.1244, 3.1579}, {8.4305, 9.9539, 3.1579}, {8.9331, 9.4396, 1.0526}}], Polygon[{{7.7279, 9.1244, 3.1579}, {7.2662, 9.6058, 5.2632}, {7.9268, 10.479, 5.2632}, {8.4305, 9.9539, 3.1579}}], Polygon[{{7.2662, 9.6058, 5.2632}, {6.7985, 10.099, 7.3684}, {7.4165, 11.017, 7.3684}, {7.9268, 10.479, 5.2632}}], Polygon[{{6.7985, 10.099, 7.3684}, {6.3193, 10.605, 9.4737}, {6.8938, 11.569, 9.4737}, {7.4165, 11.017, 7.3684}}], Polygon[{{6.3193, 10.605, 9.4737}, {5.823, 11.123, 11.579}, {6.3524, 12.135, 11.579}, {6.8938, 11.569, 9.4737}}], Polygon[{{5.823, 11.123, 11.579}, {5.3041, 11.653, 13.684}, {5.7863, 12.712, 13.684}, {6.3524, 12.135, 11.579}}], Polygon[{{5.3041, 11.653, 13.684}, {4.757, 12.191, 15.789}, {5.1895, 13.3, 15.789}, {5.7863, 12.712, 13.684}}], Polygon[{{4.757, 12.191, 15.789}, {4.1768, 12.735, 17.895}, {4.5565, 13.893, 17.895}, {5.1895, 13.3, 15.789}}], Polygon[{{4.1768, 12.735, 17.895}, {3.5588, 13.281, 20.}, {3.8823, 14.489, 20.}, {4.5565, 13.893, 17.895}}]}}, {AmbientLight -> GrayLevel[0.15], PlotRange -> Automatic, DisplayFunction :> $DisplayFunction, ColorOutput -> Automatic, Axes -> True, PlotLabel -> None, AxesLabel -> {"x", "y", "z"}, Ticks -> Automatic, Prolog -> {}, Epilog -> {}, AxesStyle -> Automatic, Background -> Automatic, DefaultColor -> Automatic, DefaultFont :> $DefaultFont, AspectRatio -> Automatic, ViewPoint -> {1.3, -2.4, 2.}, Boxed -> True, BoxRatios -> Automatic, Plot3Matrix -> Automatic, Lighting -> True, AmbientLight -> GrayLevel[0.], LightSources -> {{{1., 0., 1.}, RGBColor[1., 0., 0.]}, {{1., 1., 1.}, RGBColor[0., 1., 0.]}, {{0., 1., 1.}, RGBColor[0., 0., 1.]}}, ViewCenter -> Automatic, PlotRegion -> Automatic, ImageSize -> Automatic, TextStyle :> {FontFamily -> "Times", FontSize -> 16.}, FormatType :> $FormatType, ViewVertical -> {0., 0., 1.}, FaceGrids -> None, Shading -> True, RenderAll -> True, PolygonIntersections -> True, AxesEdge -> Automatic, BoxStyle -> Automatic, SphericalRegion -> False}]
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/diff.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/diff.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/diff.txt	(revision 904)
@@ -0,0 +1,736 @@
+2,3d1
+< 
+< <head>
+6,8d3
+< <base target="_blank">
+< </head>
+< 
+107,119d101
+<  <P>
+<  &nbsp;<table border="0" width="100%" id="table1">
+< 	<tr>
+< 		<td width="456" valign="top">G4Box(const G4String&amp; pName,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pX,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pY,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pZ)<p>&nbsp;</p>
+< 		<p><font size="1">pX</font><font size="1"> = 30, pY</font><font size="1"> 
+< 		= 40, pZ</font><font size="1"> = 60</font></td>
+< 		<td><a href="aBox.html">
+< 		<img border="0" src="aBox.jpg"></a></td>
+< 	</tr>
+< </table>
+121c103,108
+<    </PRE>by giving the box a name and its half-lengths along the X, Y and Z axis:</P>
+---
+>    G4Box(const G4String&amp; pName,
+>                G4double  pX,
+>                G4double  pY,
+>                G4double  pZ)
+>  </PRE>
+>  by giving the box a name and its half-lengths along the X, Y and Z axis:</P>
+125c112
+<   <td><tt>pX</tt><td>half ength in X
+---
+>   <td><tt>pX</tt><td>half length in X
+135c122,123
+<  <PRE>   G4Box* aBox = new G4Box("BoxA", 1.0*cm, 3.0*cm, 5.0*cm);
+---
+>  <PRE>
+>    G4Box* aBox = new G4Box("BoxA", 1.0*cm, 3.0*cm, 5.0*cm);
+140,157c128,136
+<  <P>
+<  &nbsp;<table border="0" width="100%" id="table2">
+< 	<tr>
+< 		<td width="457" valign="top">G4Tubs(const G4String&amp; pName,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pRMin,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pRMax,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pDz,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pSPhi,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pDPhi)<p>&nbsp;</p>
+< 		<p>&nbsp;</p>
+< 		<p><font size="1">pRMin = 10, pRMax = 15, pDz = 20<br>
+< 		                  pSPhi = 0*Degree, pDPhi = 90*Degree</font></p></td>
+< 		<td><a href="aTubs.html">
+< 		<img border="0" src="aTubs.jpg"></a></td>
+< 	</tr>
+< </table>
+< <p>&nbsp;</p>
+<  giving its name <tt>pName</tt> and s parameters which are</P>
+---
+>  <PRE>
+>    G4Tubs(const G4String&amp; pName,
+>                 G4double  pRMin,
+>                 G4double  pRMax,
+>                 G4double  pDz,
+>                 G4double  pSPhi,
+>                 G4double  pDPhi)
+>  </PRE>
+>  giving its name <tt>pName</tt> and its parameters which are</P>
+168c147
+<   <td>&nbsp;<td>&n&nbsp;
+---
+>   <td>&nbsp;<td>&nbsp;
+172,192d150
+<  <P>
+<  &nbsp;<table border="0" width="100%" id="table3">
+< 	<tr>
+< 		<td width="458" valign="top">G4Cons(const G4String&amp; pName, <br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+< G4double&nbsp; pRmin1,<br>
+< 
+< 		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+< 		G4double&nbsp; pRmax1,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pRmin2,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pRmax2,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pDz,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+< G4double&nbsp; pSPhi,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pDPhi)<p>
+< 		<font size="1">pRmin1 = 5, pRmax1 = 10, pRmin2 = 20, pRmax2 = 25<br>
+< 		pDz = 40, pSPhi = 0, pDPhi = 4/3*Pi</font></td>
+< 		<td><a href="aCons.html">
+< 		<img border="0" src="aCons.jpg"></a></td>
+< 	</tr>
+< </table>
+194c152,156
+<         
+---
+>         G4Cons(const G4String&amp; pName,
+>                      G4double  pRmin1, G4double pRmax1,
+>                      G4double  pRmin2, G4double pRmax2,
+>                      G4double  pDz,
+>                      G4double  pSPhi, G4double pDPhi)
+196c158
+<  giving its name <tt>pName</tt>, and ts parameters which are</P>
+---
+>  giving its name <tt>pName</tt>, and its parameters which are</P>
+200,201c162,163
+<   <TD><tt>pRmin1 <td>inside radius at  <tt>-pDz</tt> 
+<   <TD><tt>pRmax1 <td>outside radius at <tt>-pDz</tt>  
+---
+>   <TD><tt>pRmin1</tt> <td>inside radius at  <tt>-pDz</tt> 
+>   <TD><tt>pRmax1</tt> <td>outside radius at <tt>-pDz</tt>  
+203,204c165,166
+<   <TD><tt>pRmin2 <td>inside radius at  <tt>+pDz</tt> 
+<   <TD><tt>pRmax2 <td>outside radius at <tt>+pDz</tt>  
+---
+>   <TD><tt>pRmin2</tt> <td>inside radius at  <tt>+pDz</tt> 
+>   <TD><tt>pRmax2</tt> <td>outside radius at <tt>+pDz</tt> 
+214,231d175
+<  <P>
+<  &nbsp;<table border="0" width="100%" id="table4">
+< 	<tr>
+< 		<td width="459" valign="top">G4Para(const G4String&amp; pName,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;G4double&nbsp; dx,<br>
+< 		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+< 		G4double&nbsp; dy,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+< G4double&nbsp; dz,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;G4double&nbsp; alpha,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; theta, <br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+< G4double&nbsp; phi )<p><font size="1">dx = 30, dy = 40, dz = 60<br>alpha = 10*Degree, 
+< 		theta = 20*Degree, phi = 5*Degree</font></td>
+< 		<td><a href="aPara.html">
+< 		<img border="0" src="aPara.jpg"></a></td>
+< 	</tr>
+< </table>
+233c177,179
+<           
+---
+>           G4Para(const G4String&amp; pName,
+>                        G4double  dx, G4double dy, G4double dz,
+>                        G4double  alpha, G4double theta, G4double phi)
+235c181
+<  giving its name <tt>pName</tt> and ts parameters which are</P>
+---
+>  giving its name <tt>pName</tt> and its parameters which are</P>
+245c191
+<   <TD valign=top><tt>theta <td>Polar angle of the line joining the centres of the
+---
+>   <TD valign=top><tt>theta</tt> <td>Polar angle of the line joining the centres of the
+253,268d198
+<  <P>
+<  &nbsp;<table border="0" width="100%" id="table5">
+< 	<tr>
+< 		<td valign="top" width="459">G4Trd( const G4String&amp; pName,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; dx1,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+< G4double&nbsp; dx2,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; dy1,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+< G4double&nbsp; dy2,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; dz )<p>
+< 		<font size="1">dx1 = 30, dx2 = 10<br>dy1 = 40, dy2 = 15<br>dz = 60</font></td>
+< 		<td><a href="aTrd.html">
+< 		<img border="0" src="aTrd.jpg"></a></td>
+< 	</tr>
+< </table>
+270c200,203
+<    
+---
+>    G4Trd( const G4String&amp; pName,
+>                 G4double  dx1, G4double dx2,
+>                 G4double  dy1, G4double dy2,
+>                 G4double  dz )
+287,319c220,221
+<  To build a generic trapezoid, the <tt>G4Trap</tt> class is provided. Here are 
+< 	the two costructors for a Right Angular Wedge and for the general trapezoid for it:
+<  <P>
+<  &nbsp;<table border="0" width="100%" id="table6">
+< 	<tr>
+< 		<td valign="top" width="459">G4Trap( const G4String&amp; pName,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp;&nbsp; pZ,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+< G4double&nbsp;&nbsp; pY,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+< G4double&nbsp;&nbsp; pX,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; G4double&nbsp;&nbsp; pLTX )<p>
+< 		G4Trap( const G4String&amp; pName,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+< 		G4double&nbsp; pDz,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+< 		G4double&nbsp; pTheta, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pPhi,<br>
+< 		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+< 		G4double&nbsp; pDy1, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pDx1, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pDx2,<br>
+< 		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+< 		G4double&nbsp; pAlp1,<br>
+< 		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+< 		G4double&nbsp; pDy2, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pDx3, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pDx4,<br>
+< 		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+< 		G4double&nbsp; pAlp2 )<p>
+< 		<font size="1">pDx1 = 30, pDx2 = 40, pDy1 = 40<br>pDx3 = 10, pDx4 = 14, 
+< 		pDy2 = 16<br>
+< 		pDz = 60<br>pTheta = 20*Degree, pDphi = 5*Degree<br>pAlph1 = pAlph2 = 
+< 		10*Degree</font></td>
+< 		<td><a href="aTrap.html">
+< 		<img border="0" src="aTrap.jpg"><br></a></td>
+< 	</tr>
+< </table>
+---
+>  To build a generic trapezoid, the <tt>G4Trap</tt> class is provided. Here is the
+>  simplest costructor for Right Angular Wedge defined for it:
+321,322c223,227
+< &nbsp;</PRE>
+<  to obtain a Right Angular Wedge with name <tt>pName</tt> and parameters</P>
+---
+>    G4Trap( const G4String&amp; pName,
+>                  G4double  pZ, G4double pY, G4double pX,
+>                  G4double  pLTX )
+>  </PRE>
+>  to obtain a solid with name <tt>pName</tt> and parameters</P>
+334,363d238
+< <p>or to obtain the general trapezoid (see the Software Reference Manual):</p>
+<  <table border=1 cellpadding=8 id="table31">
+<  <tr>
+<   <td><tt>pDx1</tt><td>Half x length at y=-pDy
+<  <tr>
+<   <td><tt>pDx2</tt><td>Half x length at y=+pDy
+<  <tr>
+<   <td><tt>pDy</tt><td>Half y length
+<  <tr>
+<   <td><tt>pDz</tt><td>Half z length
+<  <tr>
+<   <td><tt>pTheta</tt><td>Polar angle of the line joining the centres of the faces at -/+pDz
+<  <tr>
+<   <td><tt>pDy1</tt><td>Half y length at -pDz
+<  <tr>
+<   <td><tt>pDx1</tt><td>Half x length at -pDz, y=-pDy1
+<  <tr>
+<   <td><tt>pDx2</tt><td>Half x length at -pDz, y=+pDy1
+<  <tr>
+<   <td><tt>pDy2</tt><td>Half y length at +pDz
+<  <tr>
+<   <td><tt>pDx3</tt><td>Half x length at +pDz, y=-pDy2
+<  <tr>
+<   <td><tt>pDx4</tt><td>Half x length at +pDz, y=+pDy2
+<  <tr>
+<   <td><tt>pAlph1</tt><td>Angle with respect to the y axis from the centre of the side 
+< 	(lower endcap)</tr>
+<  <tr>
+<   <td><tt>pAlph2</tt><td>Angle with respect to the y axis from the centre of the side 
+< 	(upper endcap)</table>
+365,368c240
+<  Note on pAlph1/2: The two angles have to be the same due to the planarity 
+< 	condition.<P>
+<  &nbsp;<P>
+<  To build a sphere use:
+---
+>  For the complete set of constructors see the Software Reference Manual.</P>
+370,387c242,248
+<  &nbsp;<table border="0" width="100%" id="table7">
+< 	<tr>
+< 		<td valign="top" width="458">G4Sphere( const G4String&amp; pName,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pRmin,<br>
+<  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+<  G4double&nbsp; pRmax,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pSPhi, <br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+< G4double&nbsp; pDPhi,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pSTheta, <br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+< G4double&nbsp; pDTheta )<p><font size="1">pRmin = 100, pRmax = 120<br>pSPhi = 0*Degree, pDPhi 
+< 		= 180*Degree<br>pSTheta = 0 Degree, pDTheta = 180*Degree</font></td>
+< 		<td><a href="aSphere.html">
+< 		<img border="0" src="aSphere.jpg"></a></td>
+< 	</tr>
+< </table>
+<  <p>&nbsp;</p>
+---
+>  To build a sphere use:
+>  <PRE>
+>    G4Sphere( const G4String&amp; pName,
+>                    G4double  pRmin, G4double pRmax,
+>                    G4double  pSPhi, G4double pDPhi,
+>                    G4double  pSTheta, G4double pDTheta )
+>  </PRE>
+403,420c264
+<  </table>
+< <p>To build a full solid sphere use:</p>
+< <table border="0" width="100%" id="table29">
+< 	<tr>
+< 		<td width="459" valign="top">G4Orb(const G4String&amp; pName, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double pRmax)<p>&nbsp;</p>
+< 		<p><font size="1">pRmax = 100</font></td>
+< 		<td><a href="aOrb.html">
+< 		<img border="0" src="aOrb.jpg"></a></td>
+< 	</tr>
+< </table>
+< <p>The Orb is can be obtained from a Sphere with&nbsp; <tt>pRmin</tt>= 0, <tt>pSPhi</tt> 
+< = 0, <tt>pDPhi</tt> = 2 Pi, <tt>pSTheta  </tt>= 0,&nbsp; <tt>pDTheta</tt> = Pi. </p>
+<  <table border=1 cellpadding=8 id="table30">
+<  <tr>
+<   <TD><tt>pRmax</tt> <td>Outer radius
+<  </table>
+< <p>&nbsp;</p>
+< </P>
+---
+>  </table></P>
+423,434d266
+<  <p>
+<  &nbsp;<table border="0" width="100%" id="table8">
+< 	<tr>
+< 		<td valign="top" width="457">G4Torus( const G4String&amp; pName,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pRmin,<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pRmax,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pRtor, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pSPhi, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pDPhi )<p>
+< 		<font size="1">pRmin = 40, pRmax = 60, pRtor = 200<br> pSPhi = 0, 
+< 		pDPhi = 90*Degree</font></td>
+< 		<td><a href="aTorus.html">
+< 		<img border="0" src="aTorus.jpg"></a></td>
+< 	</tr>
+< </table>
+436c268,270
+<   
+---
+>   G4Torus( const G4String&amp; pName,
+>                  G4double  pRmin, G4double pRmax,
+>                  G4double  pRtor, G4double pSPhi, G4double pDPhi )
+463,489d296
+< <P>
+<  &nbsp;<table border="0" width="100%" id="table9">
+< 	<tr>
+< 		<td valign="top" width="459">G4Polycone( const G4String&amp; pName, <br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; phiStart,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; phiTotal,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; numZPlanes,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const G4double&nbsp; zPlane[],<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+< 		const G4double&nbsp; rInner[],<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const G4double&nbsp; rOuter[])<br>
+< 		<br>
+< &nbsp;&nbsp; G4Polycone( const G4String&amp; pName, <br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; phiStart,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; phiTotal,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; numRZ,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const G4double&nbsp; r[],<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const G4double&nbsp; z[])<p>
+< 		<font size="1">phiStart = 0*Degree, phiTotal = 2*Pi<br>
+< 		numZPlanes = 9<br>
+< 		rInner = { 0, 0, 0, 0, 0, 0, 0, 0, 0}<br>
+< 		rOuter = { 0, 10, 10, 5 , 5, 10 , 10 , 2, 2}<br> 
+< 		z = { 5, 7, 9, 11, 25, 27, 29, 31, 35 }</font></td>
+< 		<td><a href="aBREPSolidPCone.html">
+< 		<img border="0" src="aBREPSolidPCone.jpg"></a></td>
+< 	</tr>
+< </table>
+491c298,311
+<    
+---
+>    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[])
+518,548d337
+< <P>
+< 
+<  &nbsp;<table border="0" width="100%" id="table10">
+< 	<tr>
+< 		<td valign="top" width="461">G4Polyhedra( const G4String&amp; pName, <br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp;&nbsp; phiStart,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp;&nbsp; phiTotal,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; numSide,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; numZPlanes,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const G4double&nbsp; zPlane[],<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const G4double&nbsp; rInner[],<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const G4double&nbsp; rOuter[]&nbsp; )<br>
+< 		<br>
+< &nbsp;&nbsp; G4Polyhedra( const G4String&amp; pName, <br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp;&nbsp; phiStart,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp;&nbsp; phiTotal,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; numSide,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; numRZ,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const G4double&nbsp;&nbsp; r[],<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const G4double&nbsp;&nbsp; z[] )<p>
+< 		<font size="1">phiStart = 0, phiTotal= 2 Pi<br>
+< 		numSide = 5, nunZPlanes = 7<br>
+< 		rInner = { 0, 0, 0, 0, 0, 0, 0 }<br>
+< 		rOuter = { 0, 15, 15, 4, 4, 10, 10 }<br>
+< 		z = { 0, 5, 8, 13 , 30, 32, 35 }</font><br>
+< 		<br>
+< 		&nbsp;</td>
+< 		<td><a href="aBREPSolidPolyhedra.html">
+< 		<img border="0" src="aBREPSolidPolyhedra.jpg"></a></td>
+< 	</tr>
+< </table>
+550c339,354
+<    
+---
+>    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[] )
+578,590d381
+< <P>
+<  &nbsp;<table border="0" width="100%" id="table11">
+< 	<tr>
+< 		<td valign="top" width="457">G4EllipticalTube( const G4String&amp; pName,
+< 		<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; Dx,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; Dy,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; Dz )<p>&nbsp;</p>
+< 		<p><font size="1">Dx = 5, Dy = 10, Dz = 20</font></td>
+< 		<td><a href="aEllipticalTube.html">
+< 		<img border="0" src="aEllipticalTube.jpg"></a></td>
+< 	</tr>
+< </table>
+592c383,386
+<    
+---
+>    G4EllipticalTube( const G4String&amp; pName, 
+>                            G4double  Dx,
+>                            G4double  Dy,
+>                            G4double  Dz )
+596c390
+<  <table border=1 cellpadding=8 width="455" id="table23">
+---
+>  <table border=1 cellpadding=8>
+600,674c394,395
+<   <td><tt>Dz</tt><td>Half length in Z&nbsp;
+<  </table>
+< <p>&nbsp;</p>
+< <p>The general ellipsoid can be defined as follows: </p>
+< <p>&nbsp;</p>
+< </P>
+< <table border="0" width="100%" id="table17">
+< 	<tr>
+< 		<td width="456" valign="top">&nbsp;G4Ellipsoid(const G4String&amp; pName,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; 
+< 		pxSemiAxis,<br>
+< 		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+< 		G4double&nbsp; pySemiAxis,<br>
+< 		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+< 		G4double&nbsp; pzSemiAxis,<br>
+< 		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+< 		G4double&nbsp; pzBottomCut=0,<br>
+< 		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+< 		G4double&nbsp; pzTopCut=0);<br>
+< &nbsp;<p><font size="1">pxSemiAxis = 10, pySemiAxis = 20, pzSemiAxis = 50<br>
+< 		pzBottomCut = -10, pzTopCut = 40</font></td>
+< 		<td><a href="aEllipsoid.html">
+< 		<img border="0" src="aEllipsoid.jpg"></a></td>
+< 	</tr>
+< </table>
+< <p>A general (or triaxial) ellipsoid is a quadratic surface which is given in 
+< Cartesian coordinates by</p>
+< <p> <tt>1.0 = (x/pxSemiAxis)**2 + (y/pySemiAxis)**2&nbsp; +&nbsp; (z/pzSemiAxis)**2</tt></p>
+<  <table border=1 cellpadding=8 id="table26">
+<  <tr>
+<   <TD><tt>pxSemiAxis</tt><td>Semiaxis in X&nbsp;
+<  <tr>
+<   <TD><tt>pySemiAxis</tt> <td>Semiaxis in Y
+<   <tr>
+<   <TD><tt>pzSemiAxis</tt><td>Semiaxis in Z
+<  <tr>
+<   <TD><tt>pzBottomCut</tt> <td>lower cut plane level, z<tr>
+<   <TD><tt>pzTopCut</tt><td>upper cut plane level, z&nbsp;
+<  </table>
+< <P>
+<  A cone with an elliptical cross section can be defined as follows:<P>
+<  &nbsp;<table border="0" width="100%" id="table24">
+< 	<tr>
+< 		<td valign="top" width="455">G4EllipticalCone(const G4String&amp; pName,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+< 		G4double pxSemiAxis,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+< 		G4double pySemiAxis,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+< 		G4double zMax,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+< 		G4double pzTopCut);<br>
+< &nbsp;<p><font size="1">pxSemiAxis = 0.5, pySemiAxis = 1<br>zMax = 40, pzTopCut 
+< 		=25</font></td>
+< 		<td><a href="aEllipticalCone.html">
+< 		<img border="0" src="aEllipticalCone.jpg"></a></td>
+< 	</tr>
+< </table>
+< <P>
+<  &nbsp;<table border=1 cellpadding=8 id="table25">
+<  <tr>
+<   <TD><tt>pxSemiAxis</tt><td>Semiaxis in X&nbsp;&nbsp;
+<  <tr>
+<   <TD><tt>pySemiAxis</tt> <td>Semiaxis in Y
+<  <tr>
+<   <TD><tt>zMax</tt> <td>Height&nbsp; of elliptical cone<tr>
+<   <TD><tt>pzTopCut</tt> <td>upper cut plane level</table>
+< <P>
+<  An elliptical cone of height zMax, semiaxis pxSemiAxis, and semiaxis pySemiAxis 
+< 	is given by the parametric equations<P>
+<  x = pxSemiAxis * ( zMax - u ) / u&nbsp; * Cos v<P>
+<  y = pySemiAxis * ( zMax - u ) / u * Sin v<P>
+<  z = u
+< <P>
+<  Where v is between 0 and 2 Pi, and u between 0 and h respectively.
+---
+>   <td><tt>Dz</tt><td>Half length in Z
+>  </table></P>
+676d396
+<  &nbsp;<P>
+678,692d397
+< <P>
+<  &nbsp;<table border="0" width="100%" id="table12">
+< 	<tr>
+< 		<td valign="top" width="455">G4Hype(const G4String&amp; pName,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; innerRadius,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; outerRadius,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; innerStereo,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; outerStereo,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; halfLenZ )<p>
+< 		<font size="1">innerStereo = 0.7, outerStereo = 0.7<br> halfLenZ = 100<br>
+< 		innerRadius = 20, outerRadius = 30</font></td>
+< 		<td><a href="aHyperboloid.html">
+< 		<img border="0" src="aHyperboloid.jpg"></a></td>
+< 	</tr>
+< </table>
+694c399,404
+<    
+---
+>    G4Hype(const G4String&amp; pName,
+>                 G4double  innerRadius,
+>                 G4double  outerRadius,
+>                 G4double  innerStereo,
+>                 G4double  outerStereo,
+>                 G4double  halfLenZ )
+718,730d427
+< <P>
+<  &nbsp;<table border="0" width="100%" id="table13">
+< 	<tr>
+< 		<td width="455" valign="top">G4TwistedBox(const G4String&amp; pName,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; twistedangle,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pDx,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pDy,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pDz)<p>
+< 		<font size="1">twistedangle = 30*Degree<br>pDx = 30, pDy =40, pDz = 60</font></td>
+< 		<td><a href="aTwistedBox.html">
+< 		<img border="0" src="aTwistedBox.jpg"></a></td>
+< 	</tr>
+< </table>
+732c429,433
+<    
+---
+>    G4TwistedBox(const G4String&amp; pName,
+>                       G4double  twistedangle,
+>                       G4double  pDx,
+>                       G4double  pDy,
+>                       G4double  pDz);
+739c440
+<   <td><tt>twistedangle</tt><td>Twist angle 
+---
+>   <td><tt>twistedangle</tt><td>Twisted angle
+749,781d449
+< <p>
+<  &nbsp;<table border="0" width="100%" id="table14">
+< 	<tr>
+< 		<td valign="top" width="454">G4TwistedTrap(const G4String&amp; pName,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; twistedangle,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pDxx1,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pDxx2,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pDy,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pDz)<br>
+< 		<br>
+< 		G4TwistedTrap(const G4String&amp; pName,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; twistedangle,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pDz,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pTheta,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pPhi,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pDy1,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pDx1,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pDx2,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pDy2,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pDx3,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pDx4,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pAlph)<p>
+< 		<font size="1">pDx1 = 30, pDx2 = 40, pDy1 = 40<br>pDx3 = 10, pDx4 = 14, 
+< 		pDy2 = 16<br>
+< 		pDz = 60<br>
+< 		pTheta = 20*Degree, pDphi = 5*Degree<br>
+< 		pAlph = 10*Degree<br>
+< 
+< 		twistedangle = 30*Degree</font></td>
+< 		<td><a href="aTwistedTrap.html">
+< 		<img border="0" src="aTwistedTrap.jpg"></a></td>
+< 	</tr>
+< </table>
+783c451,469
+<    
+---
+>    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);
+795c481
+<   <td><tt>pDx1</tt><td>Half x length at y=-pDy
+---
+>   <td><tt>pDxx1</tt><td>Half x length at y=-pDy
+797c483
+<   <td><tt>pDx2</tt><td>Half x length at y=+pDy
+---
+>   <td><tt>pDxx2</tt><td>Half x length at y=+pDy
+822,838d507
+< <p>
+<  &nbsp;<table border="0" width="100%" id="table15">
+< 	<tr>
+< 		<td valign="top" width="456">G4TwistedTrd(const G4String&amp; pName,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pDx1,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pDx2,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pDy1,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pDy2,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; pDz,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; twistedangle)<p>
+< 		<font size="1">dx1 = 30, dx2 = 10<br>
+< 		dy1 = 40, dy2 = 15<br>
+< 		dz = 60<br>twistedangle = 30*Degree</font></td>
+< 		<td><a href="aTwistedTrd.html">
+< 		<img border="0" src="aTwistedTrd.jpg"></a></td>
+< 	</tr>
+< </table>
+840c509,515
+<    
+---
+>    G4TwistedTrd(const G4String&amp; pName,
+>                       G4double  pDx1,
+>                       G4double  pDx2,
+>                       G4double  pDy1,
+>                       G4double  pDy2,
+>                       G4double  pDz,
+>                       G4double  twistedangle );
+860,877d534
+< <P>
+<  &nbsp;<table border="0" width="100%" id="table16">
+< 	<tr>
+< 		<td valign="top" width="456">G4TwistedTubs(const G4String&amp; pName,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; twistedangle,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; endinnerrad,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; endouterrad,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; halfzlen,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; G4double&nbsp; dphi)<p>
+< 		<font size="1">endinnerrad = 10, endouterrad = 15<br>
+< 		halfzlen = 20<br>
+< 		dphi = 90*Degree<br>twistedangle = 60*Degree</font></p>
+< 		<p>&nbsp;</p>
+< 		<p>&nbsp;</td>
+< 		<td><a href="aTwistedTubs.html">
+< 		<img border="0" src="aTwistedTubs.jpg"></a></td>
+< 	</tr>
+< </table>
+879c536,541
+<    
+---
+>    G4TwistedTubs(const G4String&amp; pName,
+>                        G4double  twistedangle,
+>                        G4double  endinnerrad,
+>                        G4double  endouterrad,
+>                        G4double  halfzlen,
+>                        G4double  dphi);
+906,939c568
+<  </UL>
+< <p>&nbsp;</p>
+< </P>
+< <p>&nbsp; A tetrahedra solid can be defined as follows:</p>
+< <table border="0" width="100%" id="table27">
+< 	<tr>
+< 		<td valign="top" width="456">G4Tet(const G4String&amp; pName, <br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+< 		G4ThreeVector anchor,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+< 		G4ThreeVector p2,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+< 		G4ThreeVector p3,<br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+< 		G4ThreeVector p4, <br>
+< &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+< 		G4bool *degeneracyFlag=0)<p><font size="1">anchor = {0, 0, sqrt(3)}<br>
+< 		p2 = { 0, 2*sqrt(2/3), -1/sqrt(3) }<br>
+< 		p3 = { -sqrt(2), -sqrt(2/3),-1/sqrt(3) }<br>p4 = { sqrt(2), -sqrt(2/3) , 
+< 		-1/sqrt(3) }</font></td>
+< 		<td><a href="aTet.html">
+< 		<img border="0" src="aTet.jpg"></a></td>
+< 	</tr>
+< </table>
+< <p>The solid is defined by four points in space.</p>
+<  <table border=1 cellpadding=8 id="table28" width="292">
+<  <tr>
+<   <td><tt>anchor</tt><td>Anchor point
+<  <tr>
+<   <td><tt>p2</tt><td>Point 2
+<  <tr>
+<   <td><tt>p3</tt><td>Point 3<tr>
+<   <td><tt>p4</tt><td>Point 4<tr>
+<   <td><tt>degeneracyFlag</tt><td>Flag indicating degeneracy of points</table>
+---
+>  </UL></P>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic1.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic1.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic1.html	(revision 904)
@@ -0,0 +1,8 @@
+<HTML>
+<TITLE>G4Box</TITLE>
+<APPLET ARCHIVE="live.jar" CODE="Live.class" WIDTH=500 HEIGHT=500 ALIGN=LEFT>
+<PARAM NAME=BGCOLOR VALUE=#FFFFFF>
+<PARAM NAME=MAGNIFICATION VALUE=1.>
+<PARAM NAME=INPUT_FILE VALUE="aBox.txt">
+</APPLET>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic10.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic10.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic10.html	(revision 904)
@@ -0,0 +1,7 @@
+<HTML>
+<APPLET ARCHIVE="live.jar" CODE="Live.class" WIDTH=500 HEIGHT=500 ALIGN=LEFT>
+<PARAM NAME=BGCOLOR VALUE=#FFFFFF>
+<PARAM NAME=MAGNIFICATION VALUE=1.>
+<PARAM NAME=INPUT_FILE VALUE="aBREPSolidPCone.txt">
+</APPLET>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic11.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic11.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic11.html	(revision 904)
@@ -0,0 +1,7 @@
+<HTML>
+<APPLET ARCHIVE="live.jar" CODE="Live.class" WIDTH=500 HEIGHT=500 ALIGN=LEFT>
+<PARAM NAME=BGCOLOR VALUE=#FFFFFF>
+<PARAM NAME=MAGNIFICATION VALUE=1.>
+<PARAM NAME=INPUT_FILE VALUE="aBREPSolidPolyhedra.txt">
+</APPLET>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic12.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic12.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic12.html	(revision 904)
@@ -0,0 +1,8 @@
+<HTML>
+<TITLE>G4EllipticalTube</TITLE>
+<APPLET ARCHIVE="live.jar" CODE="Live.class" WIDTH=500 HEIGHT=500 ALIGN=LEFT>
+<PARAM NAME=BGCOLOR VALUE=#FFFFFF>
+<PARAM NAME=MAGNIFICATION VALUE=1.>
+<PARAM NAME=INPUT_FILE VALUE="aEllipticalTube.txt">
+</APPLET>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic13.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic13.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic13.html	(revision 904)
@@ -0,0 +1,8 @@
+<HTML>
+<TITLE>G4Ellipsoid</TITLE>
+<APPLET ARCHIVE="live.jar" CODE="Live.class" WIDTH=500 HEIGHT=500 ALIGN=LEFT>
+<PARAM NAME=BGCOLOR VALUE=#FFFFFF>
+<PARAM NAME=MAGNIFICATION VALUE=1.>
+<PARAM NAME=INPUT_FILE VALUE="aEllipsoid.txt">
+</APPLET>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic14.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic14.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic14.html	(revision 904)
@@ -0,0 +1,8 @@
+<HTML>
+<TITLE>G4EllipticalCone</TITLE>
+<APPLET ARCHIVE="live.jar" CODE="Live.class" WIDTH=500 HEIGHT=500 ALIGN=LEFT>
+<PARAM NAME=BGCOLOR VALUE=#FFFFFF>
+<PARAM NAME=MAGNIFICATION VALUE=1.>
+<PARAM NAME=INPUT_FILE VALUE="aEllipticalCone.txt">
+</APPLET>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic15.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic15.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic15.html	(revision 904)
@@ -0,0 +1,8 @@
+<HTML>
+<TITLE>G4Hype</TITLE>
+<APPLET ARCHIVE="live.jar" CODE="Live.class" WIDTH=500 HEIGHT=500 ALIGN=LEFT>
+<PARAM NAME=BGCOLOR VALUE=#FFFFFF>
+<PARAM NAME=MAGNIFICATION VALUE=1.>
+<PARAM NAME=INPUT_FILE VALUE="aHyperboloid.txt">
+</APPLET>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic16.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic16.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic16.html	(revision 904)
@@ -0,0 +1,8 @@
+<HTML>
+<TITLE>G4Tet</TITLE>
+<APPLET ARCHIVE="live.jar" CODE="Live.class" WIDTH=500 HEIGHT=500 ALIGN=LEFT>
+<PARAM NAME=BGCOLOR VALUE=#FFFFFF>
+<PARAM NAME=MAGNIFICATION VALUE=1.>
+<PARAM NAME=INPUT_FILE VALUE="aTet.txt">
+</APPLET>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic17.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic17.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic17.html	(revision 904)
@@ -0,0 +1,8 @@
+<HTML>
+<TITLE>G4TwistedBox</TITLE>
+<APPLET ARCHIVE="live.jar" CODE="Live.class" WIDTH=500 HEIGHT=500 ALIGN=LEFT>
+<PARAM NAME=BGCOLOR VALUE=#FFFFFF>
+<PARAM NAME=MAGNIFICATION VALUE=1.>
+<PARAM NAME=INPUT_FILE VALUE="aTwistedBox.txt">
+</APPLET>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic18.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic18.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic18.html	(revision 904)
@@ -0,0 +1,8 @@
+<HTML>
+<TITLE>G4TwistedTrap</TITLE>
+<APPLET ARCHIVE="live.jar" CODE="Live.class" WIDTH=500 HEIGHT=500 ALIGN=LEFT>
+<PARAM NAME=BGCOLOR VALUE=#FFFFFF>
+<PARAM NAME=MAGNIFICATION VALUE=1.>
+<PARAM NAME=INPUT_FILE VALUE="aTwistedTrap.txt">
+</APPLET>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic19.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic19.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic19.html	(revision 904)
@@ -0,0 +1,8 @@
+<HTML>
+<TITLE>G4TwistedTrd</TITLE>
+<APPLET ARCHIVE="live.jar" CODE="Live.class" WIDTH=500 HEIGHT=500 ALIGN=LEFT>
+<PARAM NAME=BGCOLOR VALUE=#FFFFFF>
+<PARAM NAME=MAGNIFICATION VALUE=1.>
+<PARAM NAME=INPUT_FILE VALUE="aTwistedTrd.txt">
+</APPLET>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic2.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic2.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic2.html	(revision 904)
@@ -0,0 +1,8 @@
+<HTML>
+<TITLE>G4Tubs</TITLE>
+<APPLET ARCHIVE="live.jar" CODE="Live.class" WIDTH=500 HEIGHT=500 ALIGN=LEFT>
+<PARAM NAME=BGCOLOR VALUE=#FFFFFF>
+<PARAM NAME=MAGNIFICATION VALUE=1.>
+<PARAM NAME=INPUT_FILE VALUE="aTubs.txt">
+</APPLET>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic20.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic20.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic20.html	(revision 904)
@@ -0,0 +1,8 @@
+<HTML>
+<TITLE>G4TwistedTubs</TITLE>
+<APPLET ARCHIVE="live.jar" CODE="Live.class" WIDTH=500 HEIGHT=500 ALIGN=LEFT>
+<PARAM NAME=BGCOLOR VALUE=#FFFFFF>
+<PARAM NAME=MAGNIFICATION VALUE=1.>
+<PARAM NAME=INPUT_FILE VALUE="aTwistedTubs.txt">
+</APPLET>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic21.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic21.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic21.html	(revision 904)
@@ -0,0 +1,7 @@
+<HTML>
+<APPLET ARCHIVE="live.jar" CODE="Live.class" WIDTH=500 HEIGHT=500 ALIGN=LEFT>
+<PARAM NAME=BGCOLOR VALUE=#FFFFFF>
+<PARAM NAME=MAGNIFICATION VALUE=1.>
+<PARAM NAME=INPUT_FILE VALUE="aParaboloid.txt">
+</APPLET>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic22.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic22.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic22.html	(revision 904)
@@ -0,0 +1,7 @@
+<HTML>
+<APPLET ARCHIVE="live.jar" CODE="Live.class" WIDTH=500 HEIGHT=500 ALIGN=LEFT>
+<PARAM NAME=BGCOLOR VALUE=#FFFFFF>
+<PARAM NAME=MAGNIFICATION VALUE=1.>
+<PARAM NAME=INPUT_FILE VALUE="aExtrudedSolid.txt">
+</APPLET>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic3.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic3.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic3.html	(revision 904)
@@ -0,0 +1,8 @@
+<HTML>
+<TITLE>G4Cons</TITLE>
+<APPLET ARCHIVE="live.jar" CODE="Live.class" WIDTH=500 HEIGHT=500 ALIGN=LEFT>
+<PARAM NAME=BGCOLOR VALUE=#FFFFFF>
+<PARAM NAME=MAGNIFICATION VALUE=1.>
+<PARAM NAME=INPUT_FILE VALUE="aCons.txt">
+</APPLET>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic4.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic4.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic4.html	(revision 904)
@@ -0,0 +1,8 @@
+<HTML>
+<TITLE>G4Para</TITLE>
+<APPLET ARCHIVE="live.jar" CODE="Live.class" WIDTH=500 HEIGHT=500 ALIGN=LEFT>
+<PARAM NAME=BGCOLOR VALUE=#FFFFFF>
+<PARAM NAME=MAGNIFICATION VALUE=1.>
+<PARAM NAME=INPUT_FILE VALUE="aPara.txt">
+</APPLET>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic5.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic5.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic5.html	(revision 904)
@@ -0,0 +1,9 @@
+<HTML>
+<APPLET ARCHIVE="live.jar" CODE="Live.class" WIDTH=500 HEIGHT=500 ALIGN=LEFT>
+<PARAM NAME=BGCOLOR VALUE=#FFFFFF>
+<PARAM NAME=MAGNIFICATION VALUE=1.>
+<PARAM NAME=SPIN_X VALUE=1.>
+<PARAM NAME=SPIN_Y VALUE=0.5>
+<PARAM NAME=INPUT_FILE VALUE="aTrd.txt">
+</APPLET>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic6.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic6.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic6.html	(revision 904)
@@ -0,0 +1,8 @@
+<HTML>
+<TITLE>G4Trap</TITLE>
+<APPLET ARCHIVE="live.jar" CODE="Live.class" WIDTH=500 HEIGHT=500 ALIGN=LEFT>
+<PARAM NAME=BGCOLOR VALUE=#FFFFFF>
+<PARAM NAME=MAGNIFICATION VALUE=1.>
+<PARAM NAME=INPUT_FILE VALUE="aTrap.txt">
+</APPLET>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic7.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic7.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic7.html	(revision 904)
@@ -0,0 +1,8 @@
+<HTML>
+<TITLE>G4Sphere</TITLE>
+<APPLET ARCHIVE="live.jar" CODE="Live.class" WIDTH=500 HEIGHT=500 ALIGN=LEFT>
+<PARAM NAME=BGCOLOR VALUE=#FFFFFF>
+<PARAM NAME=MAGNIFICATION VALUE=1.>
+<PARAM NAME=INPUT_FILE VALUE="aSphere.txt">
+</APPLET>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic8.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic8.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic8.html	(revision 904)
@@ -0,0 +1,8 @@
+<HTML>
+<TITLE>G4Orb</TITLE>
+<APPLET ARCHIVE="live.jar" CODE="Live.class" WIDTH=500 HEIGHT=500 ALIGN=LEFT>
+<PARAM NAME=BGCOLOR VALUE=#FFFFFF>
+<PARAM NAME=MAGNIFICATION VALUE=1.>
+<PARAM NAME=INPUT_FILE VALUE="aOrb.txt">
+</APPLET>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic9.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic9.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/Detector/geometry.src/pic9.html	(revision 904)
@@ -0,0 +1,8 @@
+<HTML>
+<TITLE>G4Torus</TITLE>
+<APPLET ARCHIVE="live.jar" CODE="Live.class" WIDTH=500 HEIGHT=500 ALIGN=LEFT>
+<PARAM NAME=BGCOLOR VALUE=#FFFFFF>
+<PARAM NAME=MAGNIFICATION VALUE=1.>
+<PARAM NAME=INPUT_FILE VALUE="aTorus.txt">
+</APPLET>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1440)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1440)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1440)+.html	(revision 904)
@@ -0,0 +1,50 @@
+
+<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>
+<H2>N(1440)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>12212</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.4400000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>3.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 1/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.5000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi0</TD></TR>
+<TR>
+<TD>3.5000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.2500000e-01</TD><TD>Phase Space</TD><TD>delta++</TD><TD>pi-</TD></TR>
+<TR>
+<TD>8.3333333e-02</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>4.1666667e-02</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi0</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1440)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1440)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1440)0.html	(revision 904)
@@ -0,0 +1,50 @@
+
+<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>
+<H2>N(1440)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>12112</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.4400000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>3.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 1/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.5000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi0</TD></TR>
+<TR>
+<TD>3.5000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.2500000e-01</TD><TD>Phase Space</TD><TD>delta-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>8.3333333e-02</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>4.1666667e-02</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi0</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1520)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1520)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1520)+.html	(revision 904)
@@ -0,0 +1,50 @@
+
+<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>
+<H2>N(1520)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>2124</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.5200000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.1500000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 3/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi0</TD></TR>
+<TR>
+<TD>3.0000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.2500000e-01</TD><TD>Phase Space</TD><TD>delta++</TD><TD>pi-</TD></TR>
+<TR>
+<TD>8.3333333e-02</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>4.1666667e-02</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1520)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1520)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1520)0.html	(revision 904)
@@ -0,0 +1,50 @@
+
+<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>
+<H2>N(1520)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>1214</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.5200000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.1500000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 3/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.0000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi0</TD></TR>
+<TR>
+<TD>3.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.2500000e-01</TD><TD>Phase Space</TD><TD>delta-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>8.3333333e-02</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>4.1666667e-02</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi-</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1535)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1535)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1535)+.html	(revision 904)
@@ -0,0 +1,52 @@
+
+<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>
+<H2>N(1535)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>22212</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.5350000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.5000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 1/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.5000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>eta</TD></TR>
+<TR>
+<TD>2.7500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.7500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi+</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>N(1440)+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>N(1440)0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.0000000e-03</TD><TD>Phase Space</TD><TD>proton</TD><TD>gamma</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1535)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1535)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1535)0.html	(revision 904)
@@ -0,0 +1,52 @@
+
+<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>
+<H2>N(1535)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>22112</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.5350000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.5000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 1/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.5000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>eta</TD></TR>
+<TR>
+<TD>2.7500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.7500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>N(1440)0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>N(1440)+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.0000000e-03</TD><TD>Phase Space</TD><TD>neutron</TD><TD>gamma</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1650)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1650)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1650)+.html	(revision 904)
@@ -0,0 +1,58 @@
+
+<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>
+<H2>N(1650)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>32212</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.6550000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.6500000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 1/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.2500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi0</TD></TR>
+<TR>
+<TD>3.2500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>lambda</TD><TD>kaon+</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>eta</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>delta++</TD><TD>pi-</TD></TR>
+<TR>
+<TD>3.3333333e-02</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>N(1440)+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>N(1440)0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.6666667e-02</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1650)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1650)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1650)0.html	(revision 904)
@@ -0,0 +1,58 @@
+
+<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>
+<H2>N(1650)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>32112</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.6550000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.6500000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 1/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.2500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi0</TD></TR>
+<TR>
+<TD>3.2500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>lambda</TD><TD>kaon0</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>eta</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>delta-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>3.3333333e-02</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>N(1440)0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>N(1440)+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.6666667e-02</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi-</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1675)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1675)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1675)+.html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>N(1675)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>2216</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.6750000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.5000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 5/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>2.7500000e-01</TD><TD>Phase Space</TD><TD>delta++</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.2500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.2500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.8333333e-01</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>9.1666667e-02</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1675)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1675)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1675)0.html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>N(1675)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>2116</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.6750000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.5000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 5/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>2.7500000e-01</TD><TD>Phase Space</TD><TD>delta-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>2.2500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.2500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.8333333e-01</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>9.1666667e-02</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi-</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1680)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1680)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1680)+.html	(revision 904)
@@ -0,0 +1,50 @@
+
+<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>
+<H2>N(1680)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>12216</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.6850000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.3000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 5/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.2500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi0</TD></TR>
+<TR>
+<TD>3.2500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>delta++</TD><TD>pi-</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1680)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1680)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1680)0.html	(revision 904)
@@ -0,0 +1,50 @@
+
+<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>
+<H2>N(1680)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>12116</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.6850000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.3000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 5/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.2500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi0</TD></TR>
+<TR>
+<TD>3.2500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>delta-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi-</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1700)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1700)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1700)+.html	(revision 904)
@@ -0,0 +1,56 @@
+
+<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>
+<H2>N(1700)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>22124</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.7000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 3/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>2.2500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.2500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.7500000e-01</TD><TD>Phase Space</TD><TD>delta++</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.1666667e-01</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>5.8333333e-02</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi0</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi+</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>eta</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>rho0</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>rho+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1700)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1700)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1700)0.html	(revision 904)
@@ -0,0 +1,56 @@
+
+<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>
+<H2>N(1700)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>21214</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.7000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 3/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>2.2500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.2500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.7500000e-01</TD><TD>Phase Space</TD><TD>delta-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.1666667e-01</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>5.8333333e-02</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi0</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi-</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>eta</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>rho0</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>rho-</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1710)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1710)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1710)+.html	(revision 904)
@@ -0,0 +1,62 @@
+
+<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>
+<H2>N(1710)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>42212</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.7100000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 1/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>eta</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>delta++</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>lambda</TD><TD>kaon+</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi0</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi+</TD></TR>
+<TR>
+<TD>6.6666667e-02</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>N(1440)+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>N(1440)0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>3.3333333e-02</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>rho0</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>rho+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1710)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1710)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1710)0.html	(revision 904)
@@ -0,0 +1,62 @@
+
+<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>
+<H2>N(1710)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>42112</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.7100000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 1/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>eta</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>delta-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>lambda</TD><TD>kaon0</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi0</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi-</TD></TR>
+<TR>
+<TD>6.6666667e-02</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>N(1440)0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>N(1440)+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>3.3333333e-02</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>rho0</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>rho-</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1720)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1720)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1720)+.html	(revision 904)
@@ -0,0 +1,56 @@
+
+<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>
+<H2>N(1720)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>32124</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.7200000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 3/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>2.2500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.2500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.2500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>rho0</TD></TR>
+<TR>
+<TD>1.2500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>rho+</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi0</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi+</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>delta++</TD><TD>pi-</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>lambda</TD><TD>kaon+</TD></TR>
+<TR>
+<TD>3.3333333e-02</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.6666667e-02</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1720)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1720)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1720)0.html	(revision 904)
@@ -0,0 +1,56 @@
+
+<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>
+<H2>N(1720)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>31214</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.7200000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 3/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>2.2500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.2500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.2500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>rho0</TD></TR>
+<TR>
+<TD>1.2500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>rho-</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi0</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi-</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>delta-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>lambda</TD><TD>kaon0</TD></TR>
+<TR>
+<TD>3.3333333e-02</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.6666667e-02</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi-</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1900)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1900)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1900)+.html	(revision 904)
@@ -0,0 +1,52 @@
+
+<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>
+<H2>N(1900)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>42124</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.9000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>5.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 3/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>5.5000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>omega</TD></TR>
+<TR>
+<TD>1.7500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.7500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi+</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>rho0</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>rho+</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>delta++</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.6666667e-02</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>8.3333333e-03</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1900)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1900)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1900)0.html	(revision 904)
@@ -0,0 +1,52 @@
+
+<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>
+<H2>N(1900)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>41214</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.9000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>5.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 3/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>5.5000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>omega</TD></TR>
+<TR>
+<TD>1.7500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.7500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>rho0</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>rho-</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>delta-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.6666667e-02</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>8.3333333e-03</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi-</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1990)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1990)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1990)+.html	(revision 904)
@@ -0,0 +1,60 @@
+
+<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>
+<H2>N(1990)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>12218</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.9500000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>5.5500000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 7/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>delta++</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.2500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.2500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>lambda</TD><TD>kaon+</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>rho0</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>rho+</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>N(1440)+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>N(1440)0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1990)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1990)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(1990)0.html	(revision 904)
@@ -0,0 +1,60 @@
+
+<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>
+<H2>N(1990)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>12118</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.9500000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>5.5500000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 7/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>delta-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.2500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.2500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>lambda</TD><TD>kaon0</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>rho0</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>rho-</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>N(1440)0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>N(1440)+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi-</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(2090)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(2090)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(2090)+.html	(revision 904)
@@ -0,0 +1,56 @@
+
+<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>
+<H2>N(2090)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>52214</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>2.0800000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>3.5000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 3/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi0</TD></TR>
+<TR>
+<TD>3.0000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.2500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>rho0</TD></TR>
+<TR>
+<TD>1.2500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>rho+</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>eta</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>delta++</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.6666667e-02</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>8.3333333e-03</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(2090)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(2090)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(2090)0.html	(revision 904)
@@ -0,0 +1,56 @@
+
+<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>
+<H2>N(2090)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>52114</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>2.0800000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>3.5000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 3/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.0000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi0</TD></TR>
+<TR>
+<TD>3.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.2500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>rho0</TD></TR>
+<TR>
+<TD>1.2500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>rho-</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>eta</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>delta-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.6666667e-02</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>8.3333333e-03</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi-</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(2190)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(2190)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(2190)+.html	(revision 904)
@@ -0,0 +1,58 @@
+
+<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>
+<H2>N(2190)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>2128</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>2.1900000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>5.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 7/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.7500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.7500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>rho0</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>rho+</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>delta++</TD><TD>pi-</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>N(1440)+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>N(1440)0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(2190)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(2190)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(2190)0.html	(revision 904)
@@ -0,0 +1,58 @@
+
+<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>
+<H2>N(2190)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>1218</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>2.1900000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>5.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 7/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.7500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.7500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>rho0</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>rho-</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>delta-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>N(1440)0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>N(1440)+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi-</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(2220)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(2220)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(2220)+.html	(revision 904)
@@ -0,0 +1,54 @@
+
+<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>
+<H2>N(2220)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>100002210</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>2.2500000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>4.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 9/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.7500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.7500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.2500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>rho0</TD></TR>
+<TR>
+<TD>1.2500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>rho+</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>delta++</TD><TD>pi-</TD></TR>
+<TR>
+<TD>6.6666667e-02</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>3.3333333e-02</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(2220)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(2220)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(2220)0.html	(revision 904)
@@ -0,0 +1,54 @@
+
+<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>
+<H2>N(2220)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>100002110</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>2.2500000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>4.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 9/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.7500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.7500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.2500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>rho0</TD></TR>
+<TR>
+<TD>1.2500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>rho-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>delta-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>6.6666667e-02</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>3.3333333e-02</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi-</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(2250)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(2250)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(2250)+.html	(revision 904)
@@ -0,0 +1,58 @@
+
+<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>
+<H2>N(2250)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>100012210</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>2.2750000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>5.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 9/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.2500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>rho0</TD></TR>
+<TR>
+<TD>1.2500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>rho+</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>delta++</TD><TD>pi-</TD></TR>
+<TR>
+<TD>6.6666667e-02</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>3.3333333e-02</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>N(1440)+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>N(1440)0</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(2250)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(2250)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/N(2250)0.html	(revision 904)
@@ -0,0 +1,58 @@
+
+<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>
+<H2>N(2250)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>100012110</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>2.2750000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>5.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 9/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.2500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>rho0</TD></TR>
+<TR>
+<TD>1.2500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>rho-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>delta-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>6.6666667e-02</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>3.3333333e-02</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>N(1440)0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>N(1440)+</TD><TD>pi-</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1600)++.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1600)++.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1600)++.html	(revision 904)
@@ -0,0 +1,44 @@
+
+<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>
+<H2>delta(1600)++</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>32224</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.6000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>3.5000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>3/2 3/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>2.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>3</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.3000000e-01</TD><TD>Phase Space</TD><TD>delta++</TD><TD>pi0</TD></TR>
+<TR>
+<TD>3.0000000e-01</TD><TD>Phase Space</TD><TD>N(1440)+</TD><TD>pi+</TD></TR>
+<TR>
+<TD>2.2000000e-01</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1600)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1600)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1600)+.html	(revision 904)
@@ -0,0 +1,50 @@
+
+<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>
+<H2>delta(1600)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>32214</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.6000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>3.5000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>3/2 3/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>2.9333333e-01</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>2.2000000e-01</TD><TD>Phase Space</TD><TD>delta++</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>N(1440)+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>N(1440)0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi+</TD></TR>
+<TR>
+<TD>3.6666667e-02</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1600)-.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1600)-.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1600)-.html	(revision 904)
@@ -0,0 +1,44 @@
+
+<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>
+<H2>delta(1600)-</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>31114</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.6000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>3.5000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>3/2 3/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>-1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>3</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.3000000e-01</TD><TD>Phase Space</TD><TD>delta-</TD><TD>pi0</TD></TR>
+<TR>
+<TD>3.0000000e-01</TD><TD>Phase Space</TD><TD>N(1440)0</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.2000000e-01</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi-</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1600)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1600)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1600)0.html	(revision 904)
@@ -0,0 +1,50 @@
+
+<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>
+<H2>delta(1600)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>32114</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.6000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>3.5000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>3/2 3/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>2.9333333e-01</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.2000000e-01</TD><TD>Phase Space</TD><TD>delta-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>N(1440)+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>N(1440)0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi0</TD></TR>
+<TR>
+<TD>3.6666667e-02</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1620)++.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1620)++.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1620)++.html	(revision 904)
@@ -0,0 +1,44 @@
+
+<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>
+<H2>delta(1620)++</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>2222</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.6300000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.4500000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>3/2 1/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>2.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>3</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.6000000e-01</TD><TD>Phase Space</TD><TD>delta++</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.5000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi+</TD></TR>
+<TR>
+<TD>2.4000000e-01</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>N(1440)+</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1620)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1620)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1620)+.html	(revision 904)
@@ -0,0 +1,50 @@
+
+<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>
+<H2>delta(1620)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>2122</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.6300000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.4500000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>3/2 1/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.2000000e-01</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>2.4000000e-01</TD><TD>Phase Space</TD><TD>delta++</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.6666667e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>N(1440)+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>8.3333333e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi+</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>N(1440)0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>4.0000000e-02</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1620)-.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1620)-.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1620)-.html	(revision 904)
@@ -0,0 +1,44 @@
+
+<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>
+<H2>delta(1620)-</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>1112</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.6300000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.4500000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>3/2 1/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>-1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>3</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.6000000e-01</TD><TD>Phase Space</TD><TD>delta-</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.5000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.4000000e-01</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>N(1440)0</TD><TD>pi-</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1620)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1620)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1620)0.html	(revision 904)
@@ -0,0 +1,50 @@
+
+<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>
+<H2>delta(1620)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>1212</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.6300000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.4500000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>3/2 1/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.2000000e-01</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.4000000e-01</TD><TD>Phase Space</TD><TD>delta-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.6666667e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>N(1440)+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>8.3333333e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi0</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>N(1440)0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>4.0000000e-02</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1700)++.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1700)++.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1700)++.html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>delta(1700)++</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>12224</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.7000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>3.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>3/2 3/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>2.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>3</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.3000000e-01</TD><TD>Phase Space</TD><TD>delta++</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.2000000e-01</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi+</TD></TR>
+<TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>N(1440)+</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>rho+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1700)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1700)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1700)+.html	(revision 904)
@@ -0,0 +1,54 @@
+
+<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>
+<H2>delta(1700)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>12214</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.7000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>3.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>3/2 3/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>2.9333333e-01</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>2.2000000e-01</TD><TD>Phase Space</TD><TD>delta++</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.3333333e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>N(1440)+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>6.6666667e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi+</TD></TR>
+<TR>
+<TD>6.6666667e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>rho0</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>N(1440)0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>3.6666667e-02</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>3.3333333e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>rho+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1700)-.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1700)-.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1700)-.html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>delta(1700)-</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>11114</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.7000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>3.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>3/2 3/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>-1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>3</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.3000000e-01</TD><TD>Phase Space</TD><TD>delta-</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.2000000e-01</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>N(1440)0</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>rho-</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1700)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1700)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1700)0.html	(revision 904)
@@ -0,0 +1,54 @@
+
+<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>
+<H2>delta(1700)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>12114</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.7000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>3.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>3/2 3/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>2.9333333e-01</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.2000000e-01</TD><TD>Phase Space</TD><TD>delta-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.3333333e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>N(1440)+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>6.6666667e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi0</TD></TR>
+<TR>
+<TD>6.6666667e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>rho-</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>N(1440)0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>3.6666667e-02</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>3.3333333e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>rho0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1900)++.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1900)++.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1900)++.html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>delta(1900)++</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>12222</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.9000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>3/2 1/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>2.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>3</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi+</TD></TR>
+<TR>
+<TD>2.5000000e-01</TD><TD>Phase Space</TD><TD>N(1440)+</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.8000000e-01</TD><TD>Phase Space</TD><TD>delta++</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>rho+</TD></TR>
+<TR>
+<TD>1.2000000e-01</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1900)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1900)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1900)+.html	(revision 904)
@@ -0,0 +1,54 @@
+
+<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>
+<H2>delta(1900)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>12122</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.9000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>3/2 1/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.6666667e-01</TD><TD>Phase Space</TD><TD>N(1440)+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.6000000e-01</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.2000000e-01</TD><TD>Phase Space</TD><TD>delta++</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>rho0</TD></TR>
+<TR>
+<TD>8.3333333e-02</TD><TD>Phase Space</TD><TD>N(1440)0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>rho+</TD></TR>
+<TR>
+<TD>2.0000000e-02</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1900)-.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1900)-.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1900)-.html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>delta(1900)-</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>11112</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.9000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>3/2 1/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>-1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>3</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.0000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.5000000e-01</TD><TD>Phase Space</TD><TD>N(1440)0</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.8000000e-01</TD><TD>Phase Space</TD><TD>delta-</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>rho-</TD></TR>
+<TR>
+<TD>1.2000000e-01</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi-</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1900)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1900)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1900)0.html	(revision 904)
@@ -0,0 +1,54 @@
+
+<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>
+<H2>delta(1900)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>11212</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.9000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>3/2 1/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.6666667e-01</TD><TD>Phase Space</TD><TD>N(1440)+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.6000000e-01</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.2000000e-01</TD><TD>Phase Space</TD><TD>delta-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>rho-</TD></TR>
+<TR>
+<TD>8.3333333e-02</TD><TD>Phase Space</TD><TD>N(1440)0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>rho0</TD></TR>
+<TR>
+<TD>2.0000000e-02</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1905)++.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1905)++.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1905)++.html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>delta(1905)++</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>2226</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.8900000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>3.3000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>3/2 5/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>2.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>3</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>6.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>rho+</TD></TR>
+<TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>N(1440)+</TD><TD>pi+</TD></TR>
+<TR>
+<TD>6.0000000e-02</TD><TD>Phase Space</TD><TD>delta++</TD><TD>pi0</TD></TR>
+<TR>
+<TD>4.0000000e-02</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1905)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1905)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1905)+.html	(revision 904)
@@ -0,0 +1,54 @@
+
+<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>
+<H2>delta(1905)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>2126</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.8900000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>3.3000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>3/2 5/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>4.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>rho0</TD></TR>
+<TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>rho+</TD></TR>
+<TR>
+<TD>1.3333333e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi0</TD></TR>
+<TR>
+<TD>6.6666667e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi+</TD></TR>
+<TR>
+<TD>6.6666667e-02</TD><TD>Phase Space</TD><TD>N(1440)+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>5.3333333e-02</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>4.0000000e-02</TD><TD>Phase Space</TD><TD>delta++</TD><TD>pi-</TD></TR>
+<TR>
+<TD>3.3333333e-02</TD><TD>Phase Space</TD><TD>N(1440)0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>6.6666667e-03</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1905)-.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1905)-.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1905)-.html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>delta(1905)-</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>1116</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.8900000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>3.3000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>3/2 5/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>-1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>3</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>6.0000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>rho-</TD></TR>
+<TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>N(1440)0</TD><TD>pi-</TD></TR>
+<TR>
+<TD>6.0000000e-02</TD><TD>Phase Space</TD><TD>delta-</TD><TD>pi0</TD></TR>
+<TR>
+<TD>4.0000000e-02</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi-</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1905)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1905)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1905)0.html	(revision 904)
@@ -0,0 +1,54 @@
+
+<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>
+<H2>delta(1905)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>1216</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.8900000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>3.3000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>3/2 5/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>4.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>rho-</TD></TR>
+<TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>rho0</TD></TR>
+<TR>
+<TD>1.3333333e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi-</TD></TR>
+<TR>
+<TD>6.6666667e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi0</TD></TR>
+<TR>
+<TD>6.6666667e-02</TD><TD>Phase Space</TD><TD>N(1440)+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>5.3333333e-02</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>4.0000000e-02</TD><TD>Phase Space</TD><TD>delta-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>3.3333333e-02</TD><TD>Phase Space</TD><TD>N(1440)0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>6.6666667e-03</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1910)++.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1910)++.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1910)++.html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>delta(1910)++</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>22222</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.9100000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.5000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>3/2 1/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>2.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>3</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>4.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>rho+</TD></TR>
+<TR>
+<TD>3.5000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>N(1440)+</TD><TD>pi+</TD></TR>
+<TR>
+<TD>9.0000000e-02</TD><TD>Phase Space</TD><TD>delta++</TD><TD>pi0</TD></TR>
+<TR>
+<TD>6.0000000e-02</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1910)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1910)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1910)+.html	(revision 904)
@@ -0,0 +1,54 @@
+
+<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>
+<H2>delta(1910)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>22122</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.9100000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.5000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>3/2 1/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>2.6666667e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>rho0</TD></TR>
+<TR>
+<TD>2.3333333e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.3333333e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>rho+</TD></TR>
+<TR>
+<TD>1.1666667e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi+</TD></TR>
+<TR>
+<TD>8.0000000e-02</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>6.6666667e-02</TD><TD>Phase Space</TD><TD>N(1440)+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>6.0000000e-02</TD><TD>Phase Space</TD><TD>delta++</TD><TD>pi-</TD></TR>
+<TR>
+<TD>3.3333333e-02</TD><TD>Phase Space</TD><TD>N(1440)0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.0000000e-02</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1910)-.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1910)-.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1910)-.html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>delta(1910)-</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>21112</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.9100000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.5000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>3/2 1/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>-1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>3</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>4.0000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>rho-</TD></TR>
+<TR>
+<TD>3.5000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>N(1440)0</TD><TD>pi-</TD></TR>
+<TR>
+<TD>9.0000000e-02</TD><TD>Phase Space</TD><TD>delta-</TD><TD>pi0</TD></TR>
+<TR>
+<TD>6.0000000e-02</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi-</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1910)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1910)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1910)0.html	(revision 904)
@@ -0,0 +1,54 @@
+
+<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>
+<H2>delta(1910)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>21212</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.9100000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.5000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>3/2 1/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>2.6666667e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>rho-</TD></TR>
+<TR>
+<TD>2.3333333e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.3333333e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>rho0</TD></TR>
+<TR>
+<TD>1.1666667e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi0</TD></TR>
+<TR>
+<TD>8.0000000e-02</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>6.6666667e-02</TD><TD>Phase Space</TD><TD>N(1440)+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>6.0000000e-02</TD><TD>Phase Space</TD><TD>delta-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>3.3333333e-02</TD><TD>Phase Space</TD><TD>N(1440)0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.0000000e-02</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1920)++.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1920)++.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1920)++.html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>delta(1920)++</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>22224</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.9200000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>3/2 3/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>2.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>3</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>rho+</TD></TR>
+<TR>
+<TD>2.5000000e-01</TD><TD>Phase Space</TD><TD>N(1440)+</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.8000000e-01</TD><TD>Phase Space</TD><TD>delta++</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.2000000e-01</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1920)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1920)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1920)+.html	(revision 904)
@@ -0,0 +1,54 @@
+
+<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>
+<H2>delta(1920)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>22214</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.9200000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>3/2 3/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>rho0</TD></TR>
+<TR>
+<TD>1.6666667e-01</TD><TD>Phase Space</TD><TD>N(1440)+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.6000000e-01</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.2000000e-01</TD><TD>Phase Space</TD><TD>delta++</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>rho+</TD></TR>
+<TR>
+<TD>8.3333333e-02</TD><TD>Phase Space</TD><TD>N(1440)0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi+</TD></TR>
+<TR>
+<TD>2.0000000e-02</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1920)-.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1920)-.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1920)-.html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>delta(1920)-</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>21114</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.9200000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>3/2 3/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>-1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>3</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.0000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>rho-</TD></TR>
+<TR>
+<TD>2.5000000e-01</TD><TD>Phase Space</TD><TD>N(1440)0</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.8000000e-01</TD><TD>Phase Space</TD><TD>delta-</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.2000000e-01</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi-</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1920)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1920)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1920)0.html	(revision 904)
@@ -0,0 +1,54 @@
+
+<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>
+<H2>delta(1920)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>22114</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.9200000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>3/2 3/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>rho-</TD></TR>
+<TR>
+<TD>1.6666667e-01</TD><TD>Phase Space</TD><TD>N(1440)+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.6000000e-01</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.2000000e-01</TD><TD>Phase Space</TD><TD>delta-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>rho0</TD></TR>
+<TR>
+<TD>8.3333333e-02</TD><TD>Phase Space</TD><TD>N(1440)0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.0000000e-02</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1930)++.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1930)++.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1930)++.html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>delta(1930)++</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>12226</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.9600000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>3.6000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>3/2 5/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>2.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>3</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.0000000e-01</TD><TD>Phase Space</TD><TD>N(1440)+</TD><TD>pi+</TD></TR>
+<TR>
+<TD>2.5000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>rho+</TD></TR>
+<TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>delta++</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1930)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1930)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1930)+.html	(revision 904)
@@ -0,0 +1,54 @@
+
+<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>
+<H2>delta(1930)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>12126</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.9600000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>3.6000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>3/2 5/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>N(1440)+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.6666667e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>rho0</TD></TR>
+<TR>
+<TD>1.3333333e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.3333333e-01</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>delta++</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>N(1440)0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>8.3333333e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>rho+</TD></TR>
+<TR>
+<TD>6.6666667e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.6666667e-02</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1930)-.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1930)-.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1930)-.html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>delta(1930)-</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>11116</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.9600000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>3.6000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>3/2 5/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>-1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>3</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.0000000e-01</TD><TD>Phase Space</TD><TD>N(1440)0</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.5000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>rho-</TD></TR>
+<TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>delta-</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi-</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1930)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1930)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1930)0.html	(revision 904)
@@ -0,0 +1,54 @@
+
+<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>
+<H2>delta(1930)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>11216</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.9600000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>3.6000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>3/2 5/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>N(1440)+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.6666667e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>rho-</TD></TR>
+<TR>
+<TD>1.3333333e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.3333333e-01</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>delta-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>N(1440)0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>8.3333333e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>rho0</TD></TR>
+<TR>
+<TD>6.6666667e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.6666667e-02</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1950)++.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1950)++.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1950)++.html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>delta(1950)++</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>2228</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.9300000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.9000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>3/2 7/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>2.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>3</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>4.4000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi+</TD></TR>
+<TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>N(1440)+</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>rho+</TD></TR>
+<TR>
+<TD>1.2000000e-01</TD><TD>Phase Space</TD><TD>delta++</TD><TD>pi0</TD></TR>
+<TR>
+<TD>8.0000000e-02</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1950)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1950)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1950)+.html	(revision 904)
@@ -0,0 +1,56 @@
+
+<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>
+<H2>delta(1950)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>2218</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.9300000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.9000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>3/2 7/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>2.9333333e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.4666667e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.3333333e-01</TD><TD>Phase Space</TD><TD>N(1440)+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.0666667e-01</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>rho0</TD></TR>
+<TR>
+<TD>8.0000000e-02</TD><TD>Phase Space</TD><TD>delta++</TD><TD>pi-</TD></TR>
+<TR>
+<TD>6.6666667e-02</TD><TD>Phase Space</TD><TD>N(1440)0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>rho+</TD></TR>
+<TR>
+<TD>1.3333333e-02</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.0000000e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>gamma</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1950)-.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1950)-.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1950)-.html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>delta(1950)-</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>1118</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.9300000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.9000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>3/2 7/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>-1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>3</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>4.4000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>N(1440)0</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>rho-</TD></TR>
+<TR>
+<TD>1.2000000e-01</TD><TD>Phase Space</TD><TD>delta-</TD><TD>pi0</TD></TR>
+<TR>
+<TD>8.0000000e-02</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi-</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1950)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1950)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta(1950)0.html	(revision 904)
@@ -0,0 +1,56 @@
+
+<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>
+<H2>delta(1950)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>2118</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.9300000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.9000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>3/2 7/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>2.9333333e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.4666667e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.3333333e-01</TD><TD>Phase Space</TD><TD>N(1440)+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.0666667e-01</TD><TD>Phase Space</TD><TD>delta+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>rho-</TD></TR>
+<TR>
+<TD>8.0000000e-02</TD><TD>Phase Space</TD><TD>delta-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>6.6666667e-02</TD><TD>Phase Space</TD><TD>N(1440)0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>rho0</TD></TR>
+<TR>
+<TD>1.3333333e-02</TD><TD>Phase Space</TD><TD>delta0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.0000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>gamma</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta++.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta++.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta++.html	(revision 904)
@@ -0,0 +1,38 @@
+
+<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>
+<H2>delta++</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>2224</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.2320000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.2000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>3/2 3/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>2.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>3</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.0000000e+00</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta+.html	(revision 904)
@@ -0,0 +1,42 @@
+
+<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>
+<H2>delta+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>2214</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.2320000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.2000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>3/2 3/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>4.9500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi0</TD></TR>
+<TR>
+<TD>4.9500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.0000000e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>gamma</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta-.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta-.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta-.html	(revision 904)
@@ -0,0 +1,38 @@
+
+<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>
+<H2>delta-</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>1114</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.2320000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.1800000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>3/2 3/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>-1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>3</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.0000000e+00</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi-</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/delta0.html	(revision 904)
@@ -0,0 +1,42 @@
+
+<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>
+<H2>delta0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>2114</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.2320000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.2000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>3/2 3/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>4.9500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi-</TD></TR>
+<TR>
+<TD>4.9500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.0000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>gamma</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/index.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/index.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/index.html	(revision 904)
@@ -0,0 +1,1072 @@
+<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>Mass</FONT></TD><TD><FONT SIZE = +1>Charge</FONT></TD><TD><FONT SIZE = +1>Life Time</FONT></TD><TD><FONT SIZE = +1>Anti-Particle</FONT></TD></TR>
+<TR><TD> </TD><TD> </TD><TD> [GeV/c<SUP>2</SUP>]</TD><TD> </TD><TD> [ns]</TD><TD> </TD></TR>
+<TR>
+<TD>12212</TD>
+<TD><A HREF="N(1440)+.html">N(1440)+</A></TD>
+<TD>1.440000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_N(1440)+</TD>
+</TR>
+<TR>
+<TD>12112</TD>
+<TD><A HREF="N(1440)0.html">N(1440)0</A></TD>
+<TD>1.440000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_N(1440)0</TD>
+</TR>
+<TR>
+<TD>2124</TD>
+<TD><A HREF="N(1520)+.html">N(1520)+</A></TD>
+<TD>1.520000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_N(1520)+</TD>
+</TR>
+<TR>
+<TD>1214</TD>
+<TD><A HREF="N(1520)0.html">N(1520)0</A></TD>
+<TD>1.520000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_N(1520)0</TD>
+</TR>
+<TR>
+<TD>22212</TD>
+<TD><A HREF="N(1535)+.html">N(1535)+</A></TD>
+<TD>1.535000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_N(1535)+</TD>
+</TR>
+<TR>
+<TD>22112</TD>
+<TD><A HREF="N(1535)0.html">N(1535)0</A></TD>
+<TD>1.535000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_N(1535)0</TD>
+</TR>
+<TR>
+<TD>32212</TD>
+<TD><A HREF="N(1650)+.html">N(1650)+</A></TD>
+<TD>1.655000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_N(1650)+</TD>
+</TR>
+<TR>
+<TD>32112</TD>
+<TD><A HREF="N(1650)0.html">N(1650)0</A></TD>
+<TD>1.655000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_N(1650)0</TD>
+</TR>
+<TR>
+<TD>2216</TD>
+<TD><A HREF="N(1675)+.html">N(1675)+</A></TD>
+<TD>1.675000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_N(1675)+</TD>
+</TR>
+<TR>
+<TD>2116</TD>
+<TD><A HREF="N(1675)0.html">N(1675)0</A></TD>
+<TD>1.675000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_N(1675)0</TD>
+</TR>
+<TR>
+<TD>12216</TD>
+<TD><A HREF="N(1680)+.html">N(1680)+</A></TD>
+<TD>1.685000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_N(1680)+</TD>
+</TR>
+<TR>
+<TD>12116</TD>
+<TD><A HREF="N(1680)0.html">N(1680)0</A></TD>
+<TD>1.685000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_N(1680)0</TD>
+</TR>
+<TR>
+<TD>22124</TD>
+<TD><A HREF="N(1700)+.html">N(1700)+</A></TD>
+<TD>1.700000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_N(1700)+</TD>
+</TR>
+<TR>
+<TD>21214</TD>
+<TD><A HREF="N(1700)0.html">N(1700)0</A></TD>
+<TD>1.700000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_N(1700)0</TD>
+</TR>
+<TR>
+<TD>42212</TD>
+<TD><A HREF="N(1710)+.html">N(1710)+</A></TD>
+<TD>1.710000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_N(1710)+</TD>
+</TR>
+<TR>
+<TD>42112</TD>
+<TD><A HREF="N(1710)0.html">N(1710)0</A></TD>
+<TD>1.710000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_N(1710)0</TD>
+</TR>
+<TR>
+<TD>32124</TD>
+<TD><A HREF="N(1720)+.html">N(1720)+</A></TD>
+<TD>1.720000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_N(1720)+</TD>
+</TR>
+<TR>
+<TD>31214</TD>
+<TD><A HREF="N(1720)0.html">N(1720)0</A></TD>
+<TD>1.720000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_N(1720)0</TD>
+</TR>
+<TR>
+<TD>42124</TD>
+<TD><A HREF="N(1900)+.html">N(1900)+</A></TD>
+<TD>1.900000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_N(1900)+</TD>
+</TR>
+<TR>
+<TD>41214</TD>
+<TD><A HREF="N(1900)0.html">N(1900)0</A></TD>
+<TD>1.900000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_N(1900)0</TD>
+</TR>
+<TR>
+<TD>12218</TD>
+<TD><A HREF="N(1990)+.html">N(1990)+</A></TD>
+<TD>1.950000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_N(1990)+</TD>
+</TR>
+<TR>
+<TD>12118</TD>
+<TD><A HREF="N(1990)0.html">N(1990)0</A></TD>
+<TD>1.950000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_N(1990)0</TD>
+</TR>
+<TR>
+<TD>52214</TD>
+<TD><A HREF="N(2090)+.html">N(2090)+</A></TD>
+<TD>2.080000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_N(2090)+</TD>
+</TR>
+<TR>
+<TD>52114</TD>
+<TD><A HREF="N(2090)0.html">N(2090)0</A></TD>
+<TD>2.080000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_N(2090)0</TD>
+</TR>
+<TR>
+<TD>2128</TD>
+<TD><A HREF="N(2190)+.html">N(2190)+</A></TD>
+<TD>2.190000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_N(2190)+</TD>
+</TR>
+<TR>
+<TD>1218</TD>
+<TD><A HREF="N(2190)0.html">N(2190)0</A></TD>
+<TD>2.190000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_N(2190)0</TD>
+</TR>
+<TR>
+<TD>100002210</TD>
+<TD><A HREF="N(2220)+.html">N(2220)+</A></TD>
+<TD>2.250000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_N(2220)+</TD>
+</TR>
+<TR>
+<TD>100002110</TD>
+<TD><A HREF="N(2220)0.html">N(2220)0</A></TD>
+<TD>2.250000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_N(2220)0</TD>
+</TR>
+<TR>
+<TD>100012210</TD>
+<TD><A HREF="N(2250)+.html">N(2250)+</A></TD>
+<TD>2.275000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_N(2250)+</TD>
+</TR>
+<TR>
+<TD>100012110</TD>
+<TD><A HREF="N(2250)0.html">N(2250)0</A></TD>
+<TD>2.275000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_N(2250)0</TD>
+</TR>
+<TR>
+<TD>32214</TD>
+<TD><A HREF="delta(1600)+.html">delta(1600)+</A></TD>
+<TD>1.600000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_delta(1600)+</TD>
+</TR>
+<TR>
+<TD>32224</TD>
+<TD><A HREF="delta(1600)++.html">delta(1600)++</A></TD>
+<TD>1.600000e+00</TD>
+<TD>2.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_delta(1600)++</TD>
+</TR>
+<TR>
+<TD>31114</TD>
+<TD><A HREF="delta(1600)-.html">delta(1600)-</A></TD>
+<TD>1.600000e+00</TD>
+<TD>-1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_delta(1600)-</TD>
+</TR>
+<TR>
+<TD>32114</TD>
+<TD><A HREF="delta(1600)0.html">delta(1600)0</A></TD>
+<TD>1.600000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_delta(1600)0</TD>
+</TR>
+<TR>
+<TD>2122</TD>
+<TD><A HREF="delta(1620)+.html">delta(1620)+</A></TD>
+<TD>1.630000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_delta(1620)+</TD>
+</TR>
+<TR>
+<TD>2222</TD>
+<TD><A HREF="delta(1620)++.html">delta(1620)++</A></TD>
+<TD>1.630000e+00</TD>
+<TD>2.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_delta(1620)++</TD>
+</TR>
+<TR>
+<TD>1112</TD>
+<TD><A HREF="delta(1620)-.html">delta(1620)-</A></TD>
+<TD>1.630000e+00</TD>
+<TD>-1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_delta(1620)-</TD>
+</TR>
+<TR>
+<TD>1212</TD>
+<TD><A HREF="delta(1620)0.html">delta(1620)0</A></TD>
+<TD>1.630000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_delta(1620)0</TD>
+</TR>
+<TR>
+<TD>12214</TD>
+<TD><A HREF="delta(1700)+.html">delta(1700)+</A></TD>
+<TD>1.700000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_delta(1700)+</TD>
+</TR>
+<TR>
+<TD>12224</TD>
+<TD><A HREF="delta(1700)++.html">delta(1700)++</A></TD>
+<TD>1.700000e+00</TD>
+<TD>2.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_delta(1700)++</TD>
+</TR>
+<TR>
+<TD>11114</TD>
+<TD><A HREF="delta(1700)-.html">delta(1700)-</A></TD>
+<TD>1.700000e+00</TD>
+<TD>-1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_delta(1700)-</TD>
+</TR>
+<TR>
+<TD>12114</TD>
+<TD><A HREF="delta(1700)0.html">delta(1700)0</A></TD>
+<TD>1.700000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_delta(1700)0</TD>
+</TR>
+<TR>
+<TD>12122</TD>
+<TD><A HREF="delta(1900)+.html">delta(1900)+</A></TD>
+<TD>1.900000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_delta(1900)+</TD>
+</TR>
+<TR>
+<TD>12222</TD>
+<TD><A HREF="delta(1900)++.html">delta(1900)++</A></TD>
+<TD>1.900000e+00</TD>
+<TD>2.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_delta(1900)++</TD>
+</TR>
+<TR>
+<TD>11112</TD>
+<TD><A HREF="delta(1900)-.html">delta(1900)-</A></TD>
+<TD>1.900000e+00</TD>
+<TD>-1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_delta(1900)-</TD>
+</TR>
+<TR>
+<TD>11212</TD>
+<TD><A HREF="delta(1900)0.html">delta(1900)0</A></TD>
+<TD>1.900000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_delta(1900)0</TD>
+</TR>
+<TR>
+<TD>2126</TD>
+<TD><A HREF="delta(1905)+.html">delta(1905)+</A></TD>
+<TD>1.890000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_delta(1905)+</TD>
+</TR>
+<TR>
+<TD>2226</TD>
+<TD><A HREF="delta(1905)++.html">delta(1905)++</A></TD>
+<TD>1.890000e+00</TD>
+<TD>2.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_delta(1905)++</TD>
+</TR>
+<TR>
+<TD>1116</TD>
+<TD><A HREF="delta(1905)-.html">delta(1905)-</A></TD>
+<TD>1.890000e+00</TD>
+<TD>-1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_delta(1905)-</TD>
+</TR>
+<TR>
+<TD>1216</TD>
+<TD><A HREF="delta(1905)0.html">delta(1905)0</A></TD>
+<TD>1.890000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_delta(1905)0</TD>
+</TR>
+<TR>
+<TD>22122</TD>
+<TD><A HREF="delta(1910)+.html">delta(1910)+</A></TD>
+<TD>1.910000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_delta(1910)+</TD>
+</TR>
+<TR>
+<TD>22222</TD>
+<TD><A HREF="delta(1910)++.html">delta(1910)++</A></TD>
+<TD>1.910000e+00</TD>
+<TD>2.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_delta(1910)++</TD>
+</TR>
+<TR>
+<TD>21112</TD>
+<TD><A HREF="delta(1910)-.html">delta(1910)-</A></TD>
+<TD>1.910000e+00</TD>
+<TD>-1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_delta(1910)-</TD>
+</TR>
+<TR>
+<TD>21212</TD>
+<TD><A HREF="delta(1910)0.html">delta(1910)0</A></TD>
+<TD>1.910000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_delta(1910)0</TD>
+</TR>
+<TR>
+<TD>22214</TD>
+<TD><A HREF="delta(1920)+.html">delta(1920)+</A></TD>
+<TD>1.920000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_delta(1920)+</TD>
+</TR>
+<TR>
+<TD>22224</TD>
+<TD><A HREF="delta(1920)++.html">delta(1920)++</A></TD>
+<TD>1.920000e+00</TD>
+<TD>2.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_delta(1920)++</TD>
+</TR>
+<TR>
+<TD>21114</TD>
+<TD><A HREF="delta(1920)-.html">delta(1920)-</A></TD>
+<TD>1.920000e+00</TD>
+<TD>-1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_delta(1920)-</TD>
+</TR>
+<TR>
+<TD>22114</TD>
+<TD><A HREF="delta(1920)0.html">delta(1920)0</A></TD>
+<TD>1.920000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_delta(1920)0</TD>
+</TR>
+<TR>
+<TD>12126</TD>
+<TD><A HREF="delta(1930)+.html">delta(1930)+</A></TD>
+<TD>1.960000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_delta(1930)+</TD>
+</TR>
+<TR>
+<TD>12226</TD>
+<TD><A HREF="delta(1930)++.html">delta(1930)++</A></TD>
+<TD>1.960000e+00</TD>
+<TD>2.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_delta(1930)++</TD>
+</TR>
+<TR>
+<TD>11116</TD>
+<TD><A HREF="delta(1930)-.html">delta(1930)-</A></TD>
+<TD>1.960000e+00</TD>
+<TD>-1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_delta(1930)-</TD>
+</TR>
+<TR>
+<TD>11216</TD>
+<TD><A HREF="delta(1930)0.html">delta(1930)0</A></TD>
+<TD>1.960000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_delta(1930)0</TD>
+</TR>
+<TR>
+<TD>2218</TD>
+<TD><A HREF="delta(1950)+.html">delta(1950)+</A></TD>
+<TD>1.930000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_delta(1950)+</TD>
+</TR>
+<TR>
+<TD>2228</TD>
+<TD><A HREF="delta(1950)++.html">delta(1950)++</A></TD>
+<TD>1.930000e+00</TD>
+<TD>2.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_delta(1950)++</TD>
+</TR>
+<TR>
+<TD>1118</TD>
+<TD><A HREF="delta(1950)-.html">delta(1950)-</A></TD>
+<TD>1.930000e+00</TD>
+<TD>-1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_delta(1950)-</TD>
+</TR>
+<TR>
+<TD>2118</TD>
+<TD><A HREF="delta(1950)0.html">delta(1950)0</A></TD>
+<TD>1.930000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_delta(1950)0</TD>
+</TR>
+<TR>
+<TD>2214</TD>
+<TD><A HREF="delta+.html">delta+</A></TD>
+<TD>1.232000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_delta+</TD>
+</TR>
+<TR>
+<TD>2224</TD>
+<TD><A HREF="delta++.html">delta++</A></TD>
+<TD>1.232000e+00</TD>
+<TD>2.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_delta++</TD>
+</TR>
+<TR>
+<TD>1114</TD>
+<TD><A HREF="delta-.html">delta-</A></TD>
+<TD>1.232000e+00</TD>
+<TD>-1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_delta-</TD>
+</TR>
+<TR>
+<TD>2114</TD>
+<TD><A HREF="delta0.html">delta0</A></TD>
+<TD>1.232000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_delta0</TD>
+</TR>
+<TR>
+<TD>3122</TD>
+<TD><A HREF="lambda.html">lambda</A></TD>
+<TD>1.115683e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>2.631000e-01</TD>
+<TD>anti_lambda</TD>
+</TR>
+<TR>
+<TD>13122</TD>
+<TD><A HREF="lambda(1405).html">lambda(1405)</A></TD>
+<TD>1.406000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_lambda(1405)</TD>
+</TR>
+<TR>
+<TD>3124</TD>
+<TD><A HREF="lambda(1520).html">lambda(1520)</A></TD>
+<TD>1.519500e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_lambda(1520)</TD>
+</TR>
+<TR>
+<TD>23122</TD>
+<TD><A HREF="lambda(1600).html">lambda(1600)</A></TD>
+<TD>1.600000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_lambda(1600)</TD>
+</TR>
+<TR>
+<TD>33122</TD>
+<TD><A HREF="lambda(1670).html">lambda(1670)</A></TD>
+<TD>1.670000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_lambda(1670)</TD>
+</TR>
+<TR>
+<TD>13124</TD>
+<TD><A HREF="lambda(1690).html">lambda(1690)</A></TD>
+<TD>1.690000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_lambda(1690)</TD>
+</TR>
+<TR>
+<TD>43122</TD>
+<TD><A HREF="lambda(1800).html">lambda(1800)</A></TD>
+<TD>1.800000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_lambda(1800)</TD>
+</TR>
+<TR>
+<TD>53122</TD>
+<TD><A HREF="lambda(1810).html">lambda(1810)</A></TD>
+<TD>1.810000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_lambda(1810)</TD>
+</TR>
+<TR>
+<TD>3126</TD>
+<TD><A HREF="lambda(1820).html">lambda(1820)</A></TD>
+<TD>1.820000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_lambda(1820)</TD>
+</TR>
+<TR>
+<TD>13126</TD>
+<TD><A HREF="lambda(1830).html">lambda(1830)</A></TD>
+<TD>1.830000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_lambda(1830)</TD>
+</TR>
+<TR>
+<TD>23124</TD>
+<TD><A HREF="lambda(1890).html">lambda(1890)</A></TD>
+<TD>1.890000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_lambda(1890)</TD>
+</TR>
+<TR>
+<TD>3128</TD>
+<TD><A HREF="lambda(2100).html">lambda(2100)</A></TD>
+<TD>2.100000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_lambda(2100)</TD>
+</TR>
+<TR>
+<TD>23126</TD>
+<TD><A HREF="lambda(2110).html">lambda(2110)</A></TD>
+<TD>2.110000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_lambda(2110)</TD>
+</TR>
+<TR>
+<TD>4122</TD>
+<TD><A HREF="lambda_c+.html">lambda_c+</A></TD>
+<TD>2.286460e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>2.000000e-04</TD>
+<TD>anti_lambda_c+</TD>
+</TR>
+<TR>
+<TD>2112</TD>
+<TD><A HREF="neutron.html">neutron</A></TD>
+<TD>9.395654e-01</TD>
+<TD>0.000000e+00</TD>
+<TD>8.857000e+11</TD>
+<TD>anti_neutron</TD>
+</TR>
+<TR>
+<TD>3334</TD>
+<TD><A HREF="omega-.html">omega-</A></TD>
+<TD>1.672450e+00</TD>
+<TD>-1.000000e+00</TD>
+<TD>8.210000e-02</TD>
+<TD>anti_omega-</TD>
+</TR>
+<TR>
+<TD>4332</TD>
+<TD><A HREF="omega_c0.html">omega_c0</A></TD>
+<TD>2.697500e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>6.900000e-05</TD>
+<TD>anti_omega_c0</TD>
+</TR>
+<TR>
+<TD>2212</TD>
+<TD><A HREF="proton.html">proton</A></TD>
+<TD>9.382720e-01</TD>
+<TD>1.000000e+00</TD>
+<TD>-1.000000e+00</TD>
+<TD>anti_proton</TD>
+</TR>
+<TR>
+<TD>3224</TD>
+<TD><A HREF="sigma(1385)+.html">sigma(1385)+</A></TD>
+<TD>1.383700e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_sigma(1385)+</TD>
+</TR>
+<TR>
+<TD>3114</TD>
+<TD><A HREF="sigma(1385)-.html">sigma(1385)-</A></TD>
+<TD>1.383700e+00</TD>
+<TD>-1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_sigma(1385)-</TD>
+</TR>
+<TR>
+<TD>3214</TD>
+<TD><A HREF="sigma(1385)0.html">sigma(1385)0</A></TD>
+<TD>1.383700e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_sigma(1385)0</TD>
+</TR>
+<TR>
+<TD>13222</TD>
+<TD><A HREF="sigma(1660)+.html">sigma(1660)+</A></TD>
+<TD>1.660000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_sigma(1660)+</TD>
+</TR>
+<TR>
+<TD>13112</TD>
+<TD><A HREF="sigma(1660)-.html">sigma(1660)-</A></TD>
+<TD>1.660000e+00</TD>
+<TD>-1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_sigma(1660)-</TD>
+</TR>
+<TR>
+<TD>13212</TD>
+<TD><A HREF="sigma(1660)0.html">sigma(1660)0</A></TD>
+<TD>1.660000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_sigma(1660)0</TD>
+</TR>
+<TR>
+<TD>13224</TD>
+<TD><A HREF="sigma(1670)+.html">sigma(1670)+</A></TD>
+<TD>1.670000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_sigma(1670)+</TD>
+</TR>
+<TR>
+<TD>13114</TD>
+<TD><A HREF="sigma(1670)-.html">sigma(1670)-</A></TD>
+<TD>1.670000e+00</TD>
+<TD>-1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_sigma(1670)-</TD>
+</TR>
+<TR>
+<TD>13214</TD>
+<TD><A HREF="sigma(1670)0.html">sigma(1670)0</A></TD>
+<TD>1.670000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_sigma(1670)0</TD>
+</TR>
+<TR>
+<TD>23222</TD>
+<TD><A HREF="sigma(1750)+.html">sigma(1750)+</A></TD>
+<TD>1.750000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_sigma(1750)+</TD>
+</TR>
+<TR>
+<TD>23112</TD>
+<TD><A HREF="sigma(1750)-.html">sigma(1750)-</A></TD>
+<TD>1.750000e+00</TD>
+<TD>-1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_sigma(1750)-</TD>
+</TR>
+<TR>
+<TD>23212</TD>
+<TD><A HREF="sigma(1750)0.html">sigma(1750)0</A></TD>
+<TD>1.750000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_sigma(1750)0</TD>
+</TR>
+<TR>
+<TD>3226</TD>
+<TD><A HREF="sigma(1775)+.html">sigma(1775)+</A></TD>
+<TD>1.775000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_sigma(1775)+</TD>
+</TR>
+<TR>
+<TD>3116</TD>
+<TD><A HREF="sigma(1775)-.html">sigma(1775)-</A></TD>
+<TD>1.775000e+00</TD>
+<TD>-1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_sigma(1775)-</TD>
+</TR>
+<TR>
+<TD>3216</TD>
+<TD><A HREF="sigma(1775)0.html">sigma(1775)0</A></TD>
+<TD>1.775000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_sigma(1775)0</TD>
+</TR>
+<TR>
+<TD>13226</TD>
+<TD><A HREF="sigma(1915)+.html">sigma(1915)+</A></TD>
+<TD>1.915000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_sigma(1915)+</TD>
+</TR>
+<TR>
+<TD>13116</TD>
+<TD><A HREF="sigma(1915)-.html">sigma(1915)-</A></TD>
+<TD>1.915000e+00</TD>
+<TD>-1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_sigma(1915)-</TD>
+</TR>
+<TR>
+<TD>13216</TD>
+<TD><A HREF="sigma(1915)0.html">sigma(1915)0</A></TD>
+<TD>1.915000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_sigma(1915)0</TD>
+</TR>
+<TR>
+<TD>23224</TD>
+<TD><A HREF="sigma(1940)+.html">sigma(1940)+</A></TD>
+<TD>1.940000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_sigma(1940)+</TD>
+</TR>
+<TR>
+<TD>23114</TD>
+<TD><A HREF="sigma(1940)-.html">sigma(1940)-</A></TD>
+<TD>1.940000e+00</TD>
+<TD>-1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_sigma(1940)-</TD>
+</TR>
+<TR>
+<TD>23214</TD>
+<TD><A HREF="sigma(1940)0.html">sigma(1940)0</A></TD>
+<TD>1.940000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_sigma(1940)0</TD>
+</TR>
+<TR>
+<TD>3228</TD>
+<TD><A HREF="sigma(2030)+.html">sigma(2030)+</A></TD>
+<TD>2.030000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_sigma(2030)+</TD>
+</TR>
+<TR>
+<TD>3118</TD>
+<TD><A HREF="sigma(2030)-.html">sigma(2030)-</A></TD>
+<TD>2.030000e+00</TD>
+<TD>-1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_sigma(2030)-</TD>
+</TR>
+<TR>
+<TD>3218</TD>
+<TD><A HREF="sigma(2030)0.html">sigma(2030)0</A></TD>
+<TD>2.030000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_sigma(2030)0</TD>
+</TR>
+<TR>
+<TD>3222</TD>
+<TD><A HREF="sigma+.html">sigma+</A></TD>
+<TD>1.189370e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>8.018000e-02</TD>
+<TD>anti_sigma+</TD>
+</TR>
+<TR>
+<TD>3112</TD>
+<TD><A HREF="sigma-.html">sigma-</A></TD>
+<TD>1.197449e+00</TD>
+<TD>-1.000000e+00</TD>
+<TD>1.479000e-01</TD>
+<TD>anti_sigma-</TD>
+</TR>
+<TR>
+<TD>3212</TD>
+<TD><A HREF="sigma0.html">sigma0</A></TD>
+<TD>1.192642e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>7.400000e-11</TD>
+<TD>anti_sigma0</TD>
+</TR>
+<TR>
+<TD>4212</TD>
+<TD><A HREF="sigma_c+.html">sigma_c+</A></TD>
+<TD>2.452900e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_sigma_c+</TD>
+</TR>
+<TR>
+<TD>4222</TD>
+<TD><A HREF="sigma_c++.html">sigma_c++</A></TD>
+<TD>2.454020e+00</TD>
+<TD>2.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_sigma_c++</TD>
+</TR>
+<TR>
+<TD>4112</TD>
+<TD><A HREF="sigma_c0.html">sigma_c0</A></TD>
+<TD>2.453760e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_sigma_c0</TD>
+</TR>
+<TR>
+<TD>3314</TD>
+<TD><A HREF="xi(1530)-.html">xi(1530)-</A></TD>
+<TD>1.533400e+00</TD>
+<TD>-1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_xi(1530)-</TD>
+</TR>
+<TR>
+<TD>3324</TD>
+<TD><A HREF="xi(1530)0.html">xi(1530)0</A></TD>
+<TD>1.533400e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_xi(1530)0</TD>
+</TR>
+<TR>
+<TD>23314</TD>
+<TD><A HREF="xi(1690)-.html">xi(1690)-</A></TD>
+<TD>1.690000e+00</TD>
+<TD>-1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_xi(1690)-</TD>
+</TR>
+<TR>
+<TD>23324</TD>
+<TD><A HREF="xi(1690)0.html">xi(1690)0</A></TD>
+<TD>1.690000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_xi(1690)0</TD>
+</TR>
+<TR>
+<TD>13314</TD>
+<TD><A HREF="xi(1820)-.html">xi(1820)-</A></TD>
+<TD>1.823000e+00</TD>
+<TD>-1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_xi(1820)-</TD>
+</TR>
+<TR>
+<TD>13324</TD>
+<TD><A HREF="xi(1820)0.html">xi(1820)0</A></TD>
+<TD>1.823000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_xi(1820)0</TD>
+</TR>
+<TR>
+<TD>33314</TD>
+<TD><A HREF="xi(1950)-.html">xi(1950)-</A></TD>
+<TD>1.950000e+00</TD>
+<TD>-1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_xi(1950)-</TD>
+</TR>
+<TR>
+<TD>33324</TD>
+<TD><A HREF="xi(1950)0.html">xi(1950)0</A></TD>
+<TD>1.950000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_xi(1950)0</TD>
+</TR>
+<TR>
+<TD>13316</TD>
+<TD><A HREF="xi(2030)-.html">xi(2030)-</A></TD>
+<TD>2.025000e+00</TD>
+<TD>-1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_xi(2030)-</TD>
+</TR>
+<TR>
+<TD>13326</TD>
+<TD><A HREF="xi(2030)0.html">xi(2030)0</A></TD>
+<TD>2.025000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_xi(2030)0</TD>
+</TR>
+<TR>
+<TD>3312</TD>
+<TD><A HREF="xi-.html">xi-</A></TD>
+<TD>1.321710e+00</TD>
+<TD>-1.000000e+00</TD>
+<TD>1.639000e-01</TD>
+<TD>anti_xi-</TD>
+</TR>
+<TR>
+<TD>3322</TD>
+<TD><A HREF="xi0.html">xi0</A></TD>
+<TD>1.314830e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>2.900000e-01</TD>
+<TD>anti_xi0</TD>
+</TR>
+<TR>
+<TD>4232</TD>
+<TD><A HREF="xi_c+.html">xi_c+</A></TD>
+<TD>2.468000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>4.420000e-04</TD>
+<TD>anti_xi_c+</TD>
+</TR>
+<TR>
+<TD>4132</TD>
+<TD><A HREF="xi_c0.html">xi_c0</A></TD>
+<TD>2.471000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>1.120000e-04</TD>
+<TD>anti_xi_c0</TD>
+</TR>
+</TABLE>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda(1405).html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda(1405).html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda(1405).html	(revision 904)
@@ -0,0 +1,42 @@
+
+<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>
+<H2>lambda(1405)</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>13122</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.4060000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>5.0000000e-02 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 1/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.3333333e-01</TD><TD>Phase Space</TD><TD>sigma+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>3.3333333e-01</TD><TD>Phase Space</TD><TD>sigma0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>3.3333333e-01</TD><TD>Phase Space</TD><TD>sigma-</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda(1520).html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda(1520).html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda(1520).html	(revision 904)
@@ -0,0 +1,54 @@
+
+<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>
+<H2>lambda(1520)</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>3124</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.5195000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.5600000e-02 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 3/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>2.2500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>2.2500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>anti_kaon0</TD></TR>
+<TR>
+<TD>1.4333333e-01</TD><TD>Phase Space</TD><TD>sigma+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.4333333e-01</TD><TD>Phase Space</TD><TD>sigma0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.4333333e-01</TD><TD>Phase Space</TD><TD>sigma-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>3.6666667e-02</TD><TD>Phase Space</TD><TD>sigma(1385)+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>3.6666667e-02</TD><TD>Phase Space</TD><TD>sigma(1385)0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>3.6666667e-02</TD><TD>Phase Space</TD><TD>sigma(1385)-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.0000000e-02</TD><TD>Phase Space</TD><TD>lambda</TD><TD>gamma</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda(1600).html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda(1600).html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda(1600).html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>lambda(1600)</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>23122</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.6000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.5000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 1/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>2.1666667e-01</TD><TD>Phase Space</TD><TD>sigma+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.1666667e-01</TD><TD>Phase Space</TD><TD>sigma0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.1666667e-01</TD><TD>Phase Space</TD><TD>sigma-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.7500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>1.7500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>anti_kaon0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda(1670).html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda(1670).html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda(1670).html	(revision 904)
@@ -0,0 +1,48 @@
+
+<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>
+<H2>lambda(1670)</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>33122</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.6700000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>3.5000000e-02 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 1/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.0000000e-01</TD><TD>Phase Space</TD><TD>lambda</TD><TD>eta</TD></TR>
+<TR>
+<TD>1.6666667e-01</TD><TD>Phase Space</TD><TD>sigma+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.6666667e-01</TD><TD>Phase Space</TD><TD>sigma0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.6666667e-01</TD><TD>Phase Space</TD><TD>sigma-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>anti_kaon0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda(1690).html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda(1690).html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda(1690).html	(revision 904)
@@ -0,0 +1,52 @@
+
+<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>
+<H2>lambda(1690)</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>13124</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.6900000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>6.0000000e-02 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 3/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>sigma+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>sigma0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>sigma-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.2500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>1.2500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>anti_kaon0</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>sigma(1385)+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>sigma(1385)0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>sigma(1385)-</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda(1800).html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda(1800).html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda(1800).html	(revision 904)
@@ -0,0 +1,56 @@
+
+<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>
+<H2>lambda(1800)</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>43122</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.8000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>3.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 1/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>anti_kaon0</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>k_star-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>anti_k_star0</TD></TR>
+<TR>
+<TD>6.6666667e-02</TD><TD>Phase Space</TD><TD>sigma+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>6.6666667e-02</TD><TD>Phase Space</TD><TD>sigma0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>6.6666667e-02</TD><TD>Phase Space</TD><TD>sigma-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>6.6666667e-02</TD><TD>Phase Space</TD><TD>sigma(1385)+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>6.6666667e-02</TD><TD>Phase Space</TD><TD>sigma(1385)0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>6.6666667e-02</TD><TD>Phase Space</TD><TD>sigma(1385)-</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda(1810).html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda(1810).html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda(1810).html	(revision 904)
@@ -0,0 +1,56 @@
+
+<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>
+<H2>lambda(1810)</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>53122</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.8100000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.5000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 1/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>2.2500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>k_star-</TD></TR>
+<TR>
+<TD>2.2500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>anti_k_star0</TD></TR>
+<TR>
+<TD>1.7500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>1.7500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>anti_kaon0</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>sigma+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>sigma0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>sigma-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.6666667e-02</TD><TD>Phase Space</TD><TD>sigma(1385)+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.6666667e-02</TD><TD>Phase Space</TD><TD>sigma(1385)0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.6666667e-02</TD><TD>Phase Space</TD><TD>sigma(1385)-</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda(1820).html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda(1820).html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda(1820).html	(revision 904)
@@ -0,0 +1,52 @@
+
+<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>
+<H2>lambda(1820)</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>3126</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.8200000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>8.0000000e-02 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 5/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.6500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>3.6500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>anti_kaon0</TD></TR>
+<TR>
+<TD>5.3333333e-02</TD><TD>Phase Space</TD><TD>sigma+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>5.3333333e-02</TD><TD>Phase Space</TD><TD>sigma0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>5.3333333e-02</TD><TD>Phase Space</TD><TD>sigma-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>3.6666667e-02</TD><TD>Phase Space</TD><TD>sigma(1385)+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>3.6666667e-02</TD><TD>Phase Space</TD><TD>sigma(1385)0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>3.6666667e-02</TD><TD>Phase Space</TD><TD>sigma(1385)-</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda(1830).html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda(1830).html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda(1830).html	(revision 904)
@@ -0,0 +1,52 @@
+
+<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>
+<H2>lambda(1830)</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>13126</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.8300000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>9.5000000e-02 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 5/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>2.3333333e-01</TD><TD>Phase Space</TD><TD>sigma+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.3333333e-01</TD><TD>Phase Space</TD><TD>sigma0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.3333333e-01</TD><TD>Phase Space</TD><TD>sigma-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>6.6666667e-02</TD><TD>Phase Space</TD><TD>sigma(1385)+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>6.6666667e-02</TD><TD>Phase Space</TD><TD>sigma(1385)0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>6.6666667e-02</TD><TD>Phase Space</TD><TD>sigma(1385)-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>anti_kaon0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda(1890).html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda(1890).html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda(1890).html	(revision 904)
@@ -0,0 +1,56 @@
+
+<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>
+<H2>lambda(1890)</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>23124</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.8900000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 3/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.8500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>1.8500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>anti_kaon0</TD></TR>
+<TR>
+<TD>1.0500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>k_star-</TD></TR>
+<TR>
+<TD>1.0500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>anti_k_star0</TD></TR>
+<TR>
+<TD>1.0333333e-01</TD><TD>Phase Space</TD><TD>sigma(1385)+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.0333333e-01</TD><TD>Phase Space</TD><TD>sigma(1385)0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.0333333e-01</TD><TD>Phase Space</TD><TD>sigma(1385)-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>3.6666667e-02</TD><TD>Phase Space</TD><TD>sigma+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>3.6666667e-02</TD><TD>Phase Space</TD><TD>sigma0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>3.6666667e-02</TD><TD>Phase Space</TD><TD>sigma-</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda(2100).html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda(2100).html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda(2100).html	(revision 904)
@@ -0,0 +1,60 @@
+
+<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>
+<H2>lambda(2100)</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>3128</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>2.1000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 7/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.7500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>1.7500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>anti_kaon0</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>k_star-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>anti_k_star0</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>sigma(1385)+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>sigma(1385)0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>sigma(1385)-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>8.0000000e-02</TD><TD>Phase Space</TD><TD>lambda</TD><TD>omega</TD></TR>
+<TR>
+<TD>2.0000000e-02</TD><TD>Phase Space</TD><TD>lambda</TD><TD>eta</TD></TR>
+<TR>
+<TD>1.6666667e-02</TD><TD>Phase Space</TD><TD>sigma+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.6666667e-02</TD><TD>Phase Space</TD><TD>sigma0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.6666667e-02</TD><TD>Phase Space</TD><TD>sigma-</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda(2110).html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda(2110).html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda(2110).html	(revision 904)
@@ -0,0 +1,50 @@
+
+<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>
+<H2>lambda(2110)</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>23126</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>2.1100000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 5/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>2.2500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>k_star-</TD></TR>
+<TR>
+<TD>2.2500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>anti_k_star0</TD></TR>
+<TR>
+<TD>1.2500000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>1.2500000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>anti_kaon0</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>sigma+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>sigma0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>sigma-</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda.html	(revision 904)
@@ -0,0 +1,41 @@
+
+<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>
+<H2>lambda</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>3122</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.1156830e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.5180000e-15 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 1/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD>-1.9324526e-14[MeV/T]</TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>2.6310000e-10[sec]</TD>
+</TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>6.3900000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi-</TD></TR>
+<TR>
+<TD>3.5800000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda_c+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda_c+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/lambda_c+.html	(revision 904)
@@ -0,0 +1,33 @@
+
+<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>
+<H2>lambda_c+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>4122</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>2.2864600e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>3.3200000e-12 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 1/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>2.0000000e-13[sec]</TD>
+</TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/neutron.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/neutron.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/neutron.html	(revision 904)
@@ -0,0 +1,39 @@
+
+<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>
+<H2>neutron</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>2112</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>9.3956536e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>7.4800000e-28 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 1/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD>-6.0307738e-14[MeV/T]</TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>8.8570000e+02[sec]</TD>
+</TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.0000000e+00</TD><TD>Neutron Decay</TD><TD>e-</TD><TD>anti_nu_e</TD><TD>proton</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/omega-.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/omega-.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/omega-.html	(revision 904)
@@ -0,0 +1,43 @@
+
+<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>
+<H2>omega-</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>3334</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.6724500e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>8.0700000e-15 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 3/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>-1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD>-6.3679515e-14[MeV/T]</TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>8.2100000e-11[sec]</TD>
+</TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>3</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>6.7800000e-01</TD><TD>Phase Space</TD><TD>lambda</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>2.3600000e-01</TD><TD>Phase Space</TD><TD>xi0</TD><TD>pi-</TD></TR>
+<TR>
+<TD>8.6000000e-02</TD><TD>Phase Space</TD><TD>xi-</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/omega_c0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/omega_c0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/omega_c0.html	(revision 904)
@@ -0,0 +1,33 @@
+
+<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>
+<H2>omega_c0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>4332</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>2.6975000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>9.6000000e-12 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 1/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>6.9000000e-14[sec]</TD>
+</TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/proton.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/proton.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/proton.html	(revision 904)
@@ -0,0 +1,32 @@
+
+<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>
+<H2>proton</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>2212</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>9.3827201e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>0.0000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 1/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD>8.8043151e-14[MeV/T]</TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>stable</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1385)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1385)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1385)+.html	(revision 904)
@@ -0,0 +1,42 @@
+
+<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>
+<H2>sigma(1385)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>3224</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.3837000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>3.5800000e-02 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 3/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>8.8000000e-01</TD><TD>Phase Space</TD><TD>lambda</TD><TD>pi+</TD></TR>
+<TR>
+<TD>6.0000000e-02</TD><TD>Phase Space</TD><TD>sigma+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>6.0000000e-02</TD><TD>Phase Space</TD><TD>sigma0</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1385)-.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1385)-.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1385)-.html	(revision 904)
@@ -0,0 +1,42 @@
+
+<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>
+<H2>sigma(1385)-</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>3114</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.3837000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>3.5800000e-02 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 3/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>-1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>8.8000000e-01</TD><TD>Phase Space</TD><TD>lambda</TD><TD>pi-</TD></TR>
+<TR>
+<TD>6.0000000e-02</TD><TD>Phase Space</TD><TD>sigma0</TD><TD>pi-</TD></TR>
+<TR>
+<TD>6.0000000e-02</TD><TD>Phase Space</TD><TD>sigma-</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1385)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1385)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1385)0.html	(revision 904)
@@ -0,0 +1,42 @@
+
+<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>
+<H2>sigma(1385)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>3214</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.3837000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>3.5800000e-02 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 3/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>8.8000000e-01</TD><TD>Phase Space</TD><TD>lambda</TD><TD>pi0</TD></TR>
+<TR>
+<TD>6.0000000e-02</TD><TD>Phase Space</TD><TD>sigma+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>6.0000000e-02</TD><TD>Phase Space</TD><TD>sigma-</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1660)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1660)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1660)+.html	(revision 904)
@@ -0,0 +1,44 @@
+
+<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>
+<H2>sigma(1660)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>13222</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.6600000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 1/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.5000000e-01</TD><TD>Phase Space</TD><TD>lambda</TD><TD>pi+</TD></TR>
+<TR>
+<TD>3.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>anti_kaon0</TD></TR>
+<TR>
+<TD>1.7500000e-01</TD><TD>Phase Space</TD><TD>sigma+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.7500000e-01</TD><TD>Phase Space</TD><TD>sigma0</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1660)-.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1660)-.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1660)-.html	(revision 904)
@@ -0,0 +1,44 @@
+
+<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>
+<H2>sigma(1660)-</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>13112</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.6600000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 1/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>-1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.5000000e-01</TD><TD>Phase Space</TD><TD>lambda</TD><TD>pi-</TD></TR>
+<TR>
+<TD>3.0000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>1.7500000e-01</TD><TD>Phase Space</TD><TD>sigma0</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.7500000e-01</TD><TD>Phase Space</TD><TD>sigma-</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1660)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1660)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1660)0.html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>sigma(1660)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>13212</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.6600000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 1/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.5000000e-01</TD><TD>Phase Space</TD><TD>lambda</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.7500000e-01</TD><TD>Phase Space</TD><TD>sigma+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.7500000e-01</TD><TD>Phase Space</TD><TD>sigma-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>anti_kaon0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1670)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1670)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1670)+.html	(revision 904)
@@ -0,0 +1,44 @@
+
+<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>
+<H2>sigma(1670)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>13224</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.6700000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>6.0000000e-02 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 3/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.5000000e-01</TD><TD>Phase Space</TD><TD>sigma+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>3.5000000e-01</TD><TD>Phase Space</TD><TD>sigma0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>anti_kaon0</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>lambda</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1670)-.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1670)-.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1670)-.html	(revision 904)
@@ -0,0 +1,44 @@
+
+<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>
+<H2>sigma(1670)-</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>13114</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.6700000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>6.0000000e-02 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 3/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>-1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.5000000e-01</TD><TD>Phase Space</TD><TD>sigma0</TD><TD>pi-</TD></TR>
+<TR>
+<TD>3.5000000e-01</TD><TD>Phase Space</TD><TD>sigma-</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>lambda</TD><TD>pi-</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1670)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1670)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1670)0.html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>sigma(1670)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>13214</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.6700000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>6.0000000e-02 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 3/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.5000000e-01</TD><TD>Phase Space</TD><TD>sigma+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>3.5000000e-01</TD><TD>Phase Space</TD><TD>sigma-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>lambda</TD><TD>pi0</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>anti_kaon0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1750)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1750)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1750)+.html	(revision 904)
@@ -0,0 +1,44 @@
+
+<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>
+<H2>sigma(1750)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>23222</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.7500000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>9.0000000e-02 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 1/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>5.5000000e-01</TD><TD>Phase Space</TD><TD>sigma+</TD><TD>eta</TD></TR>
+<TR>
+<TD>4.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>anti_kaon0</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>sigma+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>sigma0</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1750)-.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1750)-.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1750)-.html	(revision 904)
@@ -0,0 +1,44 @@
+
+<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>
+<H2>sigma(1750)-</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>23112</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.7500000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>9.0000000e-02 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 1/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>-1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>5.5000000e-01</TD><TD>Phase Space</TD><TD>sigma-</TD><TD>eta</TD></TR>
+<TR>
+<TD>4.0000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>sigma0</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>sigma-</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1750)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1750)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1750)0.html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>sigma(1750)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>23212</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.7500000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>9.0000000e-02 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 1/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>5.5000000e-01</TD><TD>Phase Space</TD><TD>sigma0</TD><TD>eta</TD></TR>
+<TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>anti_kaon0</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>sigma+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>sigma-</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1775)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1775)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1775)+.html	(revision 904)
@@ -0,0 +1,50 @@
+
+<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>
+<H2>sigma(1775)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>3226</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.7750000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.2000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 5/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>4.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>anti_kaon0</TD></TR>
+<TR>
+<TD>2.3000000e-01</TD><TD>Phase Space</TD><TD>lambda</TD><TD>pi+</TD></TR>
+<TR>
+<TD>2.3000000e-01</TD><TD>Phase Space</TD><TD>lambda(1405)</TD><TD>pi+</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>sigma(1385)+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>sigma(1385)0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>2.0000000e-02</TD><TD>Phase Space</TD><TD>sigma+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.0000000e-02</TD><TD>Phase Space</TD><TD>sigma0</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1775)-.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1775)-.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1775)-.html	(revision 904)
@@ -0,0 +1,50 @@
+
+<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>
+<H2>sigma(1775)-</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>3116</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.7750000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.2000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 5/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>-1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>4.0000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>2.3000000e-01</TD><TD>Phase Space</TD><TD>lambda</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.3000000e-01</TD><TD>Phase Space</TD><TD>lambda(1405)</TD><TD>pi-</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>sigma(1385)0</TD><TD>pi-</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>sigma(1385)-</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.0000000e-02</TD><TD>Phase Space</TD><TD>sigma0</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.0000000e-02</TD><TD>Phase Space</TD><TD>sigma-</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1775)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1775)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1775)0.html	(revision 904)
@@ -0,0 +1,52 @@
+
+<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>
+<H2>sigma(1775)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>3216</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.7750000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.2000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 5/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>2.3000000e-01</TD><TD>Phase Space</TD><TD>lambda</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.3000000e-01</TD><TD>Phase Space</TD><TD>lambda(1405)</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>anti_kaon0</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>sigma(1385)+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>sigma(1385)-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>2.0000000e-02</TD><TD>Phase Space</TD><TD>sigma+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.0000000e-02</TD><TD>Phase Space</TD><TD>sigma-</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1915)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1915)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1915)+.html	(revision 904)
@@ -0,0 +1,48 @@
+
+<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>
+<H2>sigma(1915)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>13226</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.9150000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.2000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 5/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>4.0000000e-01</TD><TD>Phase Space</TD><TD>lambda</TD><TD>pi+</TD></TR>
+<TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>sigma+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>sigma0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>anti_kaon0</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>sigma(1385)+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>sigma(1385)0</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1915)-.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1915)-.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1915)-.html	(revision 904)
@@ -0,0 +1,48 @@
+
+<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>
+<H2>sigma(1915)-</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>13116</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.9150000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.2000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 5/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>-1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>4.0000000e-01</TD><TD>Phase Space</TD><TD>lambda</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>sigma0</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>sigma-</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>sigma(1385)0</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>sigma(1385)-</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1915)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1915)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1915)0.html	(revision 904)
@@ -0,0 +1,50 @@
+
+<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>
+<H2>sigma(1915)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>13216</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.9150000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.2000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 5/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>4.0000000e-01</TD><TD>Phase Space</TD><TD>lambda</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>sigma+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>sigma-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>anti_kaon0</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>sigma(1385)+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>sigma(1385)-</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1940)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1940)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1940)+.html	(revision 904)
@@ -0,0 +1,56 @@
+
+<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>
+<H2>sigma(1940)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>23224</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.9400000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.2000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 3/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>anti_k_star0</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>lambda</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>lambda(1405)</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.1250000e-01</TD><TD>Phase Space</TD><TD>delta++</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>anti_kaon0</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>sigma+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>sigma0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>sigma(1385)+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>sigma(1385)0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>3.7500000e-02</TD><TD>Phase Space</TD><TD>delta+</TD><TD>anti_kaon0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1940)-.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1940)-.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1940)-.html	(revision 904)
@@ -0,0 +1,56 @@
+
+<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>
+<H2>sigma(1940)-</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>23114</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.9400000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.2000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 3/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>-1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>k_star-</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>lambda</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>lambda(1405)</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.1250000e-01</TD><TD>Phase Space</TD><TD>delta-</TD><TD>anti_kaon0</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>sigma0</TD><TD>pi-</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>sigma-</TD><TD>pi0</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>sigma(1385)0</TD><TD>pi-</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>sigma(1385)-</TD><TD>pi0</TD></TR>
+<TR>
+<TD>3.7500000e-02</TD><TD>Phase Space</TD><TD>delta0</TD><TD>kaon-</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1940)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1940)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(1940)0.html	(revision 904)
@@ -0,0 +1,60 @@
+
+<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>
+<H2>sigma(1940)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>23214</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.9400000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.2000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 3/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>lambda</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>lambda(1405)</TD><TD>pi0</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>k_star-</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>anti_k_star0</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>sigma+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>sigma-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>sigma(1385)+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>sigma(1385)-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>delta+</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>delta0</TD><TD>anti_kaon0</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>anti_kaon0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(2030)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(2030)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(2030)+.html	(revision 904)
@@ -0,0 +1,56 @@
+
+<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>
+<H2>sigma(2030)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>3228</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>2.0300000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.8000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 7/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>anti_kaon0</TD></TR>
+<TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>lambda</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.8000000e-01</TD><TD>Phase Space</TD><TD>lambda(1405)</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.3500000e-01</TD><TD>Phase Space</TD><TD>delta++</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>sigma+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>sigma0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>sigma(1385)+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>sigma(1385)0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>4.5000000e-02</TD><TD>Phase Space</TD><TD>delta+</TD><TD>anti_kaon0</TD></TR>
+<TR>
+<TD>4.0000000e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>anti_k_star0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(2030)-.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(2030)-.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(2030)-.html	(revision 904)
@@ -0,0 +1,56 @@
+
+<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>
+<H2>sigma(2030)-</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>3118</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>2.0300000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.8000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 7/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>-1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>lambda</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.8000000e-01</TD><TD>Phase Space</TD><TD>lambda(1405)</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.3500000e-01</TD><TD>Phase Space</TD><TD>delta-</TD><TD>anti_kaon0</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>sigma0</TD><TD>pi-</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>sigma-</TD><TD>pi0</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>sigma(1385)0</TD><TD>pi-</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>sigma(1385)-</TD><TD>pi0</TD></TR>
+<TR>
+<TD>4.5000000e-02</TD><TD>Phase Space</TD><TD>delta0</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>4.0000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>k_star-</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(2030)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(2030)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma(2030)0.html	(revision 904)
@@ -0,0 +1,60 @@
+
+<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>
+<H2>sigma(2030)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>3218</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>2.0300000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.8000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 7/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>lambda</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.8000000e-01</TD><TD>Phase Space</TD><TD>lambda(1405)</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>anti_kaon0</TD></TR>
+<TR>
+<TD>9.0000000e-02</TD><TD>Phase Space</TD><TD>delta+</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>9.0000000e-02</TD><TD>Phase Space</TD><TD>delta0</TD><TD>anti_kaon0</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>sigma+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>sigma-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>sigma(1385)+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>sigma(1385)-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>2.0000000e-02</TD><TD>Phase Space</TD><TD>proton</TD><TD>k_star-</TD></TR>
+<TR>
+<TD>2.0000000e-02</TD><TD>Phase Space</TD><TD>neutron</TD><TD>anti_k_star0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma+.html	(revision 904)
@@ -0,0 +1,41 @@
+
+<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>
+<H2>sigma+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>3222</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.1893700e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>8.2640000e-15 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 1/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD>7.7487251e-14[MeV/T]</TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>8.0180000e-11[sec]</TD>
+</TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>5.1600000e-01</TD><TD>Phase Space</TD><TD>proton</TD><TD>pi0</TD></TR>
+<TR>
+<TD>4.8300000e-01</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma-.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma-.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma-.html	(revision 904)
@@ -0,0 +1,39 @@
+
+<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>
+<H2>sigma-</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>3112</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.1974490e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>4.4800000e-15 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 1/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>-1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD>-3.6568434e-14[MeV/T]</TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>1.4790000e-10[sec]</TD>
+</TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.0000000e+00</TD><TD>Phase Space</TD><TD>neutron</TD><TD>pi-</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma0.html	(revision 904)
@@ -0,0 +1,39 @@
+
+<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>
+<H2>sigma0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>3212</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.1926420e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>9.0000000e-06 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 1/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>7.4000000e-20[sec]</TD>
+</TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.0000000e+00</TD><TD>Phase Space</TD><TD>lambda</TD><TD>gamma</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma_c++.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma_c++.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma_c++.html	(revision 904)
@@ -0,0 +1,38 @@
+
+<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>
+<H2>sigma_c++</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>4222</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>2.4540200e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.2300000e-03 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 1/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>2.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>not Defined</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.0000000e+00</TD><TD>Phase Space</TD><TD>lambda_c+</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma_c+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma_c+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma_c+.html	(revision 904)
@@ -0,0 +1,38 @@
+
+<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>
+<H2>sigma_c+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>4212</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>2.4529000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.2000000e-03 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 1/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>not Defined</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.0000000e+00</TD><TD>Phase Space</TD><TD>lambda_c+</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma_c0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma_c0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/sigma_c0.html	(revision 904)
@@ -0,0 +1,38 @@
+
+<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>
+<H2>sigma_c0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>4112</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>2.4537600e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.2000000e-03 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 1/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>not Defined</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.0000000e+00</TD><TD>Phase Space</TD><TD>lambda_c+</TD><TD>pi-</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi(1530)-.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi(1530)-.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi(1530)-.html	(revision 904)
@@ -0,0 +1,42 @@
+
+<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>
+<H2>xi(1530)-</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>3314</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.5334000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>9.1000000e-03 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 3/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>-1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>4.9000000e-01</TD><TD>Phase Space</TD><TD>xi0</TD><TD>pi-</TD></TR>
+<TR>
+<TD>4.9000000e-01</TD><TD>Phase Space</TD><TD>xi-</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.0000000e-02</TD><TD>Phase Space</TD><TD>xi-</TD><TD>gamma</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi(1530)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi(1530)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi(1530)0.html	(revision 904)
@@ -0,0 +1,42 @@
+
+<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>
+<H2>xi(1530)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>3324</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.5334000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>9.1000000e-03 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 3/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>4.9000000e-01</TD><TD>Phase Space</TD><TD>xi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>4.9000000e-01</TD><TD>Phase Space</TD><TD>xi-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>2.0000000e-02</TD><TD>Phase Space</TD><TD>xi0</TD><TD>gamma</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi(1690)-.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi(1690)-.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi(1690)-.html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>xi(1690)-</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>23314</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.6900000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>5.0000000e-02 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 3/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>-1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>7.0000000e-01</TD><TD>Phase Space</TD><TD>lambda</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>sigma0</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>sigma-</TD><TD>anti_kaon0</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>xi0</TD><TD>pi-</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>xi-</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi(1690)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi(1690)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi(1690)0.html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>xi(1690)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>23324</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.6900000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>5.0000000e-02 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 3/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>7.0000000e-01</TD><TD>Phase Space</TD><TD>lambda</TD><TD>kaon0</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>sigma+</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>sigma0</TD><TD>anti_kaon0</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>xi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>xi-</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi(1820)-.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi(1820)-.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi(1820)-.html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>xi(1820)-</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>13314</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.8230000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.4000000e-02 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 3/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>-1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>7.0000000e-01</TD><TD>Phase Space</TD><TD>lambda</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>xi0</TD><TD>pi-</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>xi-</TD><TD>pi0</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>sigma0</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>sigma-</TD><TD>anti_kaon0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi(1820)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi(1820)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi(1820)0.html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>xi(1820)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>13324</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.8230000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.4000000e-02 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 3/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>7.0000000e-01</TD><TD>Phase Space</TD><TD>lambda</TD><TD>kaon0</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>xi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>xi-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>sigma+</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>7.5000000e-02</TD><TD>Phase Space</TD><TD>sigma0</TD><TD>anti_kaon0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi(1950)-.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi(1950)-.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi(1950)-.html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>xi(1950)-</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>33314</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.9500000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>6.0000000e-02 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 3/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>-1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>5.0000000e-01</TD><TD>Phase Space</TD><TD>lambda</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>1.2500000e-01</TD><TD>Phase Space</TD><TD>xi0</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.2500000e-01</TD><TD>Phase Space</TD><TD>xi-</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.2500000e-01</TD><TD>Phase Space</TD><TD>sigma0</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>1.2500000e-01</TD><TD>Phase Space</TD><TD>sigma-</TD><TD>anti_kaon0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi(1950)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi(1950)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi(1950)0.html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>xi(1950)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>33324</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.9500000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>6.0000000e-02 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 3/2<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>5.0000000e-01</TD><TD>Phase Space</TD><TD>lambda</TD><TD>kaon0</TD></TR>
+<TR>
+<TD>1.2500000e-01</TD><TD>Phase Space</TD><TD>xi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.2500000e-01</TD><TD>Phase Space</TD><TD>xi-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.2500000e-01</TD><TD>Phase Space</TD><TD>sigma+</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>1.2500000e-01</TD><TD>Phase Space</TD><TD>sigma0</TD><TD>anti_kaon0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi(2030)-.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi(2030)-.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi(2030)-.html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>xi(2030)-</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>13316</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>2.0250000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.0000000e-02 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 5/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>-1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.5000000e-01</TD><TD>Phase Space</TD><TD>sigma0</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>3.5000000e-01</TD><TD>Phase Space</TD><TD>sigma-</TD><TD>anti_kaon0</TD></TR>
+<TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>lambda</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>xi0</TD><TD>pi-</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>xi-</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi(2030)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi(2030)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi(2030)0.html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>xi(2030)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>13326</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>2.0250000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.0000000e-02 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 5/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.5000000e-01</TD><TD>Phase Space</TD><TD>sigma+</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>3.5000000e-01</TD><TD>Phase Space</TD><TD>sigma0</TD><TD>anti_kaon0</TD></TR>
+<TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>lambda</TD><TD>kaon0</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>xi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>xi-</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi-.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi-.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi-.html	(revision 904)
@@ -0,0 +1,39 @@
+
+<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>
+<H2>xi-</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>3312</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.3217100e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>4.0400000e-15 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 1/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>-1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD>-2.0513000e-14[MeV/T]</TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>1.6390000e-10[sec]</TD>
+</TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.0000000e+00</TD><TD>Phase Space</TD><TD>lambda</TD><TD>pi-</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi0.html	(revision 904)
@@ -0,0 +1,39 @@
+
+<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>
+<H2>xi0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>3322</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.3148300e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.2800000e-15 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 1/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD>-3.9405640e-14[MeV/T]</TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>2.9000000e-10[sec]</TD>
+</TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.0000000e+00</TD><TD>Phase Space</TD><TD>lambda</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi_c+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi_c+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi_c+.html	(revision 904)
@@ -0,0 +1,33 @@
+
+<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>
+<H2>xi_c+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>4232</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>2.4680000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.5000000e-12 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 1/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>4.4200000e-13[sec]</TD>
+</TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi_c0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi_c0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/baryons/xi_c0.html	(revision 904)
@@ -0,0 +1,33 @@
+
+<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>
+<H2>xi_c0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>4132</TD></TR>
+<TR><TD><B>Type</B></TD><TD>baryon</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>2.4710000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>5.9000000e-12 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 1/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>1.1200000e-13[sec]</TD>
+</TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/ions/GenericIon.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/ions/GenericIon.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/ions/GenericIon.html	(revision 904)
@@ -0,0 +1,32 @@
+
+<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>
+<H2>GenericIon</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>0</TD></TR>
+<TR><TD><B>Type</B></TD><TD>nucleus</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>9.3827230e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>0.0000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 1/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>stable</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/ions/He3.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/ions/He3.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/ions/He3.html	(revision 904)
@@ -0,0 +1,32 @@
+
+<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>
+<H2>He3</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>1000020030</TD></TR>
+<TR><TD><B>Type</B></TD><TD>nucleus</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>2.8092300e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>0.0000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 1/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>2.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD>-6.7072336e-14[MeV/T]</TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>stable</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>5</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>4</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/ions/alpha.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/ions/alpha.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/ions/alpha.html	(revision 904)
@@ -0,0 +1,32 @@
+
+<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>
+<H2>alpha</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>1000020040</TD></TR>
+<TR><TD><B>Type</B></TD><TD>nucleus</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>3.7274170e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>0.0000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 0<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>2.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>stable</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>6</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>6</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/ions/deuteron.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/ions/deuteron.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/ions/deuteron.html	(revision 904)
@@ -0,0 +1,32 @@
+
+<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>
+<H2>deuteron</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>1000010020</TD></TR>
+<TR><TD><B>Type</B></TD><TD>nucleus</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.8756130e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>0.0000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 1<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD>2.7030322e-14[MeV/T]</TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>stable</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>3</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>3</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/ions/index.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/ions/index.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/ions/index.html	(revision 904)
@@ -0,0 +1,51 @@
+<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>Mass</FONT></TD><TD><FONT SIZE = +1>Charge</FONT></TD><TD><FONT SIZE = +1>Life Time</FONT></TD><TD><FONT SIZE = +1>Anti-Particle</FONT></TD></TR>
+<TR><TD> </TD><TD> </TD><TD> [GeV/c<SUP>2</SUP>]</TD><TD> </TD><TD> [ns]</TD><TD> </TD></TR>
+<TR>
+<TD>0</TD>
+<TD><A HREF="GenericIon.html">GenericIon</A></TD>
+<TD>9.382723e-01</TD>
+<TD>1.000000e+00</TD>
+<TD>-1.000000e+00</TD>
+</TR>
+<TR>
+<TD>1000020030</TD>
+<TD><A HREF="He3.html">He3</A></TD>
+<TD>2.809230e+00</TD>
+<TD>2.000000e+00</TD>
+<TD>-1.000000e+00</TD>
+</TR>
+<TR>
+<TD>1000020040</TD>
+<TD><A HREF="alpha.html">alpha</A></TD>
+<TD>3.727417e+00</TD>
+<TD>2.000000e+00</TD>
+<TD>-1.000000e+00</TD>
+</TR>
+<TR>
+<TD>1000010020</TD>
+<TD><A HREF="deuteron.html">deuteron</A></TD>
+<TD>1.875613e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>-1.000000e+00</TD>
+</TR>
+<TR>
+<TD>1000010030</TD>
+<TD><A HREF="triton.html">triton</A></TD>
+<TD>2.809250e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>-1.000000e+00</TD>
+</TR>
+</TABLE>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/ions/triton.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/ions/triton.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/ions/triton.html	(revision 904)
@@ -0,0 +1,32 @@
+
+<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>
+<H2>triton</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>1000010030</TD></TR>
+<TR><TD><B>Type</B></TD><TD>nucleus</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>2.8092500e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>0.0000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 1/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD>9.3910339e-14[MeV/T]</TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>stable</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>4</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>5</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/leptons/e-.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/leptons/e-.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/leptons/e-.html	(revision 904)
@@ -0,0 +1,32 @@
+
+<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>
+<H2>e-</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>11</TD></TR>
+<TR><TD><B>Type</B></TD><TD>lepton</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>5.1099891e-04 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>0.0000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 1/2<SUP><FONT FACE = "symbol" >  </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>-1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD>-1.1590189e-10[MeV/T]</TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>stable</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/leptons/index.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/leptons/index.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/leptons/index.html	(revision 904)
@@ -0,0 +1,64 @@
+<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>Mass</FONT></TD><TD><FONT SIZE = +1>Charge</FONT></TD><TD><FONT SIZE = +1>Life Time</FONT></TD><TD><FONT SIZE = +1>Anti-Particle</FONT></TD></TR>
+<TR><TD> </TD><TD> </TD><TD> [GeV/c<SUP>2</SUP>]</TD><TD> </TD><TD> [ns]</TD><TD> </TD></TR>
+<TR>
+<TD>11</TD>
+<TD><A HREF="e-.html">e-</A></TD>
+<TD>5.109989e-04</TD>
+<TD>-1.000000e+00</TD>
+<TD>-1.000000e+00</TD>
+<TD>e+</TD>
+</TR>
+<TR>
+<TD>13</TD>
+<TD><A HREF="mu-.html">mu-</A></TD>
+<TD>1.056584e-01</TD>
+<TD>-1.000000e+00</TD>
+<TD>2.197030e+03</TD>
+<TD>mu+</TD>
+</TR>
+<TR>
+<TD>12</TD>
+<TD><A HREF="nu_e.html">nu_e</A></TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_nu_e</TD>
+</TR>
+<TR>
+<TD>14</TD>
+<TD><A HREF="nu_mu.html">nu_mu</A></TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_nu_mu</TD>
+</TR>
+<TR>
+<TD>16</TD>
+<TD><A HREF="nu_tau.html">nu_tau</A></TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_nu_tau</TD>
+</TR>
+<TR>
+<TD>15</TD>
+<TD><A HREF="tau-.html">tau-</A></TD>
+<TD>1.776990e+00</TD>
+<TD>-1.000000e+00</TD>
+<TD>2.906000e-04</TD>
+<TD>tau+</TD>
+</TR>
+</TABLE>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/leptons/mu-.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/leptons/mu-.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/leptons/mu-.html	(revision 904)
@@ -0,0 +1,39 @@
+
+<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>
+<H2>mu-</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>13</TD></TR>
+<TR><TD><B>Type</B></TD><TD>lepton</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.0565840e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>3.0159400e-19 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 1/2<SUP><FONT FACE = "symbol" >  </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>-1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD>-5.6054330e-13[MeV/T]</TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>2.1970300e-06[sec]</TD>
+</TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.0000000e+00</TD><TD>Muon Decay</TD><TD>e-</TD><TD>anti_nu_e</TD><TD>nu_mu</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/leptons/nu_e.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/leptons/nu_e.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/leptons/nu_e.html	(revision 904)
@@ -0,0 +1,32 @@
+
+<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>
+<H2>nu_e</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>12</TD></TR>
+<TR><TD><B>Type</B></TD><TD>lepton</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>0.0000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>0.0000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 1/2<SUP><FONT FACE = "symbol" >  </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>stable</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/leptons/nu_mu.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/leptons/nu_mu.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/leptons/nu_mu.html	(revision 904)
@@ -0,0 +1,32 @@
+
+<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>
+<H2>nu_mu</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>14</TD></TR>
+<TR><TD><B>Type</B></TD><TD>lepton</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>0.0000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>0.0000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 1/2<SUP><FONT FACE = "symbol" >  </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>stable</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/leptons/nu_tau.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/leptons/nu_tau.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/leptons/nu_tau.html	(revision 904)
@@ -0,0 +1,32 @@
+
+<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>
+<H2>nu_tau</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>16</TD></TR>
+<TR><TD><B>Type</B></TD><TD>lepton</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>0.0000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>0.0000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 1/2<SUP><FONT FACE = "symbol" >  </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>stable</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/leptons/tau-.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/leptons/tau-.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/leptons/tau-.html	(revision 904)
@@ -0,0 +1,49 @@
+
+<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>
+<H2>tau-</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>15</TD></TR>
+<TR><TD><B>Type</B></TD><TD>lepton</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.7769900e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.2800000e-12 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 1/2<SUP><FONT FACE = "symbol" >  </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>-1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD>-3.3329258e-14[MeV/T]</TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>2.9060000e-13[sec]</TD>
+</TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>2.5410000e-01</TD><TD>Phase Space</TD><TD>pi0</TD><TD>pi-</TD><TD>nu_tau</TD></TR>
+<TR>
+<TD>1.7840000e-01</TD><TD>Tau Leptonic Decay</TD><TD>e-</TD><TD>anti_nu_e</TD><TD>nu_tau</TD></TR>
+<TR>
+<TD>1.7360000e-01</TD><TD>Tau Leptonic Decay</TD><TD>mu-</TD><TD>anti_nu_mu</TD><TD>nu_tau</TD></TR>
+<TR>
+<TD>1.1060000e-01</TD><TD>Phase Space</TD><TD>pi-</TD><TD>nu_tau</TD></TR>
+<TR>
+<TD>9.4600000e-02</TD><TD>Phase Space</TD><TD>pi-</TD><TD>pi-</TD><TD>pi+</TD><TD>nu_tau</TD></TR>
+<TR>
+<TD>9.1700000e-02</TD><TD>Phase Space</TD><TD>pi0</TD><TD>pi0</TD><TD>pi-</TD><TD>nu_tau</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/B+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/B+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/B+.html	(revision 904)
@@ -0,0 +1,33 @@
+
+<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>
+<H2>B+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>521</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>5.2790000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>4.0450000e-13 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 0<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>1.6380000e-12[sec]</TD>
+</TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/B0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/B0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/B0.html	(revision 904)
@@ -0,0 +1,33 @@
+
+<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>
+<H2>B0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>511</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>5.2794000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>4.3310000e-13 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 0<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>1.5300000e-12[sec]</TD>
+</TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/Bs0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/Bs0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/Bs0.html	(revision 904)
@@ -0,0 +1,33 @@
+
+<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>
+<H2>Bs0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>531</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>5.3663000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>4.6500000e-13 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 0<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>1.4700000e-12[sec]</TD>
+</TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/D+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/D+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/D+.html	(revision 904)
@@ -0,0 +1,33 @@
+
+<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>
+<H2>D+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>411</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.8696200e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>6.3700000e-13 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 0<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>1.0400000e-12[sec]</TD>
+</TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/D0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/D0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/D0.html	(revision 904)
@@ -0,0 +1,33 @@
+
+<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>
+<H2>D0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>421</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.8648400e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.6160000e-12 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 0<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>4.1010000e-13[sec]</TD>
+</TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/Ds+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/Ds+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/Ds+.html	(revision 904)
@@ -0,0 +1,33 @@
+
+<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>
+<H2>Ds+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>431</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.9684900e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.3250000e-12 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 0<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>5.0000000e-13[sec]</TD>
+</TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>c</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/a0(1450)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/a0(1450)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/a0(1450)+.html	(revision 904)
@@ -0,0 +1,40 @@
+
+<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>
+<H2>a0(1450)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>10211</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.4740000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.6500000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 0<SUP><FONT FACE = "symbol" >++</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>rho+</TD><TD>eta</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>anti_kaon0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/a0(1450)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/a0(1450)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/a0(1450)0.html	(revision 904)
@@ -0,0 +1,42 @@
+
+<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>
+<H2>a0(1450)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>10111</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.4740000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.6500000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 0<SUP><FONT FACE = "symbol" >++</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>1</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>rho0</TD><TD>eta</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>anti_kaon0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/a0(980)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/a0(980)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/a0(980)+.html	(revision 904)
@@ -0,0 +1,38 @@
+
+<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>
+<H2>a0(980)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>9000211</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>9.8470000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>6.0000000e-02 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 0<SUP><FONT FACE = "symbol" >++</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.0000000e+00</TD><TD>Phase Space</TD><TD>pi+</TD><TD>eta</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/a0(980)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/a0(980)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/a0(980)0.html	(revision 904)
@@ -0,0 +1,38 @@
+
+<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>
+<H2>a0(980)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>9000111</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>9.8470000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>7.5000000e-02 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 0<SUP><FONT FACE = "symbol" >++</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>1</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.0000000e+00</TD><TD>Phase Space</TD><TD>pi0</TD><TD>eta</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/a1(1260)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/a1(1260)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/a1(1260)+.html	(revision 904)
@@ -0,0 +1,42 @@
+
+<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>
+<H2>a1(1260)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>20213</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.2300000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>4.2000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 1<SUP><FONT FACE = "symbol" >++</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>4.5000000e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>rho0</TD></TR>
+<TR>
+<TD>4.5000000e-01</TD><TD>Phase Space</TD><TD>pi0</TD><TD>rho+</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>gamma</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/a1(1260)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/a1(1260)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/a1(1260)0.html	(revision 904)
@@ -0,0 +1,42 @@
+
+<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>
+<H2>a1(1260)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>20113</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.2300000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>4.2000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 1<SUP><FONT FACE = "symbol" >++</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>1</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>4.5000000e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>rho-</TD></TR>
+<TR>
+<TD>4.5000000e-01</TD><TD>Phase Space</TD><TD>pi-</TD><TD>rho+</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>pi0</TD><TD>gamma</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/a2(1320)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/a2(1320)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/a2(1320)+.html	(revision 904)
@@ -0,0 +1,44 @@
+
+<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>
+<H2>a2(1320)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>215</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.3183000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.0700000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 2<SUP><FONT FACE = "symbol" >++</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.5000000e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>rho0</TD></TR>
+<TR>
+<TD>3.5000000e-01</TD><TD>Phase Space</TD><TD>pi0</TD><TD>rho+</TD></TR>
+<TR>
+<TD>1.1000000e-01</TD><TD>Phase Space</TD><TD>omega</TD><TD>pi+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>anti_kaon0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/a2(1320)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/a2(1320)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/a2(1320)0.html	(revision 904)
@@ -0,0 +1,48 @@
+
+<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>
+<H2>a2(1320)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>115</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.3183000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.0700000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 2<SUP><FONT FACE = "symbol" >++</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>1</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.5000000e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>rho-</TD></TR>
+<TR>
+<TD>3.5000000e-01</TD><TD>Phase Space</TD><TD>pi-</TD><TD>rho+</TD></TR>
+<TR>
+<TD>5.5000000e-02</TD><TD>Phase Space</TD><TD>omega</TD><TD>pi-</TD><TD>pi+</TD></TR>
+<TR>
+<TD>5.5000000e-02</TD><TD>Phase Space</TD><TD>omega</TD><TD>pi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>2.5000000e-02</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>anti_kaon0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/b1(1235)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/b1(1235)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/b1(1235)+.html	(revision 904)
@@ -0,0 +1,38 @@
+
+<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>
+<H2>b1(1235)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>10213</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.2295000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.4200000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 1<SUP><FONT FACE = "symbol" >+-</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.0000000e+00</TD><TD>Phase Space</TD><TD>pi+</TD><TD>omega</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/b1(1235)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/b1(1235)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/b1(1235)0.html	(revision 904)
@@ -0,0 +1,38 @@
+
+<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>
+<H2>b1(1235)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>10113</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.2295000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.4200000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 1<SUP><FONT FACE = "symbol" >+-</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>1</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.0000000e+00</TD><TD>Phase Space</TD><TD>pi0</TD><TD>omega</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/eta(1295).html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/eta(1295).html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/eta(1295).html	(revision 904)
@@ -0,0 +1,40 @@
+
+<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>
+<H2>eta(1295)</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>100221</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.2940000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>5.5000000e-02 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 0<SUP><FONT FACE = "symbol" >-+</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>1</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>6.6666667e-01</TD><TD>Phase Space</TD><TD>eta</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>3.3333333e-01</TD><TD>Phase Space</TD><TD>eta</TD><TD>pi0</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/eta(1405).html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/eta(1405).html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/eta(1405).html	(revision 904)
@@ -0,0 +1,38 @@
+
+<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>
+<H2>eta(1405)</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>9020221</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.4098000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>5.1100000e-02 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 0<SUP><FONT FACE = "symbol" >-+</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>1</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.0000000e+00</TD><TD>Phase Space</TD><TD>rho+</TD><TD>rho-</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/eta(1475).html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/eta(1475).html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/eta(1475).html	(revision 904)
@@ -0,0 +1,56 @@
+
+<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>
+<H2>eta(1475)</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>100331</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.4760000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>8.5000000e-02 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 0<SUP><FONT FACE = "symbol" >-+</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>1</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>anti_kaon0</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>kaon-</TD><TD>kaon0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.3333333e-01</TD><TD>Phase Space</TD><TD>eta</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>kaon-</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>anti_kaon0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>6.6666667e-02</TD><TD>Phase Space</TD><TD>eta</TD><TD>pi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>k_star-</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>kaon-</TD><TD>k_star0</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>anti_k_star0</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>anti_kaon0</TD><TD>k_star0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/eta.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/eta.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/eta.html	(revision 904)
@@ -0,0 +1,44 @@
+
+<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>
+<H2>eta</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>221</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>5.4785300e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.3000000e-06 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 0<SUP><FONT FACE = "symbol" >-+</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>not Defined</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>1</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.9420000e-01</TD><TD>Phase Space</TD><TD>gamma</TD><TD>gamma</TD></TR>
+<TR>
+<TD>3.2560000e-01</TD><TD>Phase Space</TD><TD>pi0</TD><TD>pi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.2600000e-01</TD><TD>Phase Space</TD><TD>pi0</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>4.6800000e-02</TD><TD>Phase Space</TD><TD>gamma</TD><TD>pi+</TD><TD>pi-</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/eta2(1645).html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/eta2(1645).html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/eta2(1645).html	(revision 904)
@@ -0,0 +1,50 @@
+
+<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>
+<H2>eta2(1645)</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>10225</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.6170000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.8100000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 2<SUP><FONT FACE = "symbol" >-+</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>1</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.0000000e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>a2(1320)-</TD></TR>
+<TR>
+<TD>3.0000000e-01</TD><TD>Phase Space</TD><TD>pi0</TD><TD>a2(1320)0</TD></TR>
+<TR>
+<TD>3.0000000e-01</TD><TD>Phase Space</TD><TD>pi-</TD><TD>a2(1320)+</TD></TR>
+<TR>
+<TD>3.3333333e-02</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>anti_kaon0</TD><TD>pi-</TD></TR>
+<TR>
+<TD>3.3333333e-02</TD><TD>Phase Space</TD><TD>kaon-</TD><TD>kaon0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.6666667e-02</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>kaon-</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.6666667e-02</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>anti_kaon0</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/eta2(1870).html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/eta2(1870).html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/eta2(1870).html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>eta2(1870)</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>10335</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.8420000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.2500000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 2<SUP><FONT FACE = "symbol" >-+</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>1</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>2.5000000e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>pi-</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.5000000e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>pi-</TD><TD>pi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.6666667e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>a2(1320)-</TD></TR>
+<TR>
+<TD>1.6666667e-01</TD><TD>Phase Space</TD><TD>pi0</TD><TD>a2(1320)0</TD></TR>
+<TR>
+<TD>1.6666667e-01</TD><TD>Phase Space</TD><TD>pi-</TD><TD>a2(1320)+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/eta_prime.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/eta_prime.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/eta_prime.html	(revision 904)
@@ -0,0 +1,42 @@
+
+<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>
+<H2>eta_prime</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>331</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>9.5766000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.0500000e-04 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 0<SUP><FONT FACE = "symbol" >-+</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>not Defined</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>1</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>4.3700000e-01</TD><TD>Phase Space</TD><TD>eta</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>3.0200000e-01</TD><TD>Phase Space</TD><TD>rho0</TD><TD>gamma</TD></TR>
+<TR>
+<TD>2.0800000e-01</TD><TD>Phase Space</TD><TD>eta</TD><TD>pi0</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/f0(1370).html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/f0(1370).html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/f0(1370).html	(revision 904)
@@ -0,0 +1,48 @@
+
+<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>
+<H2>f0(1370)</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>10221</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.3500000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>3.5000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 0<SUP><FONT FACE = "symbol" >++</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>1</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.5000000e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>pi-</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>3.5000000e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>pi-</TD><TD>pi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>anti_kaon0</TD></TR>
+<TR>
+<TD>6.6666667e-02</TD><TD>Phase Space</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>3.3333333e-02</TD><TD>Phase Space</TD><TD>pi0</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/f0(1500).html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/f0(1500).html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/f0(1500).html	(revision 904)
@@ -0,0 +1,38 @@
+
+<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>
+<H2>f0(1500)</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>9030221</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.5050000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.0900000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 0<SUP><FONT FACE = "symbol" >++</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>1</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.0000000e+00</TD><TD>Phase Space</TD><TD>eta</TD><TD>eta</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/f0(1710).html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/f0(1710).html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/f0(1710).html	(revision 904)
@@ -0,0 +1,42 @@
+
+<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>
+<H2>f0(1710)</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>10331</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.7240000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.3700000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 0<SUP><FONT FACE = "symbol" >++</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>1</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>4.0000000e-01</TD><TD>Phase Space</TD><TD>kaon0S</TD><TD>kaon0S</TD></TR>
+<TR>
+<TD>4.0000000e-01</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>eta</TD><TD>eta</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/f0(600).html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/f0(600).html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/f0(600).html	(revision 904)
@@ -0,0 +1,38 @@
+
+<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>
+<H2>f0(600)</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>9000221</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>8.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>8.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 0<SUP><FONT FACE = "symbol" >++</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>1</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.0000000e+00</TD><TD>Phase Space</TD><TD>pi+</TD><TD>pi-</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/f0(980).html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/f0(980).html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/f0(980).html	(revision 904)
@@ -0,0 +1,38 @@
+
+<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>
+<H2>f0(980)</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>9010221</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>9.8000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>7.0000000e-02 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 0<SUP><FONT FACE = "symbol" >++</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>1</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.0000000e+00</TD><TD>Phase Space</TD><TD>pi+</TD><TD>pi-</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/f1(1285).html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/f1(1285).html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/f1(1285).html	(revision 904)
@@ -0,0 +1,56 @@
+
+<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>
+<H2>f1(1285)</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>20223</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.2818000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.4300000e-02 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 1<SUP><FONT FACE = "symbol" >++</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>1</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.6000000e-01</TD><TD>Phase Space</TD><TD>eta</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.8000000e-01</TD><TD>Phase Space</TD><TD>eta</TD><TD>pi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>pi-</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>pi-</TD><TD>pi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>7.0000000e-02</TD><TD>Phase Space</TD><TD>rho0</TD><TD>gamma</TD></TR>
+<TR>
+<TD>3.0000000e-02</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>anti_kaon0</TD><TD>pi-</TD></TR>
+<TR>
+<TD>3.0000000e-02</TD><TD>Phase Space</TD><TD>kaon-</TD><TD>kaon0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>2.0000000e-02</TD><TD>Phase Space</TD><TD>rho0</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.5000000e-02</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>kaon-</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.5000000e-02</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>anti_kaon0</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/f1(1420).html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/f1(1420).html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/f1(1420).html	(revision 904)
@@ -0,0 +1,52 @@
+
+<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>
+<H2>f1(1420)</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>20333</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.4263000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>5.4900000e-02 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 1<SUP><FONT FACE = "symbol" >++</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>1</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.6666667e-01</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>anti_kaon0</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.6666667e-01</TD><TD>Phase Space</TD><TD>kaon-</TD><TD>kaon0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.2500000e-01</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>k_star-</TD></TR>
+<TR>
+<TD>1.2500000e-01</TD><TD>Phase Space</TD><TD>kaon-</TD><TD>k_star0</TD></TR>
+<TR>
+<TD>1.2500000e-01</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>anti_k_star0</TD></TR>
+<TR>
+<TD>1.2500000e-01</TD><TD>Phase Space</TD><TD>anti_kaon0</TD><TD>k_star0</TD></TR>
+<TR>
+<TD>8.3333333e-02</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>kaon-</TD><TD>pi0</TD></TR>
+<TR>
+<TD>8.3333333e-02</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>anti_kaon0</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/f2(1270).html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/f2(1270).html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/f2(1270).html	(revision 904)
@@ -0,0 +1,48 @@
+
+<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>
+<H2>f2(1270)</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>225</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.2751000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.8500000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 2<SUP><FONT FACE = "symbol" >++</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>1</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.3333333e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.6666667e-01</TD><TD>Phase Space</TD><TD>pi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>pi-</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>pi-</TD><TD>pi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>anti_kaon0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/f2(1810).html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/f2(1810).html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/f2(1810).html	(revision 904)
@@ -0,0 +1,48 @@
+
+<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>
+<H2>f2(1810)</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>9030225</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.8150000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.9700000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 2<SUP><FONT FACE = "symbol" >++</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>1</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.3333333e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>eta</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.6666667e-01</TD><TD>Phase Space</TD><TD>pi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>anti_kaon0</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>eta</TD><TD>pi0</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/f2(2010).html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/f2(2010).html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/f2(2010).html	(revision 904)
@@ -0,0 +1,40 @@
+
+<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>
+<H2>f2(2010)</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>9060225</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>2.0100000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 2<SUP><FONT FACE = "symbol" >++</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>1</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>5.0000000e-01</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>5.0000000e-01</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>anti_kaon0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/f2_prime(1525).html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/f2_prime(1525).html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/f2_prime(1525).html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>f2_prime(1525)</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>335</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.5250000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>7.3000000e-02 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 2<SUP><FONT FACE = "symbol" >++</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>1</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>4.4500000e-01</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>4.4500000e-01</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>anti_kaon0</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>eta</TD><TD>eta</TD></TR>
+<TR>
+<TD>6.6666667e-03</TD><TD>Phase Space</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>3.3333333e-03</TD><TD>Phase Space</TD><TD>pi0</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/h1(1170).html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/h1(1170).html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/h1(1170).html	(revision 904)
@@ -0,0 +1,44 @@
+
+<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>
+<H2>h1(1170)</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>10223</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.1700000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>3.6000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 1<SUP><FONT FACE = "symbol" >+-</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>1</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.0000000e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>rho-</TD></TR>
+<TR>
+<TD>3.0000000e-01</TD><TD>Phase Space</TD><TD>pi0</TD><TD>rho0</TD></TR>
+<TR>
+<TD>3.0000000e-01</TD><TD>Phase Space</TD><TD>pi-</TD><TD>rho+</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>pi-</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/h1(1380).html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/h1(1380).html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/h1(1380).html	(revision 904)
@@ -0,0 +1,44 @@
+
+<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>
+<H2>h1(1380)</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>10333</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.3860000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>9.1000000e-02 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 1<SUP><FONT FACE = "symbol" >+-</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>1</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>2.5000000e-01</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>k_star-</TD></TR>
+<TR>
+<TD>2.5000000e-01</TD><TD>Phase Space</TD><TD>kaon-</TD><TD>k_star0</TD></TR>
+<TR>
+<TD>2.5000000e-01</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>anti_k_star0</TD></TR>
+<TR>
+<TD>2.5000000e-01</TD><TD>Phase Space</TD><TD>anti_kaon0</TD><TD>k_star0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/index.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/index.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/index.html	(revision 904)
@@ -0,0 +1,646 @@
+<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>Mass</FONT></TD><TD><FONT SIZE = +1>Charge</FONT></TD><TD><FONT SIZE = +1>Life Time</FONT></TD><TD><FONT SIZE = +1>Anti-Particle</FONT></TD></TR>
+<TR><TD> </TD><TD> </TD><TD> [GeV/c<SUP>2</SUP>]</TD><TD> </TD><TD> [ns]</TD><TD> </TD></TR>
+<TR>
+<TD>521</TD>
+<TD><A HREF="B+.html">B+</A></TD>
+<TD>5.279000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>1.638000e-03</TD>
+<TD>B-</TD>
+</TR>
+<TR>
+<TD>511</TD>
+<TD><A HREF="B0.html">B0</A></TD>
+<TD>5.279400e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>1.530000e-03</TD>
+<TD>anti_B0</TD>
+</TR>
+<TR>
+<TD>531</TD>
+<TD><A HREF="Bs0.html">Bs0</A></TD>
+<TD>5.366300e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>1.470000e-03</TD>
+<TD>anti_Bs0</TD>
+</TR>
+<TR>
+<TD>411</TD>
+<TD><A HREF="D+.html">D+</A></TD>
+<TD>1.869620e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>1.040000e-03</TD>
+<TD>D-</TD>
+</TR>
+<TR>
+<TD>421</TD>
+<TD><A HREF="D0.html">D0</A></TD>
+<TD>1.864840e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>4.101000e-04</TD>
+<TD>anti_D0</TD>
+</TR>
+<TR>
+<TD>431</TD>
+<TD><A HREF="Ds+.html">Ds+</A></TD>
+<TD>1.968490e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>5.000000e-04</TD>
+<TD>Ds-</TD>
+</TR>
+<TR>
+<TD>443</TD>
+<TD><A HREF="jpsi.html">J/psi</A></TD>
+<TD>3.096916e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>10211</TD>
+<TD><A HREF="a0(1450)+.html">a0(1450)+</A></TD>
+<TD>1.474000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>a0(1450)-</TD>
+</TR>
+<TR>
+<TD>10111</TD>
+<TD><A HREF="a0(1450)0.html">a0(1450)0</A></TD>
+<TD>1.474000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>9000211</TD>
+<TD><A HREF="a0(980)+.html">a0(980)+</A></TD>
+<TD>9.847000e-01</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>a0(980)-</TD>
+</TR>
+<TR>
+<TD>9000111</TD>
+<TD><A HREF="a0(980)0.html">a0(980)0</A></TD>
+<TD>9.847000e-01</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>20213</TD>
+<TD><A HREF="a1(1260)+.html">a1(1260)+</A></TD>
+<TD>1.230000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>a1(1260)-</TD>
+</TR>
+<TR>
+<TD>20113</TD>
+<TD><A HREF="a1(1260)0.html">a1(1260)0</A></TD>
+<TD>1.230000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>215</TD>
+<TD><A HREF="a2(1320)+.html">a2(1320)+</A></TD>
+<TD>1.318300e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>a2(1320)-</TD>
+</TR>
+<TR>
+<TD>115</TD>
+<TD><A HREF="a2(1320)0.html">a2(1320)0</A></TD>
+<TD>1.318300e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>10213</TD>
+<TD><A HREF="b1(1235)+.html">b1(1235)+</A></TD>
+<TD>1.229500e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>b1(1235)-</TD>
+</TR>
+<TR>
+<TD>10113</TD>
+<TD><A HREF="b1(1235)0.html">b1(1235)0</A></TD>
+<TD>1.229500e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>221</TD>
+<TD><A HREF="eta.html">eta</A></TD>
+<TD>5.478530e-01</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>100221</TD>
+<TD><A HREF="eta(1295).html">eta(1295)</A></TD>
+<TD>1.294000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>9020221</TD>
+<TD><A HREF="eta(1405).html">eta(1405)</A></TD>
+<TD>1.409800e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>100331</TD>
+<TD><A HREF="eta(1475).html">eta(1475)</A></TD>
+<TD>1.476000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>10225</TD>
+<TD><A HREF="eta2(1645).html">eta2(1645)</A></TD>
+<TD>1.617000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>10335</TD>
+<TD><A HREF="eta2(1870).html">eta2(1870)</A></TD>
+<TD>1.842000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>331</TD>
+<TD><A HREF="eta_prime.html">eta_prime</A></TD>
+<TD>9.576600e-01</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>10221</TD>
+<TD><A HREF="f0(1370).html">f0(1370)</A></TD>
+<TD>1.350000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>9030221</TD>
+<TD><A HREF="f0(1500).html">f0(1500)</A></TD>
+<TD>1.505000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>10331</TD>
+<TD><A HREF="f0(1710).html">f0(1710)</A></TD>
+<TD>1.724000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>9000221</TD>
+<TD><A HREF="f0(600).html">f0(600)</A></TD>
+<TD>8.000000e-01</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>9010221</TD>
+<TD><A HREF="f0(980).html">f0(980)</A></TD>
+<TD>9.800000e-01</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>20223</TD>
+<TD><A HREF="f1(1285).html">f1(1285)</A></TD>
+<TD>1.281800e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>20333</TD>
+<TD><A HREF="f1(1420).html">f1(1420)</A></TD>
+<TD>1.426300e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>225</TD>
+<TD><A HREF="f2(1270).html">f2(1270)</A></TD>
+<TD>1.275100e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>9030225</TD>
+<TD><A HREF="f2(1810).html">f2(1810)</A></TD>
+<TD>1.815000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>9060225</TD>
+<TD><A HREF="f2(2010).html">f2(2010)</A></TD>
+<TD>2.010000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>335</TD>
+<TD><A HREF="f2_prime(1525).html">f2_prime(1525)</A></TD>
+<TD>1.525000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>10223</TD>
+<TD><A HREF="h1(1170).html">h1(1170)</A></TD>
+<TD>1.170000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>10333</TD>
+<TD><A HREF="h1(1380).html">h1(1380)</A></TD>
+<TD>1.386000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>100321</TD>
+<TD><A HREF="k(1460)+.html">k(1460)+</A></TD>
+<TD>1.460000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>k(1460)-</TD>
+</TR>
+<TR>
+<TD>100311</TD>
+<TD><A HREF="k(1460)0.html">k(1460)0</A></TD>
+<TD>1.460000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</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>1.420000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</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>1.420000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_k0_star(1430)0</TD>
+</TR>
+<TR>
+<TD>10323</TD>
+<TD><A HREF="k1(1270)+.html">k1(1270)+</A></TD>
+<TD>1.272000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>k1(1270)-</TD>
+</TR>
+<TR>
+<TD>10313</TD>
+<TD><A HREF="k1(1270)0.html">k1(1270)0</A></TD>
+<TD>1.272000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_k1(1270)0</TD>
+</TR>
+<TR>
+<TD>20323</TD>
+<TD><A HREF="k1(1400)+.html">k1(1400)+</A></TD>
+<TD>1.403000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>k1(1400)-</TD>
+</TR>
+<TR>
+<TD>20313</TD>
+<TD><A HREF="k1(1400)0.html">k1(1400)0</A></TD>
+<TD>1.403000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_k1(1400)0</TD>
+</TR>
+<TR>
+<TD>10325</TD>
+<TD><A HREF="k2(1770)+.html">k2(1770)+</A></TD>
+<TD>1.773000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>k2(1770)-</TD>
+</TR>
+<TR>
+<TD>10315</TD>
+<TD><A HREF="k2(1770)0.html">k2(1770)0</A></TD>
+<TD>1.773000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</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>1.425600e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</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>1.432400e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</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>1.973000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</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>1.973000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</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>1.776000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</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>1.776000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</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>1.414000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</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>1.414000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</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>1.717000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</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>1.717000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_k_star(1680)0</TD>
+</TR>
+<TR>
+<TD>323</TD>
+<TD><A HREF="k_star+.html">k_star+</A></TD>
+<TD>8.916000e-01</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>k_star-</TD>
+</TR>
+<TR>
+<TD>313</TD>
+<TD><A HREF="k_star0.html">k_star0</A></TD>
+<TD>8.960000e-01</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_k_star0</TD>
+</TR>
+<TR>
+<TD>321</TD>
+<TD><A HREF="kaon+.html">kaon+</A></TD>
+<TD>4.936770e-01</TD>
+<TD>1.000000e+00</TD>
+<TD>1.238500e+01</TD>
+<TD>kaon-</TD>
+</TR>
+<TR>
+<TD>311</TD>
+<TD><A HREF="kaon0.html">kaon0</A></TD>
+<TD>4.976140e-01</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>anti_kaon0</TD>
+</TR>
+<TR>
+<TD>130</TD>
+<TD><A HREF="kaon0L.html">kaon0L</A></TD>
+<TD>4.976140e-01</TD>
+<TD>0.000000e+00</TD>
+<TD>5.116000e+01</TD>
+</TR>
+<TR>
+<TD>310</TD>
+<TD><A HREF="kaon0S.html">kaon0S</A></TD>
+<TD>4.976140e-01</TD>
+<TD>0.000000e+00</TD>
+<TD>8.958000e-02</TD>
+</TR>
+<TR>
+<TD>223</TD>
+<TD><A HREF="omega.html">omega</A></TD>
+<TD>7.826500e-01</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>100223</TD>
+<TD><A HREF="omega(1420).html">omega(1420)</A></TD>
+<TD>1.425000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>30223</TD>
+<TD><A HREF="omega(1650).html">omega(1650)</A></TD>
+<TD>1.670000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>227</TD>
+<TD><A HREF="omega3(1670).html">omega3(1670)</A></TD>
+<TD>1.667000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>333</TD>
+<TD><A HREF="phi.html">phi</A></TD>
+<TD>1.019460e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>100333</TD>
+<TD><A HREF="phi(1680).html">phi(1680)</A></TD>
+<TD>1.680000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>337</TD>
+<TD><A HREF="phi3(1850).html">phi3(1850)</A></TD>
+<TD>1.854000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>100211</TD>
+<TD><A HREF="pi(1300)+.html">pi(1300)+</A></TD>
+<TD>1.300000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>pi(1300)-</TD>
+</TR>
+<TR>
+<TD>100111</TD>
+<TD><A HREF="pi(1300)0.html">pi(1300)0</A></TD>
+<TD>1.300000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>211</TD>
+<TD><A HREF="pi+.html">pi+</A></TD>
+<TD>1.395700e-01</TD>
+<TD>1.000000e+00</TD>
+<TD>2.603000e+01</TD>
+<TD>pi-</TD>
+</TR>
+<TR>
+<TD>111</TD>
+<TD><A HREF="pi0.html">pi0</A></TD>
+<TD>1.349764e-01</TD>
+<TD>0.000000e+00</TD>
+<TD>8.400000e-08</TD>
+</TR>
+<TR>
+<TD>10215</TD>
+<TD><A HREF="pi2(1670)+.html">pi2(1670)+</A></TD>
+<TD>1.672400e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>pi2(1670)-</TD>
+</TR>
+<TR>
+<TD>10115</TD>
+<TD><A HREF="pi2(1670)0.html">pi2(1670)0</A></TD>
+<TD>1.672400e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>100213</TD>
+<TD><A HREF="rho(1450)+.html">rho(1450)+</A></TD>
+<TD>1.465000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>rho(1450)-</TD>
+</TR>
+<TR>
+<TD>100113</TD>
+<TD><A HREF="rho(1450)0.html">rho(1450)0</A></TD>
+<TD>1.465000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>30213</TD>
+<TD><A HREF="rho(1700)+.html">rho(1700)+</A></TD>
+<TD>1.720000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>rho(1700)-</TD>
+</TR>
+<TR>
+<TD>30113</TD>
+<TD><A HREF="rho(1700)0.html">rho(1700)0</A></TD>
+<TD>1.720000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>213</TD>
+<TD><A HREF="rho+.html">rho+</A></TD>
+<TD>7.758000e-01</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>rho-</TD>
+</TR>
+<TR>
+<TD>113</TD>
+<TD><A HREF="rho0.html">rho0</A></TD>
+<TD>7.755000e-01</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>217</TD>
+<TD><A HREF="rho3(1690)+.html">rho3(1690)+</A></TD>
+<TD>1.688800e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>rho3(1690)-</TD>
+</TR>
+<TR>
+<TD>117</TD>
+<TD><A HREF="rho3(1690)0.html">rho3(1690)0</A></TD>
+<TD>1.688800e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+</TABLE>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/jpsi.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/jpsi.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/jpsi.html	(revision 904)
@@ -0,0 +1,32 @@
+
+<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>
+<H2>J/psi</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>443</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>3.0969160e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>9.3200000e-05 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 1<SUP><FONT FACE = "symbol" >--</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>not Defined</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>1</B></TD><TD><B>1</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k(1460)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k(1460)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k(1460)+.html	(revision 904)
@@ -0,0 +1,44 @@
+
+<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>
+<H2>k(1460)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>100321</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.4600000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.6000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 0<SUP><FONT FACE = "symbol" >-+</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.3333333e-01</TD><TD>Phase Space</TD><TD>k_star0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>3.3333333e-01</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>rho+</TD></TR>
+<TR>
+<TD>1.6666667e-01</TD><TD>Phase Space</TD><TD>k_star+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.6666667e-01</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>rho0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k(1460)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k(1460)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k(1460)0.html	(revision 904)
@@ -0,0 +1,44 @@
+
+<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>
+<H2>k(1460)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>100311</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.4600000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.6000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 0<SUP><FONT FACE = "symbol" >-+</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.3333333e-01</TD><TD>Phase Space</TD><TD>k_star+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>3.3333333e-01</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>rho-</TD></TR>
+<TR>
+<TD>1.6666667e-01</TD><TD>Phase Space</TD><TD>k_star0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.6666667e-01</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>rho0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k0_star(1430)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k0_star(1430)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k0_star(1430)+.html	(revision 904)
@@ -0,0 +1,40 @@
+
+<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>
+<H2>k0_star(1430)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>10321</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.4200000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.7000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 0<SUP><FONT FACE = "symbol" >++</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>6.6666667e-01</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>3.3333333e-01</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k0_star(1430)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k0_star(1430)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k0_star(1430)0.html	(revision 904)
@@ -0,0 +1,40 @@
+
+<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>
+<H2>k0_star(1430)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>10311</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.4200000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.7000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 0<SUP><FONT FACE = "symbol" >++</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>6.6666667e-01</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>3.3333333e-01</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k1(1270)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k1(1270)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k1(1270)+.html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>k1(1270)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>10323</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.2720000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>9.0000000e-02 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 1<SUP><FONT FACE = "symbol" >+-</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.1333333e-01</TD><TD>Phase Space</TD><TD>k_star0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>2.8000000e-01</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>rho+</TD></TR>
+<TR>
+<TD>1.5666667e-01</TD><TD>Phase Space</TD><TD>k_star+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.4000000e-01</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>rho0</TD></TR>
+<TR>
+<TD>1.1000000e-01</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>omega</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k1(1270)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k1(1270)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k1(1270)0.html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>k1(1270)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>10313</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.2720000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>9.0000000e-02 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 1<SUP><FONT FACE = "symbol" >+-</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.1333333e-01</TD><TD>Phase Space</TD><TD>k_star+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.8000000e-01</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>rho-</TD></TR>
+<TR>
+<TD>1.5666667e-01</TD><TD>Phase Space</TD><TD>k_star0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.4000000e-01</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>rho0</TD></TR>
+<TR>
+<TD>1.1000000e-01</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>omega</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k1(1400)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k1(1400)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k1(1400)+.html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>k1(1400)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>20323</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.4030000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.7400000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 1<SUP><FONT FACE = "symbol" >++</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>6.4000000e-01</TD><TD>Phase Space</TD><TD>k_star0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>3.2000000e-01</TD><TD>Phase Space</TD><TD>k_star+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.0000000e-02</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>rho+</TD></TR>
+<TR>
+<TD>1.0000000e-02</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>rho0</TD></TR>
+<TR>
+<TD>1.0000000e-02</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>omega</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k1(1400)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k1(1400)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k1(1400)0.html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>k1(1400)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>20313</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.4030000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.7400000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 1<SUP><FONT FACE = "symbol" >++</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>6.4000000e-01</TD><TD>Phase Space</TD><TD>k_star+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>3.2000000e-01</TD><TD>Phase Space</TD><TD>k_star0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.0000000e-02</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>rho-</TD></TR>
+<TR>
+<TD>1.0000000e-02</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>rho0</TD></TR>
+<TR>
+<TD>1.0000000e-02</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>omega</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k2(1770)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k2(1770)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k2(1770)+.html	(revision 904)
@@ -0,0 +1,40 @@
+
+<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>
+<H2>k2(1770)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>10325</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.7730000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.8600000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 2<SUP><FONT FACE = "symbol" >-+</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>6.6666667e-01</TD><TD>Phase Space</TD><TD>k2_star(1430)0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>3.3333333e-01</TD><TD>Phase Space</TD><TD>k2_star(1430)+</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k2(1770)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k2(1770)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k2(1770)0.html	(revision 904)
@@ -0,0 +1,40 @@
+
+<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>
+<H2>k2(1770)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>10315</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.7730000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.8600000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 2<SUP><FONT FACE = "symbol" >-+</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>6.6666667e-01</TD><TD>Phase Space</TD><TD>k2_star(1430)+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>3.3333333e-01</TD><TD>Phase Space</TD><TD>k2_star(1430)0</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k2_star(1430)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k2_star(1430)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k2_star(1430)+.html	(revision 904)
@@ -0,0 +1,54 @@
+
+<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>
+<H2>k2_star(1430)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>325</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.4256000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>9.8500000e-02 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 2<SUP><FONT FACE = "symbol" >++</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.3333333e-01</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.6666667e-01</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.6666667e-01</TD><TD>Phase Space</TD><TD>k_star0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>8.6666667e-02</TD><TD>Phase Space</TD><TD>k_star0</TD><TD>pi+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>8.3333333e-02</TD><TD>Phase Space</TD><TD>k_star+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>6.0000000e-02</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>rho+</TD></TR>
+<TR>
+<TD>4.3333333e-02</TD><TD>Phase Space</TD><TD>k_star+</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>3.0000000e-02</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>rho0</TD></TR>
+<TR>
+<TD>3.0000000e-02</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>omega</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k2_star(1430)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k2_star(1430)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k2_star(1430)0.html	(revision 904)
@@ -0,0 +1,54 @@
+
+<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>
+<H2>k2_star(1430)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>315</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.4324000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.0900000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 2<SUP><FONT FACE = "symbol" >++</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.3333333e-01</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.6666667e-01</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.6666667e-01</TD><TD>Phase Space</TD><TD>k_star+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>8.6666667e-02</TD><TD>Phase Space</TD><TD>k_star+</TD><TD>pi-</TD><TD>pi0</TD></TR>
+<TR>
+<TD>8.3333333e-02</TD><TD>Phase Space</TD><TD>k_star0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>6.0000000e-02</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>rho-</TD></TR>
+<TR>
+<TD>4.3333333e-02</TD><TD>Phase Space</TD><TD>k_star0</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>3.0000000e-02</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>rho0</TD></TR>
+<TR>
+<TD>3.0000000e-02</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>omega</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k2_star(1980)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k2_star(1980)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k2_star(1980)+.html	(revision 904)
@@ -0,0 +1,42 @@
+
+<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>
+<H2>k2_star(1980)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>100325</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.9730000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>3.7300000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 2<SUP><FONT FACE = "symbol" >++</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>4.0000000e-01</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>omega</TD></TR>
+<TR>
+<TD>4.0000000e-01</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>rho+</TD></TR>
+<TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>rho0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k2_star(1980)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k2_star(1980)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k2_star(1980)0.html	(revision 904)
@@ -0,0 +1,42 @@
+
+<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>
+<H2>k2_star(1980)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>100315</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.9730000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>3.7300000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 2<SUP><FONT FACE = "symbol" >++</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>4.0000000e-01</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>omega</TD></TR>
+<TR>
+<TD>4.0000000e-01</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>rho-</TD></TR>
+<TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>rho0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k3_star(1780)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k3_star(1780)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k3_star(1780)+.html	(revision 904)
@@ -0,0 +1,50 @@
+
+<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>
+<H2>k3_star(1780)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>327</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.7760000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.5900000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 3<SUP><FONT FACE = "symbol" >--</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.0000000e-01</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>eta</TD></TR>
+<TR>
+<TD>2.0666667e-01</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>rho+</TD></TR>
+<TR>
+<TD>1.3333333e-01</TD><TD>Phase Space</TD><TD>k_star0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.2666667e-01</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.0333333e-01</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>rho0</TD></TR>
+<TR>
+<TD>6.6666667e-02</TD><TD>Phase Space</TD><TD>k_star+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>6.3333333e-02</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k3_star(1780)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k3_star(1780)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k3_star(1780)0.html	(revision 904)
@@ -0,0 +1,50 @@
+
+<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>
+<H2>k3_star(1780)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>317</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.7760000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.5900000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 3<SUP><FONT FACE = "symbol" >--</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.0000000e-01</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>eta</TD></TR>
+<TR>
+<TD>2.0666667e-01</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>rho-</TD></TR>
+<TR>
+<TD>1.3333333e-01</TD><TD>Phase Space</TD><TD>k_star+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.2666667e-01</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.0333333e-01</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>rho0</TD></TR>
+<TR>
+<TD>6.6666667e-02</TD><TD>Phase Space</TD><TD>k_star0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>6.3333333e-02</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k_star(1410)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k_star(1410)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k_star(1410)+.html	(revision 904)
@@ -0,0 +1,48 @@
+
+<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>
+<H2>k_star(1410)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>100323</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.4140000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.3200000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 1<SUP><FONT FACE = "symbol" >--</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>4.3333333e-01</TD><TD>Phase Space</TD><TD>k_star0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>2.1666667e-01</TD><TD>Phase Space</TD><TD>k_star+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>3.3333333e-02</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>rho+</TD></TR>
+<TR>
+<TD>1.6666667e-02</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>rho0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k_star(1410)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k_star(1410)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k_star(1410)0.html	(revision 904)
@@ -0,0 +1,48 @@
+
+<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>
+<H2>k_star(1410)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>100313</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.4140000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.3200000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 1<SUP><FONT FACE = "symbol" >--</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>4.3333333e-01</TD><TD>Phase Space</TD><TD>k_star+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.1666667e-01</TD><TD>Phase Space</TD><TD>k_star0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>3.3333333e-02</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>rho-</TD></TR>
+<TR>
+<TD>1.6666667e-02</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>rho0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k_star(1680)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k_star(1680)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k_star(1680)+.html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>k_star(1680)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>30323</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.7170000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>3.2000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 1<SUP><FONT FACE = "symbol" >--</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.0000000e-01</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>omega</TD></TR>
+<TR>
+<TD>2.6666667e-01</TD><TD>Phase Space</TD><TD>k_star0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>rho+</TD></TR>
+<TR>
+<TD>1.3333333e-01</TD><TD>Phase Space</TD><TD>k_star+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>rho0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k_star(1680)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k_star(1680)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k_star(1680)0.html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>k_star(1680)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>30313</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.7170000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>3.2000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 1<SUP><FONT FACE = "symbol" >--</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.0000000e-01</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>omega</TD></TR>
+<TR>
+<TD>2.6666667e-01</TD><TD>Phase Space</TD><TD>k_star+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>rho-</TD></TR>
+<TR>
+<TD>1.3333333e-01</TD><TD>Phase Space</TD><TD>k_star0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>rho0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k_star+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k_star+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k_star+.html	(revision 904)
@@ -0,0 +1,40 @@
+
+<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>
+<H2>k_star+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>323</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>8.9160000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>5.0800000e-02 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 1<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>5.0000000e-01</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>5.0000000e-01</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>pi+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k_star0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k_star0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/k_star0.html	(revision 904)
@@ -0,0 +1,40 @@
+
+<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>
+<H2>k_star0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>313</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>8.9600000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>5.0300000e-02 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 1<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>5.0000000e-01</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>5.0000000e-01</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/kaon+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/kaon+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/kaon+.html	(revision 904)
@@ -0,0 +1,49 @@
+
+<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>
+<H2>kaon+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>321</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>4.9367700e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>5.3520000e-17 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 0<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>1.2385000e-08[sec]</TD>
+</TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>6.3390000e-01</TD><TD>Phase Space</TD><TD>mu+</TD><TD>nu_mu</TD></TR>
+<TR>
+<TD>2.1030000e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>5.5900000e-02</TD><TD>Phase Space</TD><TD>pi+</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>4.9300000e-02</TD><TD>KL3 Decay</TD><TD>pi0</TD><TD>e+</TD><TD>nu_e</TD></TR>
+<TR>
+<TD>3.3000000e-02</TD><TD>KL3 Decay</TD><TD>pi0</TD><TD>mu+</TD><TD>nu_mu</TD></TR>
+<TR>
+<TD>1.7570000e-02</TD><TD>Phase Space</TD><TD>pi+</TD><TD>pi0</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/kaon0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/kaon0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/kaon0.html	(revision 904)
@@ -0,0 +1,40 @@
+
+<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>
+<H2>kaon0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>311</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>4.9761400e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>0.0000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 0<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>not Defined</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>5.0000000e-01</TD><TD>Phase Space</TD><TD>kaon0L</TD></TR>
+<TR>
+<TD>5.0000000e-01</TD><TD>Phase Space</TD><TD>kaon0S</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/kaon0L.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/kaon0L.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/kaon0L.html	(revision 904)
@@ -0,0 +1,49 @@
+
+<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>
+<H2>kaon0L</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>130</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>4.9761400e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.2950000e-17 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 0<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>5.1160000e-08[sec]</TD>
+</TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>2.0200000e-01</TD><TD>KL3 Decay</TD><TD>pi-</TD><TD>e+</TD><TD>nu_e</TD></TR>
+<TR>
+<TD>2.0200000e-01</TD><TD>KL3 Decay</TD><TD>pi+</TD><TD>e-</TD><TD>anti_nu_e</TD></TR>
+<TR>
+<TD>1.9830000e-01</TD><TD>Phase Space</TD><TD>pi0</TD><TD>pi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.3480000e-01</TD><TD>KL3 Decay</TD><TD>pi-</TD><TD>mu+</TD><TD>nu_mu</TD></TR>
+<TR>
+<TD>1.3480000e-01</TD><TD>KL3 Decay</TD><TD>pi+</TD><TD>mu-</TD><TD>anti_nu_mu</TD></TR>
+<TR>
+<TD>1.2470000e-01</TD><TD>Phase Space</TD><TD>pi0</TD><TD>pi+</TD><TD>pi-</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/kaon0S.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/kaon0S.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/kaon0S.html	(revision 904)
@@ -0,0 +1,41 @@
+
+<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>
+<H2>kaon0S</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>310</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>4.9761400e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>7.3970000e-15 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 0<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>8.9580000e-11[sec]</TD>
+</TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>6.8950000e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>3.1050000e-01</TD><TD>Phase Space</TD><TD>pi0</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/omega(1420).html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/omega(1420).html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/omega(1420).html	(revision 904)
@@ -0,0 +1,42 @@
+
+<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>
+<H2>omega(1420)</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>100223</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.4250000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.1500000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 1<SUP><FONT FACE = "symbol" >--</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>1</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.3333333e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>rho-</TD></TR>
+<TR>
+<TD>3.3333333e-01</TD><TD>Phase Space</TD><TD>pi0</TD><TD>rho0</TD></TR>
+<TR>
+<TD>3.3333333e-01</TD><TD>Phase Space</TD><TD>pi-</TD><TD>rho+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/omega(1650).html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/omega(1650).html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/omega(1650).html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>omega(1650)</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>30223</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.6700000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>3.1500000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 1<SUP><FONT FACE = "symbol" >--</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>1</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.3333333e-01</TD><TD>Phase Space</TD><TD>omega</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.6666667e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>rho-</TD></TR>
+<TR>
+<TD>1.6666667e-01</TD><TD>Phase Space</TD><TD>pi0</TD><TD>rho0</TD></TR>
+<TR>
+<TD>1.6666667e-01</TD><TD>Phase Space</TD><TD>pi-</TD><TD>rho+</TD></TR>
+<TR>
+<TD>1.6666667e-01</TD><TD>Phase Space</TD><TD>omega</TD><TD>pi0</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/omega.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/omega.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/omega.html	(revision 904)
@@ -0,0 +1,42 @@
+
+<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>
+<H2>omega</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>223</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>7.8265000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>8.4900000e-03 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 1<SUP><FONT FACE = "symbol" >--</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>1</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>8.9100000e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>pi-</TD><TD>pi0</TD></TR>
+<TR>
+<TD>8.9000000e-02</TD><TD>Phase Space</TD><TD>gamma</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.7000000e-02</TD><TD>Phase Space</TD><TD>pi+</TD><TD>pi-</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/omega3(1670).html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/omega3(1670).html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/omega3(1670).html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>omega3(1670)</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>227</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.6670000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.6800000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 3<SUP><FONT FACE = "symbol" >--</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>1</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.3333333e-01</TD><TD>Phase Space</TD><TD>omega</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.6666667e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>rho-</TD></TR>
+<TR>
+<TD>1.6666667e-01</TD><TD>Phase Space</TD><TD>pi0</TD><TD>rho0</TD></TR>
+<TR>
+<TD>1.6666667e-01</TD><TD>Phase Space</TD><TD>pi-</TD><TD>rho+</TD></TR>
+<TR>
+<TD>1.6666667e-01</TD><TD>Phase Space</TD><TD>omega</TD><TD>pi0</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/phi(1680).html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/phi(1680).html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/phi(1680).html	(revision 904)
@@ -0,0 +1,56 @@
+
+<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>
+<H2>phi(1680)</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>100333</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.6800000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.5000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 1<SUP><FONT FACE = "symbol" >--</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>1</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>k_star-</TD></TR>
+<TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>kaon-</TD><TD>k_star0</TD></TR>
+<TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>anti_k_star0</TD></TR>
+<TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>anti_kaon0</TD><TD>k_star0</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>5.0000000e-02</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>anti_kaon0</TD></TR>
+<TR>
+<TD>3.3333333e-02</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>anti_kaon0</TD><TD>pi-</TD></TR>
+<TR>
+<TD>3.3333333e-02</TD><TD>Phase Space</TD><TD>kaon-</TD><TD>kaon0</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.6666667e-02</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>kaon-</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.6666667e-02</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>anti_kaon0</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/phi.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/phi.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/phi.html	(revision 904)
@@ -0,0 +1,42 @@
+
+<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>
+<H2>phi</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>333</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.0194600e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>4.2600000e-03 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 1<SUP><FONT FACE = "symbol" >--</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>1</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>4.9200000e-01</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>3.4000000e-01</TD><TD>Phase Space</TD><TD>kaon0S</TD><TD>kaon0L</TD></TR>
+<TR>
+<TD>1.5300000e-01</TD><TD>Phase Space</TD><TD>rho0</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/phi3(1850).html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/phi3(1850).html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/phi3(1850).html	(revision 904)
@@ -0,0 +1,48 @@
+
+<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>
+<H2>phi3(1850)</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>337</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.8540000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>8.7000000e-02 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 3<SUP><FONT FACE = "symbol" >--</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>1</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.0000000e-01</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>3.0000000e-01</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>anti_kaon0</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>k_star-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>kaon-</TD><TD>k_star0</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>anti_k_star0</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>anti_kaon0</TD><TD>k_star0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/pi(1300)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/pi(1300)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/pi(1300)+.html	(revision 904)
@@ -0,0 +1,40 @@
+
+<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>
+<H2>pi(1300)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>100211</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.3000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>4.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 0<SUP><FONT FACE = "symbol" >-+</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>2.5000000e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>rho0</TD></TR>
+<TR>
+<TD>2.5000000e-01</TD><TD>Phase Space</TD><TD>pi0</TD><TD>rho+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/pi(1300)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/pi(1300)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/pi(1300)0.html	(revision 904)
@@ -0,0 +1,40 @@
+
+<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>
+<H2>pi(1300)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>100111</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.3000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>4.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 0<SUP><FONT FACE = "symbol" >-+</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>1</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>2.5000000e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>rho-</TD></TR>
+<TR>
+<TD>2.5000000e-01</TD><TD>Phase Space</TD><TD>pi-</TD><TD>rho+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/pi+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/pi+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/pi+.html	(revision 904)
@@ -0,0 +1,39 @@
+
+<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>
+<H2>pi+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>211</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.3957000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.5452000e-17 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 0<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>2.6030000e-08[sec]</TD>
+</TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.0000000e+00</TD><TD>Phase Space</TD><TD>mu+</TD><TD>nu_mu</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/pi0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/pi0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/pi0.html	(revision 904)
@@ -0,0 +1,41 @@
+
+<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>
+<H2>pi0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>111</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.3497640e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>7.9000000e-09 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 0<SUP><FONT FACE = "symbol" >-+</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>8.4000000e-17[sec]</TD>
+</TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>1</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>9.8800000e-01</TD><TD>Phase Space</TD><TD>gamma</TD><TD>gamma</TD></TR>
+<TR>
+<TD>1.2000000e-02</TD><TD>Dalitz Decay</TD><TD>gamma</TD><TD>e-</TD><TD>e+</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/pi2(1670)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/pi2(1670)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/pi2(1670)+.html	(revision 904)
@@ -0,0 +1,44 @@
+
+<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>
+<H2>pi2(1670)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>10215</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.6724000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.5900000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 2<SUP><FONT FACE = "symbol" >-+</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>5.6000000e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>f2(1270)</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>rho0</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>pi0</TD><TD>rho+</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>f0(1370)</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/pi2(1670)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/pi2(1670)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/pi2(1670)0.html	(revision 904)
@@ -0,0 +1,44 @@
+
+<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>
+<H2>pi2(1670)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>10115</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.6724000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.5900000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 2<SUP><FONT FACE = "symbol" >-+</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>1</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>5.6000000e-01</TD><TD>Phase Space</TD><TD>pi0</TD><TD>f2(1270)</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>rho-</TD></TR>
+<TR>
+<TD>1.5000000e-01</TD><TD>Phase Space</TD><TD>pi-</TD><TD>rho+</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>pi0</TD><TD>f0(1370)</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/rho(1450)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/rho(1450)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/rho(1450)+.html	(revision 904)
@@ -0,0 +1,42 @@
+
+<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>
+<H2>rho(1450)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>100213</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.4650000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>4.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 1<SUP><FONT FACE = "symbol" >--</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>5.0000000e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>3.3333333e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>pi+</TD><TD>pi-</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.6666667e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>pi0</TD><TD>pi0</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/rho(1450)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/rho(1450)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/rho(1450)0.html	(revision 904)
@@ -0,0 +1,42 @@
+
+<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>
+<H2>rho(1450)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>100113</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.4650000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>4.0000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 1<SUP><FONT FACE = "symbol" >--</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>1</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>5.0000000e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.5000000e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>pi-</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>2.5000000e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>pi-</TD><TD>pi0</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/rho(1700)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/rho(1700)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/rho(1700)+.html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>rho(1700)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>30213</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.7200000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.5000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 1<SUP><FONT FACE = "symbol" >--</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.4000000e-01</TD><TD>Phase Space</TD><TD>rho+</TD><TD>pi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.4000000e-01</TD><TD>Phase Space</TD><TD>rho+</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.4000000e-01</TD><TD>Phase Space</TD><TD>rho0</TD><TD>pi+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.4000000e-01</TD><TD>Phase Space</TD><TD>rho-</TD><TD>pi+</TD><TD>pi+</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/rho(1700)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/rho(1700)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/rho(1700)0.html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>rho(1700)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>30113</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.7200000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>2.5000000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 1<SUP><FONT FACE = "symbol" >--</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>1</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.4000000e-01</TD><TD>Phase Space</TD><TD>rho+</TD><TD>pi-</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.4000000e-01</TD><TD>Phase Space</TD><TD>rho0</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.4000000e-01</TD><TD>Phase Space</TD><TD>rho0</TD><TD>pi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.4000000e-01</TD><TD>Phase Space</TD><TD>rho-</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.0000000e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>pi-</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/rho+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/rho+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/rho+.html	(revision 904)
@@ -0,0 +1,38 @@
+
+<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>
+<H2>rho+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>213</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>7.7580000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.5030000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 1<SUP><FONT FACE = "symbol" >--</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.0000000e+00</TD><TD>Phase Space</TD><TD>pi+</TD><TD>pi0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/rho0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/rho0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/rho0.html	(revision 904)
@@ -0,0 +1,38 @@
+
+<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>
+<H2>rho0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>113</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>7.7550000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.4940000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 1<SUP><FONT FACE = "symbol" >--</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>1</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>1.0000000e+00</TD><TD>Phase Space</TD><TD>pi+</TD><TD>pi-</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/rho3(1690)+.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/rho3(1690)+.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/rho3(1690)+.html	(revision 904)
@@ -0,0 +1,46 @@
+
+<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>
+<H2>rho3(1690)+</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>217</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.6888000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.6100000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 3<SUP><FONT FACE = "symbol" >--</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>1</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>4.0000000e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>pi+</TD><TD>pi-</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.4000000e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.0000000e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>pi0</TD><TD>pi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>1.1000000e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>omega</TD></TR>
+<TR>
+<TD>1.0000000e-02</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>anti_kaon0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/rho3(1690)0.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/rho3(1690)0.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/mesons/rho3(1690)0.html	(revision 904)
@@ -0,0 +1,48 @@
+
+<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>
+<H2>rho3(1690)0</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>117</TD></TR>
+<TR><TD><B>Type</B></TD><TD>meson</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.6888000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>1.6100000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 3<SUP><FONT FACE = "symbol" >--</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>short-lived</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>1</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<H2> Decay Table </H2>
+<TABLE WIDTH="80%" > 
+<TR><TD><B>BR</B></TD><TD><B>kinematics</B></TD></TR><TR>
+<TD>3.0000000e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>pi-</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>3.0000000e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>pi-</TD><TD>pi0</TD><TD>pi0</TD></TR>
+<TR>
+<TD>2.4000000e-01</TD><TD>Phase Space</TD><TD>pi+</TD><TD>pi-</TD></TR>
+<TR>
+<TD>1.1000000e-01</TD><TD>Phase Space</TD><TD>pi0</TD><TD>omega</TD></TR>
+<TR>
+<TD>5.0000000e-03</TD><TD>Phase Space</TD><TD>kaon+</TD><TD>kaon-</TD></TR>
+<TR>
+<TD>5.0000000e-03</TD><TD>Phase Space</TD><TD>kaon0</TD><TD>anti_kaon0</TD></TR>
+</TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/others/chargedgeantino.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/others/chargedgeantino.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/others/chargedgeantino.html	(revision 904)
@@ -0,0 +1,32 @@
+
+<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>
+<H2>chargedgeantino</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>0</TD></TR>
+<TR><TD><B>Type</B></TD><TD>geantino</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>0.0000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>0.0000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 0<SUP><FONT FACE = "symbol" >  </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>stable</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/others/gamma.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/others/gamma.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/others/gamma.html	(revision 904)
@@ -0,0 +1,32 @@
+
+<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>
+<H2>gamma</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>22</TD></TR>
+<TR><TD><B>Type</B></TD><TD>gamma</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>0.0000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>0.0000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 1<SUP><FONT FACE = "symbol" >--</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>stable</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/others/geantino.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/others/geantino.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/others/geantino.html	(revision 904)
@@ -0,0 +1,32 @@
+
+<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>
+<H2>geantino</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>0</TD></TR>
+<TR><TD><B>Type</B></TD><TD>geantino</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>0.0000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>0.0000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 0<SUP><FONT FACE = "symbol" >  </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>stable</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/others/index.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/others/index.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/others/index.html	(revision 904)
@@ -0,0 +1,44 @@
+<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>Mass</FONT></TD><TD><FONT SIZE = +1>Charge</FONT></TD><TD><FONT SIZE = +1>Life Time</FONT></TD><TD><FONT SIZE = +1>Anti-Particle</FONT></TD></TR>
+<TR><TD> </TD><TD> </TD><TD> [GeV/c<SUP>2</SUP>]</TD><TD> </TD><TD> [ns]</TD><TD> </TD></TR>
+<TR>
+<TD>0</TD>
+<TD><A HREF="chargedgeantino.html">chargedgeantino</A></TD>
+<TD>0.000000e+00</TD>
+<TD>1.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>22</TD>
+<TD><A HREF="gamma.html">gamma</A></TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>0</TD>
+<TD><A HREF="geantino.html">geantino</A></TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+<TR>
+<TD>0</TD>
+<TD><A HREF="opticalphoton.html">opticalphoton</A></TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+</TR>
+</TABLE>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/others/opticalphoton.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/others/opticalphoton.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/others/opticalphoton.html	(revision 904)
@@ -0,0 +1,32 @@
+
+<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>
+<H2>opticalphoton</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>0</TD></TR>
+<TR><TD><B>Type</B></TD><TD>opticalphoton</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>0.0000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>0.0000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 1<SUP><FONT FACE = "symbol" >--</FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>stable</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/b_quark.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/b_quark.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/b_quark.html	(revision 904)
@@ -0,0 +1,32 @@
+
+<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>
+<H2>b_quark</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>5</TD></TR>
+<TR><TD><B>Type</B></TD><TD>quarks</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>4.6800000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>0.0000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 1/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>-3.3333333e-01</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>stable</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/c_quark.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/c_quark.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/c_quark.html	(revision 904)
@@ -0,0 +1,32 @@
+
+<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>
+<H2>c_quark</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>4</TD></TR>
+<TR><TD><B>Type</B></TD><TD>quarks</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.2700000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>0.0000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 1/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>6.6666667e-01</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>stable</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/d_quark.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/d_quark.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/d_quark.html	(revision 904)
@@ -0,0 +1,32 @@
+
+<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>
+<H2>d_quark</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>1</TD></TR>
+<TR><TD><B>Type</B></TD><TD>quarks</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>4.8000000e-03 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>0.0000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 1/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>-3.3333333e-01</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>stable</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/dd1_diquark.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/dd1_diquark.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/dd1_diquark.html	(revision 904)
@@ -0,0 +1,32 @@
+
+<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>
+<H2>dd1_diquark</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>1103</TD></TR>
+<TR><TD><B>Type</B></TD><TD>diquarks</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>9.6000000e-03 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>0.0000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 1<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>-6.6666667e-01</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>stable</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/gluon.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/gluon.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/gluon.html	(revision 904)
@@ -0,0 +1,32 @@
+
+<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>
+<H2>gluon</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>21</TD></TR>
+<TR><TD><B>Type</B></TD><TD>gluons</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>0.0000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>0.0000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 1<SUP><FONT FACE = "symbol" >- </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>0.0000000e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>stable</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/index.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/index.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/index.html	(revision 904)
@@ -0,0 +1,143 @@
+<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>Mass</FONT></TD><TD><FONT SIZE = +1>Charge</FONT></TD><TD><FONT SIZE = +1>Life Time</FONT></TD><TD><FONT SIZE = +1>Anti-Particle</FONT></TD></TR>
+<TR><TD> </TD><TD> </TD><TD> [GeV/c<SUP>2</SUP>]</TD><TD> </TD><TD> [ns]</TD><TD> </TD></TR>
+<TR>
+<TD>5</TD>
+<TD><A HREF="b_quark.html">b_quark</A></TD>
+<TD>4.680000e+00</TD>
+<TD>-3.333333e-01</TD>
+<TD>-1.000000e+00</TD>
+<TD>anti_b_quark</TD>
+</TR>
+<TR>
+<TD>4</TD>
+<TD><A HREF="c_quark.html">c_quark</A></TD>
+<TD>1.270000e+00</TD>
+<TD>6.666667e-01</TD>
+<TD>-1.000000e+00</TD>
+<TD>anti_c_quark</TD>
+</TR>
+<TR>
+<TD>1</TD>
+<TD><A HREF="d_quark.html">d_quark</A></TD>
+<TD>4.800000e-03</TD>
+<TD>-3.333333e-01</TD>
+<TD>-1.000000e+00</TD>
+<TD>anti_d_quark</TD>
+</TR>
+<TR>
+<TD>1103</TD>
+<TD><A HREF="dd1_diquark.html">dd1_diquark</A></TD>
+<TD>9.600000e-03</TD>
+<TD>-6.666667e-01</TD>
+<TD>-1.000000e+00</TD>
+<TD>anti_dd1_diquark</TD>
+</TR>
+<TR>
+<TD>21</TD>
+<TD><A HREF="gluon.html">gluon</A></TD>
+<TD>0.000000e+00</TD>
+<TD>0.000000e+00</TD>
+<TD>-1.000000e+00</TD>
+</TR>
+<TR>
+<TD>3</TD>
+<TD><A HREF="s_quark.html">s_quark</A></TD>
+<TD>1.040000e-01</TD>
+<TD>-3.333333e-01</TD>
+<TD>-1.000000e+00</TD>
+<TD>anti_s_quark</TD>
+</TR>
+<TR>
+<TD>3101</TD>
+<TD><A HREF="sd0_diquark.html">sd0_diquark</A></TD>
+<TD>1.080000e-01</TD>
+<TD>-6.666667e-01</TD>
+<TD>-1.000000e+00</TD>
+<TD>anti_sd0_diquark</TD>
+</TR>
+<TR>
+<TD>3103</TD>
+<TD><A HREF="sd1_diquark.html">sd1_diquark</A></TD>
+<TD>1.088000e-01</TD>
+<TD>-6.666667e-01</TD>
+<TD>-1.000000e+00</TD>
+<TD>anti_sd1_diquark</TD>
+</TR>
+<TR>
+<TD>3303</TD>
+<TD><A HREF="ss1_diquark.html">ss1_diquark</A></TD>
+<TD>2.080000e-01</TD>
+<TD>-6.666667e-01</TD>
+<TD>-1.000000e+00</TD>
+<TD>anti_ss1_diquark</TD>
+</TR>
+<TR>
+<TD>3201</TD>
+<TD><A HREF="su0_diquark.html">su0_diquark</A></TD>
+<TD>1.064000e-01</TD>
+<TD>3.333333e-01</TD>
+<TD>-1.000000e+00</TD>
+<TD>anti_su0_diquark</TD>
+</TR>
+<TR>
+<TD>3203</TD>
+<TD><A HREF="su1_diquark.html">su1_diquark</A></TD>
+<TD>1.064000e-01</TD>
+<TD>3.333333e-01</TD>
+<TD>-1.000000e+00</TD>
+<TD>anti_su1_diquark</TD>
+</TR>
+<TR>
+<TD>6</TD>
+<TD><A HREF="t_quark.html">t_quark</A></TD>
+<TD>1.712000e+02</TD>
+<TD>6.666667e-01</TD>
+<TD>-1.000000e+00</TD>
+<TD>anti_t_quark</TD>
+</TR>
+<TR>
+<TD>2</TD>
+<TD><A HREF="u_quark.html">u_quark</A></TD>
+<TD>2.400000e-03</TD>
+<TD>6.666667e-01</TD>
+<TD>-1.000000e+00</TD>
+<TD>anti_u_quark</TD>
+</TR>
+<TR>
+<TD>2101</TD>
+<TD><A HREF="ud0_diquark.html">ud0_diquark</A></TD>
+<TD>7.300000e-03</TD>
+<TD>3.333333e-01</TD>
+<TD>-1.000000e+00</TD>
+<TD>anti_ud0_diquark</TD>
+</TR>
+<TR>
+<TD>2103</TD>
+<TD><A HREF="ud1_diquark.html">ud1_diquark</A></TD>
+<TD>7.200000e-03</TD>
+<TD>3.333333e-01</TD>
+<TD>-1.000000e+00</TD>
+<TD>anti_ud1_diquark</TD>
+</TR>
+<TR>
+<TD>2203</TD>
+<TD><A HREF="uu1_diquark.html">uu1_diquark</A></TD>
+<TD>4.800000e-03</TD>
+<TD>1.333333e+00</TD>
+<TD>-1.000000e+00</TD>
+<TD>anti_uu1_diquark</TD>
+</TR>
+</TABLE>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/s_quark.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/s_quark.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/s_quark.html	(revision 904)
@@ -0,0 +1,32 @@
+
+<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>
+<H2>s_quark</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>3</TD></TR>
+<TR><TD><B>Type</B></TD><TD>quarks</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.0400000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>0.0000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 1/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>-3.3333333e-01</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>stable</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/sd0_diquark.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/sd0_diquark.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/sd0_diquark.html	(revision 904)
@@ -0,0 +1,32 @@
+
+<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>
+<H2>sd0_diquark</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>3101</TD></TR>
+<TR><TD><B>Type</B></TD><TD>diquarks</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.0800000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>0.0000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 0<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>-6.6666667e-01</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>stable</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/sd1_diquark.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/sd1_diquark.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/sd1_diquark.html	(revision 904)
@@ -0,0 +1,32 @@
+
+<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>
+<H2>sd1_diquark</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>3103</TD></TR>
+<TR><TD><B>Type</B></TD><TD>diquarks</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.0880000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>0.0000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 1<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>-6.6666667e-01</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>stable</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/ss1_diquark.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/ss1_diquark.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/ss1_diquark.html	(revision 904)
@@ -0,0 +1,32 @@
+
+<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>
+<H2>ss1_diquark</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>3303</TD></TR>
+<TR><TD><B>Type</B></TD><TD>diquarks</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>2.0800000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>0.0000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 1<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>-6.6666667e-01</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>stable</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/su0_diquark.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/su0_diquark.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/su0_diquark.html	(revision 904)
@@ -0,0 +1,32 @@
+
+<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>
+<H2>su0_diquark</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>3201</TD></TR>
+<TR><TD><B>Type</B></TD><TD>diquarks</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.0640000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>0.0000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 0<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>3.3333333e-01</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>stable</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/su1_diquark.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/su1_diquark.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/su1_diquark.html	(revision 904)
@@ -0,0 +1,32 @@
+
+<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>
+<H2>su1_diquark</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>3203</TD></TR>
+<TR><TD><B>Type</B></TD><TD>diquarks</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.0640000e-01 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>0.0000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 1<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>3.3333333e-01</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>stable</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/t_quark.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/t_quark.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/t_quark.html	(revision 904)
@@ -0,0 +1,32 @@
+
+<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>
+<H2>t_quark</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>6</TD></TR>
+<TR><TD><B>Type</B></TD><TD>quarks</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>1.7120000e+02 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>0.0000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 1/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>6.6666667e-01</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>stable</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/u_quark.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/u_quark.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/u_quark.html	(revision 904)
@@ -0,0 +1,32 @@
+
+<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>
+<H2>u_quark</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>2</TD></TR>
+<TR><TD><B>Type</B></TD><TD>quarks</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>2.4000000e-03 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>0.0000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1/2 1/2<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>6.6666667e-01</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>stable</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/ud0_diquark.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/ud0_diquark.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/ud0_diquark.html	(revision 904)
@@ -0,0 +1,32 @@
+
+<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>
+<H2>ud0_diquark</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>2101</TD></TR>
+<TR><TD><B>Type</B></TD><TD>diquarks</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>7.3000000e-03 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>0.0000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>0 0<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>3.3333333e-01</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>stable</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/ud1_diquark.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/ud1_diquark.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/ud1_diquark.html	(revision 904)
@@ -0,0 +1,32 @@
+
+<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>
+<H2>ud1_diquark</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>2103</TD></TR>
+<TR><TD><B>Type</B></TD><TD>diquarks</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>7.2000000e-03 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>0.0000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 1<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>3.3333333e-01</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>stable</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>1</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/uu1_diquark.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/uu1_diquark.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/AllResources/TrackingAndPhysics/particleList.src/quarks/uu1_diquark.html	(revision 904)
@@ -0,0 +1,32 @@
+
+<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>
+<H2>uu1_diquark</H2>
+<HR>
+<TABLE WIDTH="40%" > 
+<TR><TD><B>PDG encoding</B></TD><TD>2203</TD></TR>
+<TR><TD><B>Type</B></TD><TD>diquarks</TD></TR>
+</TABLE>
+<HR>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>Mass</B></TD><TD>4.8000000e-03 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>Width</B></TD><TD>0.0000000e+00 [GeV/c<SUP>2</SUP>]</TD></TR>
+<TR><TD><B>I J<SUP>PC</SUP></B></TD><TD>1 1<SUP><FONT FACE = "symbol" >+ </FONT></SUP></TD></TR>
+<TR><TD><B>Charge</B></TD><TD>1.3333333e+00</TD></TR>
+<TR><TD><B>Magnetic Moment</B></TD><TD> not defined </TD></TR>
+<TR><TD><B>Life Time</B></TD><TD>stable</TD></TR>
+</TABLE>
+<HR>
+<H2> Quark Content </H2>
+<TABLE WIDTH="60%" > 
+<TR><TD><B>flavour </B></TD><TD><B> quark </B></TD><TD><B> anti-quark </B></TD></TR><TR><TD><B>d</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>u</B></TD><TD><B>2</B></TD><TD><B>0</B></TD></TR><TR><TD><B>s</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>c</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>b</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR><TR><TD><B>t</B></TD><TD><B>0</B></TD><TD><B>0</B></TD></TR></TABLE>
+<HR>
+<B><A HREF="index.html">back to index</A></B>
+<HR>
+</BODY>
+</HTML>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/Appendix.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/Appendix.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/Appendix.xml	(revision 904)
@@ -0,0 +1,30 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  This is the top file for the present chapter. It        -->
+<!--  includes all section files which belong to the chapter. -->
+<!--  Entities names used below are defined in                -->
+<!--  ChapXXEntityDef.dtd in the current directory.           -->
+<!--                                                          -->
+<!--  [Note]                                                  -->
+<!--    Created by Katsuya Amako, Aug-2006                    -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!-- ******************** Top of Chapter ******************** -->
+<appendix id="appendix.Appendix" label="">
+<title>
+Appendix
+</title>
+
+<!-- *************** Inclusion of Sections ****************** -->
+&apptipsCompilation;
+&apphistogramming;
+&appclhepLHCxx;
+&apptemplateLib;
+&appmakeFile;
+&appbuildFile;
+&appdevelopmentDebugTools;
+&appmaterialNames;
+
+</appendix>
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/AppendixEntityDef.dtd
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/AppendixEntityDef.dtd	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/AppendixEntityDef.dtd	(revision 904)
@@ -0,0 +1,24 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  In this file you need to define entities of all xml     -->
+<!--  section files you want to include from the current      -->
+<!--  directory into the G4 DocBook manual.                   -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Creattion:  Katsuya Amako,  Aug-2006                  -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!ENTITY appendix                  SYSTEM "./Appendix.xml">
+
+<!ENTITY appmaterialNames          SYSTEM "./materialNames.xml">
+<!ENTITY apptipsCompilation        SYSTEM "./tipsCompilation.xml">
+<!ENTITY apphistogramming          SYSTEM "./histogramming.xml">
+<!ENTITY appclhepLHCxx             SYSTEM "./clhepLHCxx.xml">
+<!ENTITY apptemplateLib            SYSTEM "./templateLib.xml">
+<!ENTITY appmakeFile               SYSTEM "./makeFile.xml">
+<!ENTITY appbuildFile              SYSTEM "./buildFile.xml">
+<!ENTITY appdevelopmentDebugTools  SYSTEM "./developmentDebugTools.xml">
+
+
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/buildFile.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/buildFile.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/buildFile.xml	(revision 904)
@@ -0,0 +1,84 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.StepGuides">
+<title>
+Step-by-Step Installation Guides
+</title>
+
+<para>
+You can find below some useful pages collecting instructions on how to
+install Geant4 in a detailed step-by-step tutorial:
+
+<itemizedlist spacing="compact">
+   <listitem><para>
+     <ulink url="http://geant4.slac.stanford.edu/tutorial/installation/">
+      Step by step Installation Guides</ulink>.
+   </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.BldMSV">
+<title>
+Building on MS Visual C++
+</title>
+
+<para>
+Geant4 can be compiled with the C++ compiler of MS Visual Studio
+C++ and the 
+<ulink url="http://cygwin.com/">
+Cygwin toolset</ulink>. 
+Detailed instructions are given in the Installation
+manual. As the build system relies on <literal>make</literal> and other 
+Unix tools using only the compiler of MS Visual Studio, the section on
+</para>
+
+<para>
+<xref linkend="sect.MkflEnvVar" /> Makefile and environment variables
+applies also for building with MS Visual C++.
+</para>
+
+<para>
+We do not support compilation directly under MS Visual Studio,
+i.e. we do not provide workspace files <literal>(.dsw)</literal> or project
+files (<literal>.dsp</literal>).
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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:
+
+<itemizedlist spacing="compact">
+   <listitem><para>
+     <ulink url="http://www.lcsim.org/docs/gettingstarted/Cygwin/">
+     Getting started with Cygwin</ulink>.
+   </para></listitem>
+   <listitem><para>
+     <ulink url="http://cern.ch/geant4/support/windows_note.shtml">
+     Cygwin Installation Notes</ulink>.
+   </para></listitem>
+   <listitem><para>
+     <ulink url="http://www.lcsim.org/docs/gettingstarted/geant4msvc++/net2005/index.htm">
+     Building a MSVC++ Visual Studio 2005 Geant4 project</ulink>.
+   </para></listitem>
+</itemizedlist>
+</para>
+
+</sect2>
+
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/clhepLHCxx.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/clhepLHCxx.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/clhepLHCxx.xml	(revision 904)
@@ -0,0 +1,68 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.Clhep">
+<title>
+CLHEP Foundation Library
+</title>
+
+<para>
+<ulink url="http://cern.ch/clhep/">
+CLHEP 
+</ulink>
+ is a set of Class Libraries containing many
+basic classes for use in High Energy Physics.
+</para>
+
+<para>
+Both a CLHEP 
+<ulink url="http://cern.ch/clhep/manual/RefGuide/">
+Reference Guide 
+</ulink>
+ and a 
+<ulink url="http://cern.ch/clhep/manual/UserGuide/">
+User Guide 
+</ulink>
+ are available.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Origin and current situation of CLHEP
+</bridgehead>
+
+<para>
+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.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Geant4 and CLHEP
+</bridgehead>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/developmentDebugTools.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/developmentDebugTools.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/developmentDebugTools.xml	(revision 904)
@@ -0,0 +1,93 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.DvpDbg">
+<title>
+Development and debug tools
+</title>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.DvpDbg.Unix">
+<title>
+UNIX
+</title>
+
+<para>
+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.
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    The 
+    <ulink url="http://kdevelop.org/">
+    KDevelop environment 
+    </ulink>
+    on Linux systems.
+  </para></listitem>
+  <listitem><para>
+    The GNU 
+    <ulink url="http://www.gnu.org/software/ddd/">
+    Data Display Debugger 
+    </ulink>
+    (DDD).
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://valgrind.org/">
+    Valgrind
+    </ulink>
+    , a system for debugging and profiling Linux programs.
+  </para></listitem>
+  <listitem><para>
+    Microsoft  
+    <ulink url="http://msdn.microsoft.com/vstudio/">
+    Visual Studio
+    </ulink>
+    development environment.
+  </para></listitem>
+  <listitem><para>
+    Parasoft  
+    <ulink url="http://www.parasoft.com/jsp/products/home.jsp?product=Insure&amp;">
+    Insure++ 
+    </ulink>
+    run-time debugger and memory checker 
+  </para></listitem>
+  <listitem><para>
+    Parasoft 
+    <ulink url="http://www.parasoft.com/jsp/products/home.jsp?product=CppTest">
+    C++ Test
+    </ulink>
+    source code analyzer.
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://www.ibm.com/software/rational/">
+    Rational Rose 
+    </ulink>
+    CASE tool.
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://www.borland.com/us/products/together/index.html">
+    Together ControlCenter 
+    </ulink>
+    development environment.
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://www.telelogic.com/products/logiscope/index.cfm">
+    Logiscope 
+    </ulink>
+    tool for metrics analysis.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/histogramming.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/histogramming.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/histogramming.xml	(revision 904)
@@ -0,0 +1,127 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.Hst">
+<title>
+Histogramming
+</title>
+
+<para>
+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 
+<ulink url="http://aida.freehep.org/">
+AIDA
+</ulink> 
+ abstract interfaces for Data Analysis. 
+</para>
+
+<para>
+Consequently, you may use your favourite package together with
+the Geant4 toolkit.
+</para>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Hst.JAS">
+<title>
+JAS
+</title>
+
+<para>
+Please refer to the 
+<ulink url="http://jas.freehep.org/documentation.htm">
+JAS documentation
+</ulink> 
+ on histogramming for using the JAVA 
+Analysis Studio tool.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Hst.iAIDA">
+<title>
+iAida
+</title>
+
+<para>
+Please refer to the 
+<ulink url="http://iaida.dynalias.net/">
+iAIDA (an implementation of AIDA in C++) documentation
+</ulink>:
+ tool for generating histograms with AIDA to
+HBook, Root and AIDA-native compressed XML format.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Hst.OpnScnt">
+<title>
+Open Scientist Lab
+</title>
+
+<para>
+Please refer to the 
+<ulink url="http://openscientist.lal.in2p3.fr/">
+Open Scientist Lab documentation 
+</ulink>
+ on histogramming for using the Lab Analysis plug-in for the OnX package. 
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Hst.rAIDA">
+<title>
+rAIDA
+</title>
+
+<para>
+Please refer to the 
+<ulink url="http://ilcsoft.desy.de/portal/software_packages/raida/">
+rAIDA documentation</ulink> (a <ulink url="http://root.cern.ch/">Root</ulink> implementation of AIDA): 
+ Root plugin for generating histograms with AIDA.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Hst.Exmp">
+<title>
+Examples
+</title>
+
+<para>
+Examples in Geant4 showing how to use AIDA compliant tools for
+histogramming are available in the code distribution in the
+following directories:
+
+<itemizedlist spacing="compact">
+   <listitem><para>
+     <literal>geant4/examples/extended/analysis</literal>,
+   </para></listitem>
+   <listitem><para>
+     <literal>geant4/examples/extended/electromagnetic</literal>     
+   </para></listitem>
+   <listitem><para>
+     <literal>geant4/examples/advanced</literal>     
+   </para></listitem>
+</itemizedlist>
+</para>
+
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/makeFile.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/makeFile.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/makeFile.xml	(revision 904)
@@ -0,0 +1,1073 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.MkflEnvVar">
+<title>
+Makefiles and Environment Variables
+</title>
+
+<para>
+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.
+</para>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.MkflEnvVar.GNUG4">
+<title>
+The GNUmake system in Geant4
+</title>
+
+<para>
+As described in <xref linkend="sect.HowToDefMain" /> of the 
+Installation Guide, the GNUmake process in
+Geant4 is mainly controlled by the following GNUmake script files
+(<literal>*.gmk</literal> scripts are placed in
+<literal>$G4INSTALL/config</literal>):
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <literal>architecture.gmk</literal>: defining all the architecture
+    specific settings and paths. System settings are stored in
+    <literal>$G4INSTALL/config/sys</literal> in separate files.
+  </para></listitem>
+  <listitem><para>
+    <literal>common.gmk</literal>: defining all general GNUmake rules for
+    building objects and libraries.
+  </para></listitem>
+  <listitem><para>
+    <literal>globlib.gmk</literal>: defining all general GNUmake rules for
+    building compound libraries.
+  </para></listitem>
+  <listitem><para>
+    <literal>binmake.gmk</literal>: defining the general GNUmake rules for
+    building executables.
+  </para></listitem>
+  <listitem><para>
+    <literal>GNUmake</literal> 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.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+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 "<literal>gmake</literal>"
+command from there ("<literal>gmake global</literal>" 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:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <literal>gmake</literal>
+    <para>
+    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, 
+    <emphasis role="bold">not</emphasis> the compound one. 
+    The top level <literal>GNUmakefile</literal> in
+    <literal>$G4INSTALL/source</literal> will also build in this case a
+    dependency map <literal>libname.map</literal> of each library to establish
+    the linking order automatically at the <literal>bin</literal> step. The map
+    will be placed in <literal>$G4LIB/$G4SYSTEM</literal>.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>gmake global</literal>
+    <para>
+    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).
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>gmake bin</literal> or <literal>gmake</literal> (only for
+    examples/)
+    <para>
+    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 <emphasis role="bold">all</emphasis> 
+    kernel libraries are already generated and placed in the correct
+    <literal>$G4INSTALL</literal> path defined for them.
+    </para>
+
+    <para>
+    The linking order is controlled automatically in case libraries
+    have been built with maximum granularity, and the link list is
+    generated on the fly.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>make dll</literal>
+    <para>
+    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.
+    </para>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+<literal>lib/ bin/</literal> and <literal>tmp/</literal> directories
+</bridgehead>
+
+<para>
+The <literal>$G4INSTALL</literal> environment variable specifies where
+the installation of the Geant4 toolkit should take place, therefore
+kernel libraries will be placed in <literal>$G4INSTALL/lib</literal>. The
+<literal>$G4WORKDIR</literal> 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 <literal>$G4WORKDIR/tmp</literal>, according to
+the system architecture used. Binaries will be placed in
+<literal>$G4WORKDIR/bin</literal>, according to the system architecture
+used. The path to <literal>$G4WORKDIR/bin/$G4SYSTEM</literal> should be
+added to <literal>$PATH</literal> in the user environment.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.MkflEnvVar.EnvVar">
+<title>
+Environment variables
+</title>
+
+<para>
+Here is a list of the most important environment variables defined
+within the Geant4 <literal>GNUmake</literal> infrastructure, with a short
+explanation of their use.
+</para>
+
+<para>
+<emphasis role="bold">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 !</emphasis>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+System configuration
+</bridgehead>
+
+<para>
+<variablelist>
+  <varlistentry>
+    <term>
+      $CLHEP_BASE_DIR
+    </term>
+    <listitem>
+      Specifies the path where the CLHEP package is installed in your system.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4SYSTEM
+    </term>
+    <listitem>
+      <para> 
+      Defines the architecture and compiler currently used.
+      </para>
+      <para> 
+      <emphasis role="bold">NOTE</emphasis>: This variable is set automatically 
+      if the <literal>Configure</literal> script is adopted for the
+      installation. This will result in the proper settings also for
+      configuring the environment with the generated shell scripts
+      <literal>env.[c]sh</literal>.
+      </para>
+    </listitem>
+  </varlistentry>
+</variablelist>
+</para>
+
+
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Installation paths
+</bridgehead>
+
+<para>
+<variablelist>
+  <varlistentry>
+    <term>
+      $G4INSTALL
+    </term>
+    <listitem>
+      Defines the path where the Geant4 toolkit should be installed. It
+      should be set by the system installer. By default, it sets to
+      <literal>$HOME/geant4</literal>, assuming the Geant4 distribution 
+      is placed in <literal>$HOME</literal>.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4BASE <emphasis role="bold">(*)</emphasis>
+    </term>
+    <listitem>
+      Defines the path to the source code. Internally used to define
+      <literal>$CPPFLAGS</literal> and <literal>$LDFLAGS</literal> for 
+      -I and -L directives. It has to be set to 
+      <literal>$G4INSTALL/src</literal>.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4WORKDIR
+    </term>
+    <listitem>
+      Defines the path for the user's workdir for Geant4. It is set by
+      default to <literal>$HOME/geant4</literal>, assuming the user's 
+      working directory for Geant4 is placed in <literal>$HOME</literal>.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4INCLUDE
+    </term>
+    <listitem>
+      Defines the path where source header files may be mirrored at
+      installation by issuing <literal>gmake includes</literal> (default 
+      is set to <literal>$G4INSTALL/include</literal>)
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4BIN, $G4BINDIR <emphasis role="bold">(*)</emphasis>
+    </term>
+    <listitem>
+      Used by the system to specify the place where to store executables.
+      By default they're set to <literal>$G4WORKDIR/bin</literal> and
+      <literal>$G4BIN/$G4SYSTEM</literal> respectively. The path to
+      <literal>$G4WORKDIR/bin/$G4SYSTEM</literal> should be added to 
+      <literal>$PATH</literal> in the user environment. 
+      <literal>$G4BIN</literal> can be overridden.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4TMP, $G4TMPDIR <emphasis role="bold">(*)</emphasis>
+    </term>
+    <listitem>
+      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 <literal>$G4WORKDIR/tmp</literal> 
+      and <literal>$G4TMP/$G4SYSTEM</literal> respectively. 
+      <literal>$G4TMP</literal> can be overridden.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4LIB, $G4LIBDIR <emphasis role="bold">(*)</emphasis>
+    </term>
+    <listitem>
+      Used by the system to specify the place where to store libraries.
+      By default they're set to <literal>$G4INSTALL/lib</literal> and
+      <literal>$G4LIB/$G4SYSTEM</literal> respectively. 
+      <literal>$G4LIB</literal> can be overridden.
+    </listitem>
+  </varlistentry>
+</variablelist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Build specific
+</bridgehead>
+
+<para>
+<variablelist>
+  <varlistentry>
+    <term>
+      $G4TARGET
+    </term>
+    <listitem>
+      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
+      <literal>$G4INSTALL/examples</literal>.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4EXEC_BUILD
+    </term>
+    <listitem>
+      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 <literal>$G4INSTALL/examples</literal>,
+      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 <literal>$G4TREP/exec</literal>.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4DEBUG
+    </term>
+    <listitem>
+      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 (<literal>$G4OPTIMISE</literal> set).
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4NO_OPTIMISE
+    </term>
+    <listitem>
+      Specifies to compile the code (libraries or examples) without
+      compiler optimisation.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4OPTDEBUG
+    </term>
+    <listitem>
+      On <literal>Linux</literal> systems with the <literal>g++</literal>
+      compiler, it allows to build in optimised mode including symbolic
+      information for debugging.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4PROFILE
+    </term>
+    <listitem>
+      On <literal>Linux</literal> systems with the <literal>g++</literal>
+      compiler, it allows to build libraries with profiling setup for
+      monitoring with the <literal>gprof</literal> tool.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4_NO_VERBOSE
+    </term>
+    <listitem>
+      Geant4 code is compiled by default in high verbosity mode
+      (<literal>$G4VERBOSE</literal> flag set). For better performance, 
+      verbosity code can be left out by defining <literal>$G4_NO_VERBOSE</literal>.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4LIB_BUILD_SHARED
+    </term>
+    <listitem>
+      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.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4LIB_BUILD_STATIC
+    </term>
+    <listitem>
+      Flag specifying if to build kernel libraries as static archive
+      libraries in addition to shared libraries (in case
+      <literal>$G4LIB_BUILD_SHARED</literal> is set as well).
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4LIB_BUILD_DLL <emphasis role="bold">(*)</emphasis>
+    </term>
+    <listitem>
+      Internal flag for specifying to build DLL kernel libraries for
+      Windows systems. The flag is automatically set when requested to
+      build DLLs.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4LIB_USE_DLL
+    </term>
+    <listitem>
+      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.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4LIB_USE_GRANULAR
+    </term>
+    <listitem>
+      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.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      
+    </term>
+    <listitem>
+      
+    </listitem>
+  </varlistentry>
+</variablelist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+UI specific
+</bridgehead>
+
+<para>
+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.
+</para>
+
+<para>
+<variablelist>
+  <varlistentry>
+    <term>
+      G4UI_USE_TERMINAL
+    </term>
+    <listitem>
+      Specifies to use dumb terminal interface in the application to be
+      built (default).
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      G4UI_USE_TCSH
+    </term>
+    <listitem>
+      Specifies to use the tcsh-shell like interface in the application
+      to be built.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      G4UI_BUILD_XM_SESSION, G4UI_BUILD_XAW_SESSION
+    </term>
+    <listitem>
+      Specifies to include in kernel library the <emphasis>XM</emphasis> or 
+      <emphasis>XAW</emphasis> Motif-based user interfaces.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      G4UI_USE_XM, G4UI_USE_XAW
+    </term>
+    <listitem>
+      Specifies to use the <emphasis>XM</emphasis> or <emphasis>XAW</emphasis> 
+      interfaces in the application to be built.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      G4UI_BUILD_WIN32_SESSION
+    </term>
+    <listitem>
+      Specifies to include in kernel library the WIN32 terminal interface
+      for Windows systems.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      G4UI_USE_WIN32
+    </term>
+    <listitem>
+      Specifies to use the WIN32 interfaces in the application to be
+      built on Windows systems.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      G4UI_BUILD_QT_SESSION
+    </term>
+    <listitem>
+      Specifies to include in kernel library the Qt terminal interface.
+      <literal>$QTHOME</literal> should specify the path where Qt libraries
+      and headers are installed
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      G4UI_USE_QT
+    </term>
+    <listitem>
+      Specifies to use the Qt interfaces in the application to be
+      built.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      G4UI_NONE
+    </term>
+    <listitem>
+      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.
+    </listitem>
+  </varlistentry>
+</variablelist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Visualization specific
+</bridgehead>
+
+<para>
+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.
+</para>
+
+<para>
+<variablelist>
+  <varlistentry>
+    <term>
+      $G4VIS_BUILD_OPENGLX_DRIVER
+    </term>
+    <listitem>
+      Specifies to build kernel library for visualization including the
+      OpenGL driver with X11 extension. It requires <literal>$OGLHOME</literal> 
+      set (path to OpenGL installation).
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4VIS_USE_OPENGLX
+    </term>
+    <listitem>
+      Specifies to use OpenGL graphics with X11 extension in the
+      application to be built.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4VIS_BUILD_OPENGLXM_DRIVER
+    </term>
+    <listitem>
+      Specifies to build kernel library for visualization including the
+      OpenGL driver with XM extension. It requires <literal>$OGLHOME</literal> 
+      set (path to OpenGL installation).
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4VIS_USE_OPENGLXM
+    </term>
+    <listitem>
+      Specifies to use OpenGL graphics with XM extension in the
+      application to be built.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      G4VIS_BUILD_OPENGLQT_DRIVER
+    </term>
+    <listitem>
+      Specifies to build kernel library for visualization including the
+      OpenGL driver with Qt extension. It requires <literal>$QTHOME</literal>
+      set to specify the path where Qt libraries and headers are installed.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      G4VIS_USE_OPENGLQT
+    </term>
+    <listitem>
+      Specifies to use OpenGL graphics with Qt extension in the
+      application to be built.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4VIS_BUILD_OI_DRIVER
+    </term>
+    <listitem>
+      Specifies to build kernel library for visualization including the
+      OpenInventor driver. It requires <literal>$OIHOME</literal> set 
+      (paths to the <literal>OpenInventor</literal> installation).
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4VIS_USE_OI
+    </term>
+    <listitem>
+      Specifies to use OpenInventor graphics in the application to be
+      built.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4VIS_BUILD_OIX_DRIVER
+    </term>
+    <listitem>
+      Specifies to build the driver for the free X11 version of
+      OpenInventor.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4VIS_USE_OIX
+    </term>
+    <listitem>
+      Specifies to use the free X11 version of OpenInventor.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4VIS_BUILD_RAYTRACERX_DRIVER
+    </term>
+    <listitem>
+      Specifies to build kernel library for visualization including the
+      Ray-Tracer driver with X11 extension. It requires <literal>X11</literal>
+      installed in the system.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4VIS_USE_RAYTRACERX
+    </term>
+    <listitem>
+      Specifies to use the X11 version of the Ray-Tracer driver.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4VIS_BUILD_OIWIN32_DRIVER
+    </term>
+    <listitem>
+      Specifies to build the driver for the free X11 version of
+      OpenInventor on Windows systems.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4VIS_USE_OIWIN32
+    </term>
+    <listitem>
+      Specifies to use the free X11 version of OpenInventor on Windows
+      systems.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4VIS_BUILD_DAWN_DRIVER
+    </term>
+    <listitem>
+      Specifies to build kernel library for visualization including the
+      driver for DAWN.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4VIS_USE_DAWN
+    </term>
+    <listitem>
+      Specifies to use DAWN as a possible graphics renderer in the
+      application to be built.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4DAWN_HOST_NAME
+    </term>
+    <listitem>
+      To specify the hostname for use with the DAWN-network driver.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4VIS_NONE
+    </term>
+    <listitem>
+      If specified, no visualization drivers will be built or used.
+    </listitem>
+  </varlistentry>
+</variablelist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Hadronic physics specific
+</bridgehead>
+
+<para>
+<variablelist>
+  <varlistentry>
+    <term>
+      $G4NEUTRONHP_USE_ONLY_PHOTONEVAPORATION
+    </term>
+    <listitem>
+      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.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4NEUTRONHP_SKIP_MISSING_ISOTOPES
+    </term>
+    <listitem>
+      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.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4NEUTRONHP_NEGLECT_DOPPLER
+    </term>
+    <listitem>
+      Sets neglecting doppler broadening mode for boosting performance.
+    </listitem>
+  </varlistentry>
+</variablelist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+<literal>GDML</literal>, <literal>zlib</literal> and <literal>g3tog4</literal> modules
+</bridgehead>
+
+<para>
+<variablelist>
+  <varlistentry>
+    <term>
+      $G4LIB_BUILD_GDML
+    </term>
+    <listitem>
+      If set, triggers compilation of a plugin module <literal>gdml</literal> 
+      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 <literal>$XERCESCROOT</literal>. 
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4LIB_USE_GDML
+    </term>
+    <listitem>
+      Specifies to use the <literal>gdml</literal> module. The flag is
+      automatically set if <literal>$G4LIB_BUILD_GDML</literal> is set in the environment.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4LIB_BUILD_ZLIB
+    </term>
+    <listitem>
+      If set, triggers compilation of a specific <literal>zlib</literal> 
+      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.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4LIB_USE_ZLIB
+    </term>
+    <listitem>
+      Specifies to use the <literal>zlib</literal> module, either system 
+      built-in or Geant4 specific.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4LIB_BUILD_G3TOG4
+    </term>
+    <listitem>
+      If set, triggers compilation of the <literal>g3tog4</literal> 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.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4LIB_USE_G3TOG4
+    </term>
+    <listitem>
+      Specifies to use the <literal>g3tog4</literal> module, assuming the related
+      library has been already installed.
+    </listitem>
+  </varlistentry>
+</variablelist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Analysis specific
+</bridgehead>
+
+<para>
+<variablelist>
+  <varlistentry>
+    <term>
+      $G4ANALYSIS_USE
+    </term>
+    <listitem>
+      Specifies to activate the appropriate environment for analysis, if
+      an application includes code for histogramming based on
+      <emphasis>AIDA</emphasis>. Additional setup variables are required
+      (<literal>$G4ANALYSIS_AIDA_CONFIG_CFLAGS</literal>,
+      <literal>$G4ANALYSIS_AIDA_CONFIG_LIBS</literal>) to define config options 
+      for AIDA ("<literal>aida-config --cflags</literal>" and 
+      "<literal>aida-config --libs</literal>"). See installation instructions 
+      of the specific analysis tools for details.
+    </listitem>
+  </varlistentry>
+</variablelist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Directory paths to Physics Data
+</bridgehead>
+
+<para>
+<variablelist>
+  <varlistentry>
+    <term>
+      $G4NEUTRONHPDATA
+    </term>
+    <listitem>
+      Path to external data set for Neutron Scattering processes.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4LEDATA
+    </term>
+    <listitem>
+      Path to external data set for low energy electromagnetic
+      processes.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4LEVELGAMMADATA
+    </term>
+    <listitem>
+      Path to the data set for Photon Evaporation.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4RADIOACTIVEDATA
+    </term>
+    <listitem>
+      Path to the data set for Radiative Decay processes.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      $G4ABLADATA
+    </term>
+    <listitem>
+      Path to nuclear shell effects data set for INCL/ABLA hadronic model.
+    </listitem>
+  </varlistentry>
+</variablelist>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.MkflEnvVar.LnkExtLib">
+<title>
+Linking External Libraries with Geant4
+</title>
+
+<para>
+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.
+</para>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.MkflEnvVar.LnkExtLib.AddExtlibNoG4">
+<title>
+Adding external libraries which do *not* use Geant4
+</title>
+
+<para>
+In the <literal>GNUmakefile</literal> of your application, before including
+<literal>binmake.gmk</literal>, specify the extra library in
+<literal>EXTRALIBS</literal> either using the <literal>-L...-l...</literal> 
+syntax or by specifying the full pathname, e.g.:
+
+<informalexample>
+<programlisting>
+  EXTRALIBS := -L&lt;your-path&gt;/lib -l&lt;myExtraLib&gt;
+</programlisting>
+</informalexample>
+or
+<informalexample>
+<programlisting>
+  EXTRALIBS := &lt;your-path&gt;/lib/lib&lt;myExtraLib&gt;.a
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+You may also specify <literal>EXTRA_LINK_DEPENDENCIES</literal>, which is
+added to the dependency of the target executable, and you may also
+specify a rule for making it, e.g.:
+
+<informalexample>
+<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)
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Note that you almost certainly need to augment <literal>CPPFLAGS</literal>
+for the header files of the external library, e.g.:
+
+<informalexample>
+<programlisting>
+  CPPFLAGS+=-I&lt;your-path&gt;/include
+</programlisting>
+</informalexample>
+
+See <xref linkend="programlist_MkflEnvVar_1" />.
+</para>
+
+<para>
+<example id="programlist_MkflEnvVar_1">
+<title>
+An example of a customised GNUmakefile for an application or
+example using an external module not bound to Geant4.
+</title>
+
+<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)
+</programlisting>
+</example>
+</para>
+
+</sect3>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.MkflEnvVar.LnkExtLib.AddExtlibWithG4">
+<title>
+Adding external libraries which use Geant4
+</title>
+
+<para>
+In addition to the above, specify, in <literal>EXTRALIBSSOURCEDIRS</literal>,
+a list of directories containing source files in its <literal>src/</literal>
+subdirectory. Thus, your <literal>GNUmakefile</literal> might contain:
+
+<informalexample>
+<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)
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+See <xref linkend="programlist_MkflEnvVar_2" />.
+</para>
+
+<para>
+<example id="programlist_MkflEnvVar_2">
+<title>
+An example of a customised GNUmakefile for an
+application or example using external modules bound to Geant4.
+</title>
+
+<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)
+</programlisting>
+</example>
+</para>
+
+</sect3>
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/materialNames.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/materialNames.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/materialNames.xml	(revision 904)
@@ -0,0 +1,989 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.G4MatrDb">
+<title>
+Geant4 Material Database
+</title>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.G4MatrDb.PurMat">
+<title>
+Pure Materials
+</title>
+
+<para>
+<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
+</programlisting>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.G4MatrDb.NISTCmp">
+<title>
+NIST Compounds
+</title>
+
+<para>
+<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
+</programlisting>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.G4MatrDb.HepMat">
+<title>
+HEP Materials
+</title>
+
+<para>
+<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
+</programlisting>
+</para>
+
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/templateLib.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/templateLib.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/templateLib.xml	(revision 904)
@@ -0,0 +1,84 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.CppStdTL">
+<title>
+C++ Standard Template Library
+</title>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Overview
+</bridgehead>
+
+<para>
+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.
+</para>
+
+<para>
+Good books on STL are:
+
+<itemizedlist spacing="compact">
+   <listitem><para>
+     Nicolai M. Josuttis: The C++ Standard Library. A Tutorial and
+     Reference
+     <citation>
+     <xref linkend="biblio.josuttis1999" endterm="biblio.josuttis1999.abbrev" />
+     </citation>
+   </para></listitem>
+   <listitem><para>
+     David R. Musser, Atul Saini: STL Tutorial and Reference Guide /
+     C++ Programming with the Standard Template Library
+     <citation>
+     <xref linkend="biblio.musser1996" endterm="biblio.musser1996.abbrev" />
+     </citation>
+   </para></listitem>
+   <listitem><para>
+     Scott Meyers: Effective STL
+     <citation>
+     <xref linkend="biblio.meyers2001" endterm="biblio.meyers2001.abbrev" />
+     </citation>
+   </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+Resources available online include the
+reference of the SGI implementation:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <ulink url="http://www.sgi.com/tech/stl/">
+    SGI STL homepage 
+    </ulink>
+    , this is the basis of the native egcs STL implementation.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+STL in Geant4
+</bridgehead>
+
+<para>
+Since release 0.1, Geant4 supports STL, the Standard Template
+Library. From release 1.0 of Geant4, STL is required.
+</para>
+
+<para>
+<emphasis>Native</emphasis> implementations of STL are foreseen on 
+all supported platforms.
+</para>
+
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/tipsCompilation.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/tipsCompilation.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Appendix/tipsCompilation.xml	(revision 904)
@@ -0,0 +1,191 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.TpPrgCmp">
+<title>
+Tips for Program Compilation
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+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).
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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
+<literal>$G4WORKDIR/tmp/$G4SYSTEM/g4.ptrepository/</literal>, where
+<literal>$G4SYSTEM</literal> identifies the system-architecture/compiler
+currently used and <literal>$G4WORKDIR</literal> is the path to the user
+working directory for Geant4.
+</para>
+
+<para>
+A secondary template repository <literal>$G4TREP/exec</literal> 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 <literal>G4EXEC_BUILD</literal>; once activated, the secondary
+repository will become the read/write one, while the primary
+repository will be considered read-only.
+</para>
+
+<para>
+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 <literal>$G4TREP</literal> environment variable) for building all
+Geant4 libraries; then use a secondary template repository
+(<literal>$G4TREP/exec</literal>, together with the
+<literal>$G4EXEC_BUILD</literal> flag) when building any kind of example or
+application.
+</para>
+
+<para>
+It's always good practise to clean-up the secondary template
+repository from time to time.
+</para>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.TpPrgCmp.UnxLnxGpp">
+<title>
+Unix/Linux - g++
+</title>
+
+<para>
+OS: Linux
+</para>
+
+<para>
+Compiler: GNU/gcc
+</para>
+
+<para>
+Strict ISO/ANSI compilation is forced (<literal>-ansi -pedantic</literal>
+compiler flags), also code is compiled with high verbosity
+diagnostics (<literal>-Wall</literal> flag). The default optimisation level
+is <literal>-O2</literal>.
+</para>
+
+<note>
+<title>Note</title>
+
+<para>
+Additional compilation options (<literal>-march=XXX
+-mfpmath=sseYYY</literal>) to adopt chip specific floating-point
+operations on the SSE unit, can be activated by adapting the
+<literal>XXX, YYY</literal> options and uncommenting the relevant
+part in the <literal>Linux-g++.gmk</literal> 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 likely NOT be portable cross platforms; generated applications
+will only run on the specific chip-based architectures.
+</para>
+</note>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.TpPrgCmp.WndMsVslCpp">
+<title>
+Windows - MS Visual C++
+</title>
+
+<para>
+OS: MS/Windows
+</para>
+
+<para>
+Compiler: MS-VC++
+</para>
+
+<para>
+Since version .NET 7.0 of the compiler, ISO/ANSI compliance is
+required.
+</para>
+
+<para>
+See <xref linkend="sect.ClassCate" /> of the Installation Guide for 
+more detailed information.
+See also <xref linkend="sect.BldMSV" /> for more tips.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.TpPrgCmp.McXCpp">
+<title>
+MacOS-X - g++
+</title>
+
+<para>
+OS: MacOS/Darwin
+</para>
+
+<para>
+Compiler: GNU/gcc
+</para>
+
+<para>
+The setup adopted for the <literal>g++</literal> compiler on MacOS
+resembles in great part the one for Linux systems.
+</para>
+
+<para>
+The default optimisation level in this case is <literal>-O2</literal>.
+</para>
+
+<para>
+Dynamic libraries (<literal>.dylib</literal>) 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 <literal>DYLD_LIBRARY_PATH</literal> system variable.
+</para>
+
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Bibliography/Bibliography.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Bibliography/Bibliography.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Bibliography/Bibliography.xml	(revision 904)
@@ -0,0 +1,23 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  This is the top file for the present chapter. It        -->
+<!--  includes all section files which belong to the chapter. -->
+<!--  Entities names used below are defined in                -->
+<!--  ChapXXEntityDef.dtd in the current directory.           -->
+<!--                                                          -->
+<!--  [Note]                                                  -->
+<!--    Created by Katsuya Amako, Aug-2006                    -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!-- ******************** Top of Chapter ******************** -->
+<bibliography id="bibliography.Bibliography">
+<title>
+Bibliography
+</title>
+
+<!-- *************** Inclusion of Sections ****************** -->
+&biblioData;
+
+</bibliography>
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Bibliography/BibliographyEntityDef.dtd
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Bibliography/BibliographyEntityDef.dtd	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Bibliography/BibliographyEntityDef.dtd	(revision 904)
@@ -0,0 +1,18 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  In this file you need to define entities of all xml     -->
+<!--  section files you want to include from the current      -->
+<!--  directory into the G4 DocBook manual.                   -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Creattion:  Katsuya Amako,  Aug-2006                  -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!ENTITY bibliography              SYSTEM "./Bibliography.xml">
+
+<!ENTITY biblioData                SYSTEM "./biblioData.xml">
+
+
+
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Bibliography/biblioData.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Bibliography/biblioData.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Bibliography/biblioData.xml	(revision 904)
@@ -0,0 +1,202 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Created:  Katsuya Amako, Nov-2006                     -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!-- ******************* Bibliograpy Entry ****************** -->
+<biblioentry id="biblio.booch1994">
+  <abbrev id="biblio.booch1994.abbrev">
+    Booch1994
+  </abbrev>
+  <author>
+    <firstname>Grady</firstname>
+    <surname>Booch</surname>
+  </author>
+  <title>
+    Object-Oriented Analysis and Design with Applications
+  </title>
+  <publishername>
+    The Benjamin/Cummings Publishing Co. Inc
+  </publishername>
+  <pubdate>
+    1994
+  </pubdate>
+  <isbn>
+    ISBN: 0-8053-5340-2
+  </isbn>
+</biblioentry>
+
+<!-- ******************* Bibliograpy Entry ****************** -->
+<biblioentry id="biblio.ellis1990">
+  <abbrev id="biblio.ellis1990.abbrev">
+    Ellis1990
+  </abbrev>
+  <authorgroup>
+    <author>
+      <firstname>Margaret</firstname>
+      <surname>Ellis</surname>
+    </author>
+    <author>
+      <firstname>Bjarne</firstname>
+      <surname>Stroustrup</surname>
+    </author>
+  </authorgroup>
+  <title>
+    Annotated C++ Reference Manual (ARM)
+  </title>
+  <publishername>
+    Addison-Wesley Publishing Co.
+  </publishername>
+  <pubdate>
+    1990
+  </pubdate>
+</biblioentry>
+
+<!-- ******************* Bibliograpy Entry ****************** -->
+<biblioentry id="biblio.hecht1974">
+  <abbrev id="biblio.hecht1974.abbrev">
+    Hecht1974
+  </abbrev>
+  <authorgroup>
+    <author>
+      <firstname>E. </firstname>
+      <surname>Hecht</surname>
+    </author>
+    <author>
+      <firstname>A. </firstname>
+      <surname>Zajac</surname>
+    </author>
+  </authorgroup>
+  <title>
+    Optics
+  </title>
+  <publishername>
+    Addison-Wesley Publishing Co.
+  </publishername>
+  <pubdate>
+    1974
+  </pubdate>
+  <pagenums>
+    pp. 71-80 and pp. 244-246
+  </pagenums>
+</biblioentry>
+
+<!-- ******************* Bibliograpy Entry ****************** -->
+<biblioentry id="biblio.josuttis1999">
+  <abbrev id="biblio.josuttis1999.abbrev">
+    Josuttis1999
+  </abbrev>
+  <author>
+    <firstname>Nicolai M. </firstname>
+    <surname>Josuttis</surname>
+  </author>
+  <title>
+    The C++ Standard Library - A Tutorial and Reference
+  </title>
+  <publishername>
+    Addison-Wesley Publishing Co.
+  </publishername>
+  <pubdate>
+    1999
+  </pubdate>
+  <isbn>
+    ISBN: 0-201-37926-0
+  </isbn>
+</biblioentry>
+
+<!-- ******************* Bibliograpy Entry ****************** -->
+<biblioentry id="biblio.meyers2001">
+  <abbrev id="biblio.meyers2001.abbrev">
+    Meyers2001
+  </abbrev>
+  <author>
+    <firstname>Scott </firstname>
+    <surname>Meyers</surname>
+  </author>
+  <title>
+    Effective STL
+  </title>
+  <publishername>
+    Addison-Wesley Publishing Co.
+  </publishername>
+  <pubdate>
+    2001
+  </pubdate>
+  <isbn>
+    ISBN: 0-201-74962-9
+  </isbn>
+</biblioentry>
+
+<!-- ******************* Bibliograpy Entry ****************** -->
+<biblioentry id="biblio.musser1996">
+  <abbrev id="biblio.musser1996.abbrev">
+    Musser1996
+  </abbrev>
+  <authorgroup>
+    <author>
+      <firstname>David R. </firstname>
+      <surname>Musser</surname>
+    </author>
+    <author>
+      <firstname>Atul </firstname>
+      <surname>Saini</surname>
+    </author>
+  </authorgroup>
+  <title>
+    STL Tutorial and Reference Guide / C++ Programming with the Standard Template Library
+  </title>
+  <publishername>
+    Addison-Wesley Publishing Co.
+  </publishername>
+  <pubdate>
+    1996
+  </pubdate>
+  <isbn>
+    ISBN: 0-201-63398-1
+  </isbn>
+</biblioentry>
+
+<!-- ******************* Bibliograpy Entry ****************** -->
+<biblioentry id="biblio.plauger1995">
+  <abbrev id="biblio.plauger1995.abbrev">
+    Plauger1995
+  </abbrev>
+  <author>
+    <firstname>P.J.</firstname>
+    <surname>Plauger</surname>
+  </author>
+  <title>
+    The Draft Standard C++ Library
+  </title>
+  <publishername>
+    Prentice Hall, Englewood Cliffs
+  </publishername>
+  <pubdate>
+    1995
+  </pubdate>
+</biblioentry>
+
+<!-- ******************* Bibliograpy Entry ****************** -->
+<biblioentry id="biblio.chauvie2007">
+  <abbrev id="biblio.chauvie2007.abbrev">
+    Chauvie2007
+  </abbrev>
+  <author>
+    <surname>
+    S. Chauvie, Z. Francis, S. Guatelli, S. Incerti, B. Mascialino, 
+    P. Moretto, P. Nieminen and M. G. Pia
+    </surname>
+  </author>
+  <title>
+    Geant4 physics processes for microdosimetry simulation: design foundation 
+    and implementation of the first set of models
+  </title>
+  <publishername>
+    To be published in IEEE Trans. Nucl. Sci., Dec. 2007
+  </publishername>
+  <pubdate>
+    2007
+  </pubdate>
+</biblioentry>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/BookFAQ.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/BookFAQ.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/BookFAQ.xml	(revision 904)
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
+<!ENTITY % bookFAQEntityDef SYSTEM "./BookFAQEntityDef.dtd">
+%bookFAQEntityDef;
+
+]>
+
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Created by:   Katsuya Amako, Aug-2006                 -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!-- ******************* Top of the Book ******************** --> 
+<book id="geant4_FAQ">
+
+
+<!-- ******************* Book Information ******************* --> 
+<bookinfo>
+  <title>
+  Frequentry Asked Questions
+  </title>
+
+  <authorgroup>
+  <author>
+  <firstname></firstname>
+  <surname>Geant4 Collaboration</surname>
+  </author>
+  </authorgroup>
+
+  <pubdate>9 May, 2007</pubdate>
+  <releaseinfo>Version: geant4 8.3</releaseinfo>
+
+</bookinfo>
+
+<!-- *************** Inclusion of Chapters ****************** --> 
+&faq;
+
+
+</book>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/BookFAQEntityDef.dtd
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/BookFAQEntityDef.dtd	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/BookFAQEntityDef.dtd	(revision 904)
@@ -0,0 +1,15 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  In this file you need to define entities of all         -->
+<!--  chpater-dtd files you want to include into the          -->
+<!--  G4 DocBook manual.                                      -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Creation:  Katsuya Amako,  August 2006                -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!ENTITY % faqEntityDef       SYSTEM 
+           "../../ForApplicationDeveloper/xml/FAQ/FaqEntityDef.dtd"> 
+
+%faqEntityDef;
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/BookForAppliDev.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/BookForAppliDev.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/BookForAppliDev.xml	(revision 904)
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
+<!ENTITY % bookForAppliDevEntityDef SYSTEM "./BookForAppliDevEntityDef.dtd">
+%bookForAppliDevEntityDef;
+]>
+
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Created by:   Katsuya Amako, Aug-2006                 -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!-- ******************* Top of the Book ******************** --> 
+<book id="geant4_users_guide_for_application_developers">
+
+
+<!-- ******************* Book Information ******************* --> 
+<bookinfo>
+  <title>
+  Geant4 User's Guide for Application Developers
+  </title>
+
+  <authorgroup>
+  <author>
+  <firstname></firstname>
+  <surname>Geant4 Collaboration</surname>
+  </author>
+  </authorgroup>
+
+  <pubdate>14 December, 2007</pubdate>
+  <releaseinfo>Version: geant4 9.1</releaseinfo>
+
+</bookinfo>
+
+<!-- *************** Inclusion of Chapters ****************** --> 
+&chapIntroduction;
+&chapGettingStarted;
+&chapFundamentals;
+&chapDetector;
+&chapTrackingAndPhysics;
+&chapUserActions;
+&chapControl;
+&chapVisualization;
+&chapExamples;
+
+&faq;
+&appendix;
+&bibliography;
+
+</book>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/BookForAppliDevEntityDef.dtd
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/BookForAppliDevEntityDef.dtd	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/BookForAppliDevEntityDef.dtd	(revision 904)
@@ -0,0 +1,51 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  In this file you need to define entities of all         -->
+<!--  chpater-dtd files you want to include into the          -->
+<!--  G4 DocBook manual.                                      -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Creation:  Katsuya Amako,  August 2006                -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!ENTITY % chapIntroductionEntityDef SYSTEM 
+           "Introduction/ChapIntroductionEntityDef.dtd"> 
+<!ENTITY % chapGettingStartedEntityDef SYSTEM 
+           "GettingStarted/ChapGettingStartedEntityDef.dtd"> 
+<!ENTITY % chapFundamentalsEntityDef SYSTEM 
+           "Fundamentals/ChapFundamentalsEntityDef.dtd"> 
+<!ENTITY % chapDetectorEntityDef SYSTEM 
+           "Detector/ChapDetectorEntityDef.dtd"> 
+<!ENTITY % chapTrackingAndPhysicsEntityDef SYSTEM 
+           "TrackingAndPhysics/ChapTrackingAndPhysicsEntityDef.dtd"> 
+<!ENTITY % chapUserActionsEntityDef SYSTEM 
+           "UserActions/ChapUserActionsEntityDef.dtd"> 
+<!ENTITY % chapControlEntityDef SYSTEM 
+           "Control/ChapControlEntityDef.dtd"> 
+<!ENTITY % chapVisualizationEntityDef SYSTEM 
+           "Visualization/ChapVisualizationEntityDef.dtd"> 
+<!ENTITY % chapExamplesEntityDef SYSTEM 
+           "Examples/ChapExamplesEntityDef.dtd"> 
+
+<!ENTITY % appendixEntityDef  SYSTEM 
+           "Appendix/AppendixEntityDef.dtd"> 
+<!ENTITY % faqEntityDef       SYSTEM 
+           "FAQ/FaqEntityDef.dtd"> 
+<!ENTITY % bibliographyEntityDef SYSTEM 
+           "Bibliography/BibliographyEntityDef.dtd"> 
+
+
+%chapIntroductionEntityDef;
+%chapGettingStartedEntityDef;
+%chapFundamentalsEntityDef;
+%chapDetectorEntityDef;
+%chapTrackingAndPhysicsEntityDef;
+%chapUserActionsEntityDef;
+%chapControlEntityDef;
+%chapVisualizationEntityDef;
+%chapExamplesEntityDef;
+
+%appendixEntityDef;
+%faqEntityDef;
+%bibliographyEntityDef;
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Control/ChapControl.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Control/ChapControl.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Control/ChapControl.xml	(revision 904)
@@ -0,0 +1,26 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  This is the top file for the present chapter. It        -->
+<!--  includes all section files which belong to the chapter. -->
+<!--  Entities names used below are defined in                -->
+<!--  ChapXXEntityDef.dtd in the current directory.           -->
+<!--                                                          -->
+<!--  [Note]                                                  -->
+<!--    Created by Katsuya Amako, Aug-2006                    -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************** Top of Chapter ******************** -->
+<chapter id="chap.CommunicationAndControl">
+<title>
+Communication and Control
+</title>
+
+<!-- *************** Inclusion of Sections ****************** -->
+&commands;
+&userInterfaceCommand;
+
+
+</chapter>
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Control/ChapControlEntityDef.dtd
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Control/ChapControlEntityDef.dtd	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Control/ChapControlEntityDef.dtd	(revision 904)
@@ -0,0 +1,8 @@
+<!-- In below you need to define entities of all xml files you want to -->
+<!-- include from the current directory into the G4 DocBook manual.    -->
+
+<!ENTITY chapControl            SYSTEM "./ChapControl.xml">
+
+<!ENTITY commands               SYSTEM "./commands.xml">
+<!ENTITY userInterfaceCommand   SYSTEM "./userInterfaceCommand.xml">
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Control/commands.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Control/commands.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Control/commands.xml	(revision 904)
@@ -0,0 +1,57 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Changed by: Katsuya Dosanjh, 15-Jul-2000              -->
+<!--    Changed by: Dennis Wright, 27-Nov-2001                -->
+<!--    Proof read by: Joe Chuma,  6-Jul-1999                 -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.BuiltinCom">
+<title>
+Built-in Commands
+</title>
+
+<para>
+Geant4 has various built-in user interface commands, each of which
+corresponds roughly to a Geant4 category. These commands can be
+used
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    interactively via a (Graphical) User Interface - (G)UI,
+  </para></listitem>
+  <listitem><para>
+    in a macro file via /control/execute &lt;command&gt;,
+  </para></listitem>
+  <listitem><para>
+    within C++ code with the ApplyCommand method of G4UImanager.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<note>
+<title>
+Note
+</title>
+
+<para>
+The availability of individual commands, the ranges of parameters,
+the available candidates on individual command parameters
+<emphasis role="bold">vary</emphasis> according to the implementation of 
+your application and may even <emphasis role="bold">vary</emphasis> 
+dynamically during the execution of your job.
+</para>
+</note>
+
+<para>
+<ulink url="./AllResources/Control/UIcommands/_.html">
+List of built-in commands
+</ulink>
+</para>
+
+</sect1>
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Control/userInterfaceCommand.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Control/userInterfaceCommand.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Control/userInterfaceCommand.xml	(revision 904)
@@ -0,0 +1,995 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Changed by: Katsuya Amako, 21-Sep-1998                -->
+<!--    Changed by: Katsuya Dosanjh, 15-Jul-2000              -->
+<!--    Changed by: Dennis Wright, 29-Nov-2001                -->
+<!--    Changed by: Jacek Generowicz, 13-Mar-2002             -->
+<!--    Proof read by: Joe Chuma,   2-Jul-1999                -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.UIDefNew">
+<title>
+User Interface - Defining New Commands
+</title>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.UIDefNew.UIMess">
+<title>
+G4UImessenger
+</title>
+
+<para>
+<emphasis>G4UImessenger</emphasis> 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.
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Construct your command(s) in the constructor of your messenger.
+  </para></listitem>
+  <listitem><para>
+    Destruct your command(s) in the destructor of your messenger.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+These requirements mean that your messenger should keep all
+pointers to your command objects as its data members.
+</para>
+
+<para>
+You can use <emphasis>G4UIcommand</emphasis> 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 <literal>SetNewValue()</literal> and
+<literal>GetCurrentValue()</literal> methods of your messenger much easier
+and simpler.
+</para>
+
+<para>
+For complicated commands which take various parameters, you can
+use the <emphasis>G4UIcommand</emphasis> base class, and construct
+<emphasis>G4UIparameter</emphasis> objects by yourself. You don't need to delete
+<emphasis>G4UIparameter</emphasis> object(s).
+</para>
+
+<para>
+In the <literal>SetNewValue()</literal> and <literal>GetCurrentValue()</literal>
+methods of your messenger, you can compare the <emphasis>G4UIcommand</emphasis>
+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 <emphasis>G4UIcommand</emphasis> 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.
+</para>
+
+<para>
+<emphasis>G4UImanager/G4UIcommand/G4UIparameter</emphasis> 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
+(<literal>int</literal> or <literal>double</literal>), the range can be given by a
+<emphasis>G4String</emphasis> using C++ notation, e.g., <literal>"X &gt; 0 &amp;&amp;
+X &lt; 10"</literal>. For the case of a string type parameter, you can
+set a candidate list. Please refer to the detailed descriptions below.
+</para>
+
+<para>
+<literal>GetCurrentValue()</literal> will be invoked after the user's
+application of the corresponding command, and before the
+<literal>SetNewValue()</literal> invocation. This <literal>GetCurrentValue()</literal>
+method will be invoked only if
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    at least one parameter of the command has a range
+  </para></listitem>
+  <listitem><para>
+    at least one parameter of the command has a candidate list
+  </para></listitem>
+  <listitem><para>
+    at least the value of one parameter is omitted and this
+    parameter is defined as omittable and
+    <literal>currentValueAsDefault</literal>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+A command can be ``state sensitive'', i.e., the command can be
+accepted only for a certain <emphasis>G4ApplicationState</emphasis>(s). For
+example, the <literal>/run/beamOn</literal> 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
+<literal>AvailableForStates()</literal> method.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.UIDefNew.DervCls">
+<title>
+G4UIcommand and its derived classes
+</title>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Methods available for all derived classes
+</bridgehead>
+
+<para>
+These are methods defined in the <emphasis>G4UIcommand</emphasis> base class
+which should be used from the derived classes.
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <literal>void SetGuidance(char*)</literal>
+    <para>
+    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.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>void availableForStates(G4ApplicationState s1,...)</literal>
+    <para>
+    If your command is valid only for certain states of the Geant4
+    kernel, specify these states by this method. Currently available
+    states are <literal>G4State_PreInit, G4State_Init, G4State_Idle,
+    G4State_GeomClosed,</literal> and <literal>G4State_EventProc</literal>. 
+    Refer to the section 3.4.2 for meaning of each state. Please note that 
+    the <literal>Pause</literal> state had been removed from
+    <emphasis>G4ApplicationState</emphasis>.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>void SetRange(char* range)</literal>
+    <para>
+    Define a range of the parameter(s). Use C++ notation, e.g.,
+    <literal>"x &gt; 0 &amp;&amp; x &lt; 10"</literal>, with variable name(s)
+    defined by the <literal>SetParameterName()</literal> method. For the case of
+    a <emphasis>G4ThreeVector</emphasis>, you can set the relation between
+    parameters, e.g., <literal>"x &gt; y"</literal>.
+    </para>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+G4UIdirectory
+</bridgehead>
+
+<para>
+This is a <emphasis>G4UIcommand</emphasis> derived class for defining a
+directory.
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <literal>G4UIdirectory(char* directoryPath)</literal>
+    <para>
+    Constructor. Argument is the (full-path) directory, which must
+    begin and terminate with `<literal>/</literal>'.
+    </para>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+G4UIcmdWithoutParameter
+</bridgehead>
+
+<para>
+This is a <emphasis>G4UIcommand</emphasis> derived class for a command which
+takes no parameter.
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <literal>G4UIcmdWithoutParameter(char* commandPath,
+    G4UImessenger* theMessenger)</literal>
+    <para>
+    Constructor. Arguments are the (full-path) command name and the
+    pointer to your messenger.
+    </para>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+G4UIcmdWithABool
+</bridgehead>
+
+<para>
+This is a <emphasis>G4UIcommand</emphasis> derived class which takes one
+boolean type parameter.
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <literal>G4UIcmdWithABool(char* commandpath,G4UImanager*
+    theMessenger)</literal>
+    <para>
+    Constructor. Arguments are the (full-path) command name and the
+    pointer to your messenger.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>void SetParameterName(char* paramName,
+    G4bool omittable)</literal>
+    <para>
+    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.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>void SetDefaultValue(G4bool defVal)</literal>
+    <para>
+    Define the default value of the boolean parameter.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>G4bool GetNewBoolValue(G4String paramString)</literal>
+    <para>
+    Convert <emphasis>G4String</emphasis> parameter value given by the
+    <literal>SetNewValue()</literal> method of your messenger into boolean.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>G4String convertToString(G4bool currVal)</literal>
+    <para>
+    Convert the current boolean value to <emphasis>G4String</emphasis> 
+    whichshould be returned by the <literal>GetCurrentValue()</literal> method 
+    of your messenger.
+    </para>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+G4UIcmdWithAnInteger
+</bridgehead>
+
+<para>
+This is a <emphasis>G4UIcommand</emphasis> derived class which takes one
+integer type parameter.
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <literal>G4UIcmdWithAnInteger(char* commandpath,
+    G4UImanager* theMessenger)</literal>
+    <para>
+    Constructor. Arguments are the (full-path) command name and the
+    pointer to your messenger.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>void SetParameterName(char* paramName,
+    G4bool omittable)</literal>
+    <para>
+    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.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>void SetDefaultValue(G4int defVal)</literal>
+    <para>
+    Define the default value of the integer parameter.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>G4int GetNewIntValue(G4String paramString)</literal>
+    <para>
+    Convert <emphasis>G4String</emphasis> parameter value given by the
+    <literal>SetNewValue()</literal> method of your messenger into integer.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>G4String convertToString(G4int currVal)</literal>
+    <para>
+    Convert the current integer value to <emphasis>G4String</emphasis>, which
+    should be returned by the <literal>GetCurrentValue()</literal> method of your
+    messenger.
+    </para>
+</para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+G4UIcmdWithADouble
+</bridgehead>
+
+<para>
+This is a <emphasis>G4UIcommand</emphasis> derived class which takes one
+double type parameter.
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <literal>G4UIcmdWithADouble(char* commandpath,
+    G4UImanager* theMessenger)</literal>
+    <para>
+    Constructor. Arguments are the (full-path) command name and the
+    pointer to your messenger.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>void SetParameterName(char* paramName,
+    G4bool omittable)</literal>
+    <para>
+    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.
+    </para>
+  </para></listitem>
+  <listitem><para><literal>void SetDefaultValue(G4double defVal)</literal>
+  <para>
+  Define the default value of the double parameter.
+  </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>G4double GetNewDoubleValue(G4String paramString)</literal>
+    <para>
+    Convert <emphasis>G4String</emphasis> parameter value given by the
+    <literal>SetNewValue()</literal> method of your messenger into double.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>G4String convertToString(G4double currVal)</literal>
+    <para>
+    Convert the current double value to <emphasis>G4String</emphasis> which
+    should be returned by the <literal>GetCurrentValue()</literal> method of 
+    your messenger.
+    </para>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+G4UIcmdWithAString
+</bridgehead>
+
+<para>
+This is a <emphasis>G4UIcommand</emphasis> derived class which takes one
+string type parameter.
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <literal>G4UIcmdWithAString(char* commandpath,
+    G4UImanager* theMessenger)</literal>
+    <para>
+    Constructor. Arguments are the (full-path) command name and the
+    pointer to your messenger.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>void SetParameterName(char* paramName,
+    G4bool omittable)</literal>
+    <para>
+    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.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>void SetDefaultValue(char* defVal)</literal>
+    <para>
+    Define the default value of the string parameter.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>void SetCandidates(char* candidateList)</literal>
+    <para>
+    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.
+    </para>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+G4UIcmdWith3Vector
+</bridgehead>
+
+<para>
+This is a <emphasis>G4UIcommand</emphasis> derived class which takes one
+three vector parameter.
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <literal>G4UIcmdWith3Vector(char* commandpath,
+    G4UImanager* theMessenger)</literal>
+    <para>
+    Constructor. Arguments are the (full-path) command name and the
+    pointer to your messenger.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>void SetParameterName(char* paramNamX, char* paramNamY,
+    char* paramNamZ, G4bool omittable)</literal>
+    <para>
+    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.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>void SetDefaultValue(G4ThreeVector defVal)</literal>
+    <para>
+    Define the default value of the three vector.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>G4ThreeVector GetNew3VectorValue(G4String paramString)</literal>
+    <para>
+    Convert the <emphasis>G4String</emphasis> parameter value given by the
+    <literal>SetNewValue()</literal> method of your messenger into a
+    <emphasis>G4ThreeVector</emphasis>.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>G4String convertToString(G4ThreeVector currVal)</literal>
+    <para>
+    Convert the current three vector to <emphasis>G4String</emphasis>, which
+    should be returned by the <literal>GetCurrentValue()</literal> method of 
+    your messenger.
+    </para>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+G4UIcmdWithADoubleAndUnit
+</bridgehead>
+
+<para>
+This is a <emphasis>G4UIcommand</emphasis> derived class which takes one
+double type parameter and its unit.
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <literal>G4UIcmdWithADoubleAndUnit(char* commandpath,
+    G4UImanager* theMessenger)</literal>
+    <para>
+    Constructor. Arguments are the (full-path) command name and the
+    pointer to your messenger.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>void SetParameterName(char* paramName,
+    G4bool omittable)</literal>
+    <para>
+    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.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>void SetDefaultValue(G4double defVal)</literal>
+    <para>
+    Define the default value of the double parameter.
+    </para>
+</para><para>
+</para></listitem>
+<listitem><para>
+  <literal>void SetUnitCategory(char* unitCategory)</literal>
+  <para>
+  Define acceptable unit category.
+  </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>void SetDefaultUnit(char* defUnit)</literal>
+    <para>
+    Define the default unit. Please use this method and the
+    <literal>SetUnitCategory()</literal> method alternatively.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>G4double GetNewDoubleValue(G4String paramString)</literal>
+    <para>
+    Convert <emphasis>G4String</emphasis> parameter value given by the
+    <literal>SetNewValue()</literal> method of your messenger into double. 
+    Please note that the return value has already been multiplied by the 
+    value of the given unit.
+    </para>
+  </para></listitem>
+  <listitem><para><literal>G4double GetNewDoubleRawValue(G4String paramString)</literal>
+  <para>
+  Convert <emphasis>G4String</emphasis> parameter value given by the
+  <literal>SetNewValue()</literal> method of your messenger into double but
+  without multiplying the value of the given unit.
+  </para>
+  </para></listitem>
+  <listitem><para><literal>G4double GetNewUnitValue(G4String paramString)</literal>
+  <para>
+  Convert <emphasis>G4String</emphasis> unit value given by the
+  <literal>SetNewValue()</literal> method of your messenger into double.
+  </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>G4String convertToString(G4bool currVal,
+    char* unitName)</literal>
+    <para>
+    Convert the current double value to a <emphasis>G4String</emphasis>, which
+    should be returned by the <literal>GetCurrentValue()</literal> 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.
+    </para>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+G4UIcmdWith3VectorAndUnit
+</bridgehead>
+
+<para>
+This is a <emphasis>G4UIcommand</emphasis> derived class which takes one
+three vector parameter and its unit.
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <literal>G4UIcmdWith3VectorAndUnit(char* commandpath,
+    G4UImanager* theMessenger)</literal>
+    <para>
+    Constructor. Arguments are the (full-path) command name and the
+    pointer to your messenger.</para>
+  </para></listitem>
+  <listitem><para>
+    <literal>void SetParameterName(char* paramNamX, char* paramNamY,
+    char* paramNamZ,G4bool omittable)</literal>
+    <para>
+    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.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>void SetDefaultValue(G4ThreeVector defVal)</literal>
+    <para>
+    Define the default value of the three vector.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>void SetUnitCategory(char* unitCategory)</literal>
+    <para>
+    Define acceptable unit category.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>void SetDefaultUnit(char* defUnit)</literal>
+    <para>
+    Define the default unit. Please use this method and the
+    <literal>SetUnitCategory()</literal> method alternatively.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>G4ThreeVector GetNew3VectorValue(G4String paramString)</literal>
+    <para>
+    Convert a <emphasis>G4String</emphasis> parameter value given by the
+    <literal>SetNewValue()</literal> method of your messenger into a
+    <emphasis>G4ThreeVector</emphasis>. Please note that the return value has 
+    already been multiplied by the value of the given unit.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>G4ThreeVector GetNew3VectorRawValue(G4String paramString)</literal>
+    <para>
+    Convert a <emphasis>G4String</emphasis> parameter value given by the
+    <literal>SetNewValue()</literal> method of your messenger into three vector,
+    but without multiplying the value of the given unit.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>G4double GetNewUnitValue(G4String paramString)</literal>
+    <para>
+    Convert a <emphasis>G4String</emphasis> unit value given by the
+    <literal>SetNewValue()</literal> method of your messenger into a double.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>G4String convertToString(G4ThreeVector currVal,
+    char* unitName)</literal>
+    <para>
+    Convert the current three vector to a <emphasis>G4String</emphasis> which
+    should be returned by the <literal>GetCurrentValue()</literal> 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.
+    </para>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Additional comments on the <literal>SetParameterName()</literal> method
+</bridgehead>
+
+<para>
+You can add one additional argument of <literal>G4bool</literal> type for
+every <literal>SetParameterName()</literal> method mentioned above. This
+additional argument is named <literal>currentAsDefaultFlag</literal> and the
+default value of this argument is <literal>false</literal>. If you assign
+this extra argument as <literal>true</literal>, the default value of the
+parameter will be overriden by the current value of the target
+class.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.UIDefNew.ExpMess">
+<title>
+An example messenger
+</title>
+
+<para>
+This example is of <emphasis>G4ParticleGunMessenger</emphasis>, which is  
+made by inheriting <emphasis>G4UIcommand</emphasis>.
+
+<example id="programlist_UIDefNew_1">
+<title>
+An example of <literal>G4ParticleGunMessenger.hh</literal>.
+</title>
+
+<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 
+</programlisting>
+</example>
+</para>
+
+
+<para>
+<example id="programlist_UIDefNew_2">
+<title>
+An example of <literal>G4ParticleGunMessenger.cc</literal>.
+</title>
+
+<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 );
+}
+</programlisting>
+</example>
+<informalexample>
+<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;
+}
+</programlisting>
+</informalexample>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.UIDefNew.HowCont">
+<title>
+How to control the output of G4cout/G4cerr
+</title>
+
+<para>
+Instead of <emphasis>cout</emphasis> and <emphasis>cerr</emphasis>, 
+Geant4 uses <emphasis>G4cout</emphasis> and 
+<emphasis>G4cerr</emphasis>. Output streams from
+<emphasis>G4cout/G4cerr</emphasis> 
+are handled by <emphasis>G4UImanager</emphasis> 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:
+
+<orderedlist spacing="compact">
+  <listitem><para>
+    Derive a class from <emphasis>G4UIsession</emphasis> and implement the two
+    methods:
+
+    <para>
+    <informalexample>
+    <programlisting>
+      G4int ReceiveG4cout(G4String coutString);
+      G4int ReceiveG4cerr(G4String cerrString);
+    </programlisting>
+    </informalexample> 
+
+    These methods receive the string stream of <emphasis>G4cout</emphasis> and
+    <emphasis>G4cerr</emphasis>, 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:
+
+    <informalexample>
+    <programlisting>
+        ostream logFile;
+        logFile.open("MyLogFile");
+        G4int MySession::ReceiveG4cout(G4String coutString)
+        {
+          logFile &lt;&lt; coutString &lt;&lt; flush;
+          return 0;
+        }
+    </programlisting>
+    </informalexample>
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <para>
+    Set the destination of <emphasis>G4cout/G4cerr</emphasis> using
+    <literal>G4UImanager::SetCoutDestination(session)</literal>.
+    </para>
+    <para>
+    Typically this method is invoked from the constructor of
+    <emphasis>G4UIsession</emphasis> and its derived classes, such as
+    <emphasis>G4UIGAG/G4UIteminal</emphasis>. This method sets the destination of
+    <emphasis>G4cout/G4cerr</emphasis> to the session. For example, when the
+    following code appears in the constructor of <emphasis>G4UIterminal</emphasis>,
+    the method <literal>SetCoutDestination(this)</literal> tells 
+    <emphasis>UImanager</emphasis> that this instance of 
+    <emphasis>G4UIterminal</emphasis> receives the stream
+    generated by <emphasis>G4cout</emphasis>.
+
+    <informalexample>
+    <programlisting>
+        G4UIterminal::G4UIterminal()
+        {
+          UI = G4UImanager::GetUIpointer();
+          UI-&gt;SetCoutDestination(this);
+          //  ...
+        }
+    </programlisting>
+    </informalexample>    
+ 
+    Similarly, <literal>UI-&gt;SetCoutDestination(NULL)</literal> must be added
+    to the destructor of the class.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    Write or modify the main program. To modify <literal>exampleN01</literal>
+    to produce a log file, derive a class as described in step 1 above,
+    and add the following lines to the main program:
+
+    <informalexample>
+    <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;
+        }
+    </programlisting>
+    </informalexample> 
+  </para></listitem>
+</orderedlist>
+</para>
+
+<note>
+<para>
+<emphasis>G4cout/G4cerr</emphasis> should not be used in the constructor of a
+class if the instance of the class is intended to be used as
+<literal>static</literal>. This restriction comes from the language
+specification of C++. See the documents below for details:
+
+<itemizedlist spacing="compact">
+   <listitem><para>
+     M.A.Ellis, B.Stroustrup, ``Annotated C++ Reference Manual'', Section 3.4
+     <citation>
+     <xref linkend="biblio.ellis1990" endterm="biblio.ellis1990.abbrev" />
+     </citation>     
+   </para></listitem>
+   <listitem><para>
+     P.J.Plauger, ``The Draft Standard C++ Library''
+     <citation>
+     <xref linkend="biblio.plauger1995" endterm="biblio.plauger1995.abbrev" />
+     </citation>     
+   </para></listitem>
+</itemizedlist>
+</para>
+</note>
+
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/ChapDetector.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/ChapDetector.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/ChapDetector.xml	(revision 904)
@@ -0,0 +1,30 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  This is the top file for the present chapter. It        -->
+<!--  includes all section files which belong to the chapter. -->
+<!--  Entities names used below are defined in                -->
+<!--  ChapXXEntityDef.dtd in the current directory.           -->
+<!--                                                          -->
+<!--  [Note]                                                  -->
+<!--    Created by Katsuya Amako, Aug-2006                    -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************** Top of Chapter ******************** -->
+<chapter id="chap.DetectorDefRespond">
+<title>
+Detector Definition and Response
+</title>
+
+<!-- *************** Inclusion of Sections ****************** -->
+&geometry;
+&material;
+&electroMagneticField;
+&hit;
+&digitization;
+&persistency;
+&parallelWorld;
+&commandScore;
+</chapter>
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/ChapDetectorEntityDef.dtd
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/ChapDetectorEntityDef.dtd	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/ChapDetectorEntityDef.dtd	(revision 904)
@@ -0,0 +1,30 @@
+<!-- In below you need to define entities of all xml files you want to -->
+<!-- include from the current directory into the G4 DocBook manual.    -->
+
+<!ENTITY chapDetector           SYSTEM "./ChapDetector.xml">
+
+<!ENTITY geometry               SYSTEM "./geometry.xml">
+<!ENTITY geomIntro              SYSTEM "./geomIntro.xml">
+<!ENTITY geomSolids             SYSTEM "./geomSolids.xml">
+<!ENTITY geomLogical            SYSTEM "./geomLogical.xml">
+<!ENTITY geomPhysical           SYSTEM "./geomPhysical.xml">
+<!ENTITY geomTouch              SYSTEM "./geomTouch.xml">
+<!ENTITY geomAssembly           SYSTEM "./geomAssembly.xml">
+<!ENTITY geomReflection         SYSTEM "./geomReflection.xml">
+<!ENTITY geomNav                SYSTEM "./geomNav.xml">
+<!ENTITY geomEditor             SYSTEM "./geomEditor.xml">
+<!ENTITY geomG3toG4             SYSTEM "./geomG3toG4.xml">
+<!ENTITY geomOverlap            SYSTEM "./geomOverlap.xml">
+<!ENTITY geomDynamic            SYSTEM "./geomDynamic.xml">
+<!ENTITY geomXML                SYSTEM "./geomXML.xml">
+<!ENTITY geomASCII              SYSTEM "./geomASCII.xml">
+<!ENTITY geomPersistency        SYSTEM "./geomPersistency.xml">
+
+<!ENTITY material               SYSTEM "./material.xml">
+<!ENTITY electroMagneticField   SYSTEM "./electroMagneticField.xml">
+<!ENTITY hit                    SYSTEM "./hit.xml">
+<!ENTITY digitization           SYSTEM "./digitization.xml">
+<!ENTITY persistency            SYSTEM "./persistency.xml">
+<!ENTITY parallelWorld          SYSTEM "./parallelWorld.xml">
+<!ENTITY commandScore           SYSTEM "./commandScore.xml">
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/commandScore.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/commandScore.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/commandScore.xml	(revision 904)
@@ -0,0 +1,215 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Created by: Makoto Asai,   25-Nov-2007                -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.CommandScore">
+<title>
+Command-based scoring
+</title>
+
+<note>
+<title>
+  Notice
+</title>
+
+<para>
+As of Geant4 release 9.1, this functionality of command-based scoring
+is still in <emphasis>alpha</emphasis> 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.
+</para>
+</note>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.CommandScore.Intro">
+<title>
+Command-based scoring
+</title>
+
+<para>
+This new command-based scoring utilizes the parallel world described 
+in the previous section. With UI interactive commands, the user can define :
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+ A parallel world for scoring and three-dimensional mesh in it
+  </para></listitem>
+  <listitem><para>
+ Arbitrary number of physics quantities to be scored and filters
+  </para></listitem>
+</itemizedlist>
+
+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 
+<ulink url="./AllResources/Control/UIcommands/_score_.html">
+List of built-in commands</ulink>.
+</para>
+
+<para>
+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 <literal>main()</literal>. To do this, the 
+method <literal>G4ScoringManager::GetScoringManager()</literal>
+must be invoked <emphasis role="color_red">right after</emphasis>
+the instantiation of <literal>G4RunManager</literal>.
+
+<example>
+<title>
+A user <literal>main()</literal> to use the command-based scoring
+</title>
+<programlisting>
+
+#include "G4RunManager.hh"
+<emphasis role="color_red">#include "G4ScoringManager.hh"</emphasis>
+
+int main(int argc,char** argv)
+{
+ // Construct the run manager
+ G4RunManager * runManager = new G4RunManager;
+
+ // Activate command-based scorer
+ <emphasis role="color_red">G4ScoringManager::GetScoringManager();</emphasis>
+
+ ...
+
+}
+</programlisting>
+</example>
+</para>    
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.CommandScore.Mesh">
+<title>
+Defining a scoring mesh
+</title>
+
+<para>
+To define a scoring mesh, the user has to specify the followings.
+<itemizedlist spacing="compact">
+  <listitem><para>
+ Shape and name of the 3D scoring mesh. Currently, box is the only available shape.
+  </para></listitem>
+  <listitem><para>
+ Size of the scoring mesh. Mesh size must be specified as "half width" similar to the
+ arguments of <literal>G4Box</literal>.
+  </para></listitem>
+  <listitem><para>
+ Number of bins for each axes. Note that too hugh number causes immense memory consumption.
+  </para></listitem>
+  <listitem><para>
+ Optionally, position and rotation of the mesh. If not specified, the mesh is positioned
+ at the center of the world volume without rotation.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+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 <literal>/score/filter</literal>
+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).
+</para>
+
+<para>
+Defining a scoring mesh and scores in thiat mesh should terminate with <literal>/score/close</literal>
+command. The following sample UI commands define a scoring mesh named <literal>boxMesh_1</literal>,
+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.
+<example>
+<title>
+UI commands to define a scoring mesh and scorers
+</title>
+<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+
+#
+<emphasis role="color_red">/score/close</emphasis>
+#
+
+</programlisting>
+</example>
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.CommandScore.Draw">
+<title>
+Drawing scores
+</title>
+
+<para>
+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.
+
+<figure id="fig.CommandScore_1">
+<title>
+Drawing scores in slices (left) and projection (right)
+</title>
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="./AllResources/Detector/hit.src/scoreCombinedPicture.jpg"
+               format="JPG" contentwidth="12.0cm" align="center" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/Detector/hit.src/scoreCombinedPicture.jpg"
+               format="JPG" contentwidth="16.0cm" align="center" />
+  </imageobject>
+</mediaobject>
+</figure>
+</para>
+
+<para>
+By default, entries are linearly mapped to colors (gray - blue - green - red).
+This color mapping is implemented in <literal>G4DefaultLinearColorMap</literal>
+class, and registered to <literal>G4ScoringManager</literal> with the color map
+name <literal>"defaultLinearColorMap"</literal>. The user may alternate color map
+by implementing his/her own color map class derived from <literal>G4VScoreColorMap</literal>
+and register it to <literal>G4ScoringManager</literal>. Then, for each <literal>draw</literal>
+command, the user can specify the color map of his/her own.
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.CommandScore.Dump">
+<title>
+Writing scores to a file
+</title>
+
+<para>
+The user may dump a score in a mesh (<literal>/score/dumpQuantityToFile</literal> command) 
+or all scores in a mesh (<literal>/score/dumpAllQuantitiesToFile</literal> command) to a file.
+The default file format is the simple CSV. To alternate the file format, the user should
+overwrite <literal>G4VScoreWriter</literal> class and register it to <literal>G4ScoringManager</literal>.
+Please refer to <literal>/examples/extended/runAndEvent/RE03</literal> for the detail.
+</para>
+
+
+</sect2>
+</sect1>
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/digitization.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/digitization.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/digitization.xml	(revision 904)
@@ -0,0 +1,216 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--    Changed by: Katsuya Amako, 21-Sep-1998                -->
+<!--    Changed by: Dennis Wright, 27-Nov-2001                -->
+<!--    Proof read by: Joe Chuma,  30-Jun-1999                -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.Digi">
+<title>
+Digitization
+</title>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Digi.Digi">
+<title>
+Digi
+</title>
+
+<para>
+A hit is created by a sensitive detector when a step goes through
+it. Thus, the sensitive detector is associated to the corresponding
+<emphasis>G4LogicalVolume</emphasis> 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 <literal>Digitize()</literal>
+method of your concrete <emphasis>G4VDigitizerModule</emphasis> class.
+</para>
+
+<para>
+Typical usages of digitizer module include:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    simulate ADC and/or TDC
+  </para></listitem>
+  <listitem><para>
+    simulate readout scheme
+  </para></listitem>
+  <listitem><para>
+    generate raw data
+  </para></listitem>
+  <listitem><para>
+    simulate trigger logics
+  </para></listitem>
+  <listitem><para>
+    simulate pile up
+  </para></listitem>
+</itemizedlist>
+</para>
+
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+G4VDigi
+</bridgehead>
+
+<para>
+<emphasis>G4VDigi</emphasis> 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. <emphasis>G4VDigi</emphasis> has two virtual
+methods, <literal>Draw()</literal> and <literal>Print()</literal>.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+G4TDigiCollection
+</bridgehead>
+
+<para>
+<emphasis>G4TDigiCollection</emphasis> is a template class for digits
+collections, which is derived from the abstract base class
+<emphasis>G4VDigiCollection</emphasis>. <emphasis>G4Event</emphasis> has a
+<emphasis>G4DCofThisEvent</emphasis> object, which is a container class of
+collections of digits. The usages of <emphasis>G4VDigi</emphasis> and
+<emphasis>G4TDigiCollection</emphasis> are almost the same as <emphasis>G4VHit</emphasis> and
+<emphasis>G4THitsCollection</emphasis>, respectively, explained in the previous
+section.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Digi.DigMod">
+<title>
+Digitizer module
+</title>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+G4VDigitizerModule
+</bridgehead>
+
+<para>
+<emphasis>G4VDigitizerModule</emphasis> is an abstract base class which
+represents a digitizer module. It has a pure virtual method,
+<literal>Digitize()</literal>. 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 <literal>Digitize()</literal>
+method. You have to implement your code to invoke this method of
+your digitizer module.
+</para>
+
+<para>
+In the <literal>Digitize()</literal> method, you construct your
+<emphasis>G4VDigi</emphasis> concrete class objects and store them to your
+<emphasis>G4TDigiCollection</emphasis> concrete class object(s). Your
+collection(s) should be associated with the <emphasis>G4DCofThisEvent</emphasis>
+object.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+G4DigiManager
+</bridgehead>
+
+<para>
+<emphasis>G4DigiManager</emphasis> is the singleton manager class of the
+digitizer modules. All of your concrete digitizer modules should be
+registered to <emphasis>G4DigiManager</emphasis> with their unique names.
+
+<informalexample>
+<programlisting>
+     G4DigiManager * fDM = G4DigiManager::GetDMpointer();
+     MyDigitizer * myDM = new MyDigitizer( "/myDet/myCal/myEMdigiMod" );
+     fDM-&gt;AddNewModule(myDM);
+</programlisting>
+</informalexample> 
+</para>
+
+<para>
+Your concrete digitizer module can be accessed from your code using
+the unique module name.
+
+<informalexample>
+<programlisting>
+     G4DigiManager * fDM = G4DigiManager::GetDMpointer();
+     MyDigitizer * myDM = fDM-&gt;FindDigitizerModule( "/myDet/myCal/myEMdigiMod" );
+     myDM-&gt;Digitize();
+</programlisting>
+</informalexample>  
+</para>
+
+<para>
+Also, <emphasis>G4DigiManager</emphasis> has a <emphasis>Digitize()</emphasis> 
+method which takes the unique module name.
+
+<informalexample>
+<programlisting>
+     G4DigiManager * fDM = G4DigiManager::GetDMpointer();
+     MyDigitizer * myDM = fDM-&gt;Digitize( "/myDet/myCal/myEMdigiMod" );
+</programlisting>
+</informalexample> 
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+How to get hitsCollection and/or digiCollection
+</bridgehead>
+
+<para>
+<emphasis>G4DigiManager</emphasis> has the following methods to access to the
+hits or digi collections of the currently processing event or of
+previous events.
+</para>
+
+<para>
+First, you have to get the collection ID number of the hits or
+digits collection.
+
+<informalexample>
+<programlisting>
+     G4DigiManager * fDM = G4DigiManager::GetDMpointer();
+     G4int myHitsCollID = fDM-&gt;GetHitsCollectionID( "hits_collection_name" );
+     G4int myDigiCollID = fDM-&gt;GetDigiCollectionID( "digi_collection_name" );
+</programlisting>
+</informalexample> 
+</para>
+
+<para>
+Then, you can get the pointer to your concrete
+<emphasis>G4THitsCollection</emphasis> object or 
+<emphasis>G4TDigiCollection</emphasis> object of the currently processing event.
+
+<informalexample>
+<programlisting> 
+     MyHitsCollection * HC = fDM-&gt;GetHitsCollection( myHitsCollID );
+     MyDigiCollection * DC = fDM-&gt;GetDigiCollection( myDigiCollID );
+</programlisting>
+</informalexample> 
+</para>
+
+<para>
+In case you want to access to the hits or digits collection of
+previous events, add the second argument.
+
+<informalexample>
+<programlisting> 
+     MyHitsCollection * HC = fDM-&gt;GetHitsCollection( myHitsCollID, n );
+     MyDigiCollection * DC = fDM-&gt;GetDigiCollection( myDigiCollID, n );
+</programlisting>
+</informalexample>  
+
+where, <literal>n</literal> indicates the hits or digits collection of the
+<literal>n</literal><superscript>th</superscript> previous event.
+</para>
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/electroMagneticField.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/electroMagneticField.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/electroMagneticField.xml	(revision 904)
@@ -0,0 +1,796 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Changed by: Katsuya Amako,    30-Nov-1998             -->
+<!--    Converted with LaTeX2HTML 96.1-g (July 19, 1996) by   -->
+<!--      Nikos Drakos (nikos@cbl.leeds.ac.uk),               -->
+<!--      CBLU, University of Leeds                           -->
+<!--    Changed by: John APOSTOLAKIS,  7-Dec-1998             -->
+<!--    Proof read by: Joe Chuma,     29-Jun-1999             -->
+<!--    Changed by: Dennis Wright, 12-Dec-2002                -->
+<!--    Corrections for field changes: John Apostolakis,      -->
+<!--      17-Jun-2005                                         -->
+<!--    Corrections, changes by: John APOSTOLAKIS, 7-Jul-2005 -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.EMField">
+<title>
+Electromagnetic Field
+</title>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.EMField.Overview">
+<title>
+An Overview of Propagation in a Field
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+How closely the set of chords approximates a curved trajectory
+is governed by a parameter called the <emphasis>miss distance</emphasis> (also
+called the <emphasis>chord distance</emphasis> ). 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
+<emphasis>miss distance</emphasis>.
+
+<figure id="fig.EMField_1">
+<title>
+  The curved trajectory will be approximated by chords,
+  so that the maximum estimated distance between curve and chord is
+  less than the the <emphasis>miss distance</emphasis>.
+</title>
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="./AllResources/Detector/electroMagneticField.src/MissDistance.jpg" 
+               format="JPG" contentwidth="12.0cm" align="center" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/Detector/electroMagneticField.src/MissDistance.jpg"
+               format="JPG" align="center" />
+  </imageobject>
+  <textobject>
+    <phrase>Miss Distance</phrase>
+  </textobject>
+</mediaobject>
+</figure>
+</para>
+
+<para>
+In addition to the <emphasis>miss distance</emphasis> 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.
+</para>
+
+<para>
+The <emphasis>delta intersection</emphasis> 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.
+
+<figure id="fig.EMField_2">
+<title>
+  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.
+</title>
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="./AllResources/Detector/electroMagneticField.src/IntersectionError.jpg" 
+               format="JPG" contentdepth="5.0cm" align="center" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/Detector/electroMagneticField.src/IntersectionError.jpg" 
+               format="JPG" align="center" />
+  </imageobject>
+  <textobject>
+    <phrase>Figure: The distance between the calculated chord intersection
+      point and a computed curve point.</phrase>
+  </textobject>
+</mediaobject>
+</figure>
+</para>
+
+<para>
+The <emphasis>delta one step</emphasis> 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 <emphasis>delta intersection</emphasis> 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.
+</para>
+
+<para>
+<emphasis>Delta intersection</emphasis> and <emphasis>delta one step</emphasis> 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.
+</para>
+
+<para>
+Note that reasonable values for the two parameters are strongly
+coupled: it does not make sense to request an accuracy of 1 nm for
+<emphasis>delta intersection</emphasis> and accept 100 &amp;#956m for the
+<emphasis>delta one step</emphasis> error value. Nevertheless <emphasis>delta
+intersection</emphasis> 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.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.EMField.Pract">
+<title>
+Practical Aspects
+</title>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.EMField.Pract.MagField">
+<title>
+Creating a Magnetic Field for a Detector
+</title>
+
+<para>
+The simplest way to define a field for a detector involves the
+following steps:
+
+<orderedlist spacing="compact">
+  <listitem><para>
+    create a field:
+    <informalexample>
+    <programlisting>
+    G4UniformMagField* magField
+      = new G4UniformMagField(G4ThreeVector(0.,0.,fieldValue));
+    </programlisting>
+    </informalexample>
+  </para></listitem>
+  <listitem><para>
+    set it as the default field:
+    <informalexample>
+    <programlisting>
+    G4FieldManager* fieldMgr
+      = G4TransportationManager::GetTransportationManager()
+        -&gt;GetFieldManager();
+       fieldMgr-&gt;SetDetectorField(magField);
+    </programlisting>
+    </informalexample>
+  </para></listitem>
+  <listitem><para>
+    create the objects which calculate the trajectory:
+    <informalexample>
+    <programlisting>
+    fieldMgr-&gt;CreateChordFinder(magField);
+    </programlisting>
+    </informalexample>
+</para></listitem>
+</orderedlist>
+</para>
+
+<para>
+To change the accuracy of volume intersection use the
+<literal>SetDeltaChord</literal> method:
+
+<informalexample>
+<programlisting>
+    fieldMgr-&gt;GetChordFinder()-&gt;SetDeltaChord( G4double newValue);
+</programlisting>
+</informalexample>
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.EMField.Pract.PartVol">
+<title>
+Creating a Field for a Part of the Volume Hierarchy
+</title>
+
+<para>
+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 <literal>G4FieldManager</literal> and attaching it
+to a logical volume (with pointer, logicVolumeWithField, for
+example) or set of logical volumes.
+
+<informalexample>
+<programlisting>
+  G4bool allLocal = true;       
+  logicVolumeWithField-&gt;SetFieldManager(localFieldManager, allLocal);
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Using the second parameter to <literal>SetFieldManager</literal> you choose
+whether  daughter volumes of this logical volume will also be given this new
+field.  If it has the value <literal>true</literal>, the field will be
+assigned also to its daughters, and all their sub-volumes.  
+Else, if it is <literal>false</literal>,  it will be copied only to those
+daughter volumes which do not have a field manager already.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.EMField.Pract.Electric">
+<title>
+Creating an Electric or Electromagnetic Field
+</title>
+
+<para>
+The design and implementation of the <emphasis>Field</emphasis> category
+allows and enables the use of an electric or combined
+electromagnetic field. These fields can also vary with time, as can
+magnetic fields.
+</para>
+
+<para>
+Source listing <xref linkend="programlist_EMField_1" /> shows how to 
+define a uniform electric field for the whole of a detector.
+
+<example id="programlist_EMField_1">
+<title>
+How to define a uniform electric field for the whole of a detector, 
+extracted from example in examples/extended/field/field02 .
+</title>
+
+<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 );
+
+  }
+</programlisting>
+</example>
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+The user can also create their own type of field, inheriting from
+<literal>G4VField</literal>, and an associated Equation of Motion class
+(inheriting from <literal>G4EqRhs</literal>) to simulate other types of
+fields.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.EMField.Pract.Stepper">
+<title>
+Choosing a Stepper
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+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
+<literal>G4SimpleHeum</literal>, the second order <literal>G4ImplicitEuler</literal>
+and <literal>G4SimpleRunge</literal>, and the first order
+<literal>G4ExplicitEuler</literal>. 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.
+</para>
+
+<para>
+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
+(<literal>G4ClassicalRK4</literal>):
+
+<informalexample>
+<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 
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+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.
+
+<informalexample>
+<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 );   
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+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:
+
+<informalexample>
+<programlisting>
+ G4ChordFinder( G4MagneticField* itsMagField,
+                G4double         stepMinimum = 1.0e-2 * mm,
+                G4MagIntegratorStepper* pItsStepper = 0 );
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+To change the stepper at a later time use
+
+<informalexample>
+<programlisting>
+ pChordFinder-&gt;GetIntegrationDriver()
+             -&gt;RenewStepperAndAdjust( newStepper );
+</programlisting>
+</informalexample>
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.EMField.Pract.Adjust">
+<title>
+How to Adjust the Accuracy of Propagation
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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).
+</para>
+
+<para>
+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.
+
+<example id="programlist_EMField_2">
+<title>
+How to set accuracy parameters for the 'global' field of the setup.
+</title>
+
+<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;
+</programlisting>
+</example>
+</para>
+
+<para>
+We note that the relevant parameters above limit the inaccuracy
+in each step. The final inaccuracy due to the full trajectory will
+accumulate!
+</para>
+
+<para>
+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.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.EMField.Pract.DiffAcc">
+<title>
+Choosing different accuracies for the same volume
+</title>
+
+<para>
+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
+
+<informalexample>
+<programlisting>
+  void ConfigureForTrack( const G4Track * );
+</programlisting>
+</informalexample>
+
+to configure itself using the parameters of the current track.
+An example of this will be available in
+examples/extended/field05.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.EMField.Pract.ParaScal">
+<title>
+Parameters that must scale with problem size
+</title>
+
+<para>
+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.
+</para>
+
+
+<para>
+The <emphasis role="bold">maximum acceptable step</emphasis> 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.
+</para>
+
+<para>
+An upper limit for the size of a step is a parameter of
+<literal>G4PropagatorInField</literal>, and can be set by calling its
+<literal>SetLargestAcceptableStep</literal> method.
+</para>
+
+<para>
+The <emphasis role="bold">minimum step size</emphasis> 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.
+</para>
+
+<para>
+Trial steps smaller than this parameter will be treated with
+less accuracy, and may even be ignored, depending on the
+situation.
+</para>
+
+<para>
+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.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.EMField.Pract.Known">
+<title>
+Known Issues
+</title>
+
+<para>
+Currently it is computationally expensive to change the <emphasis>miss
+distance</emphasis> 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
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    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)
+  </para></listitem>
+  <listitem><para>
+    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.)
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+Requiring such precision at the intersection is clearly expensive,
+and new development would be necessary to minimize the expense.
+</para>
+
+<para>
+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.
+</para>
+
+</sect3>
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.EMField.Spin">
+<title>
+Spin Tracking
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+In order to track the spin of a particle in a magnetic field,
+you need to code the following:
+
+<orderedlist spacing="compact">
+  <listitem><para>
+    in your DetectorConstruction
+
+    <informalexample>
+    <programlisting>
+#include "G4Mag_SpinEqRhs.hh"
+
+  G4Mag_EqRhs* fEquation = new G4Mag_SpinEqRhs(magField);
+
+  G4MagIntegratorStepper* pStepper = new G4ClassicalRK4(fEquation,12);
+                                                       <emphasis role="bold">notice the 12 </emphasis>
+    </programlisting>
+    </informalexample>
+  </para></listitem>
+  <listitem><para>
+    in your PrimaryGenerator
+
+    <informalexample>
+    <programlisting>
+  particleGun-&gt;SetParticlePolarization(G4ThreeVector p)
+    </programlisting>
+    </informalexample>
+
+    for example:
+
+    <informalexample>
+    <programlisting>
+  particleGun-&gt;
+  SetParticlePolarization(-(particleGun-&gt;GetParticleMomentumDirection()));
+
+  // or
+  particleGun-&gt;
+  SetParticlePolarization(particleGun-&gt;GetParticleMomentumDirection()
+                                         .cross(G4ThreeVector(0.,1.,0.)));
+    </programlisting>
+    </informalexample>
+
+    where you set the initial spin direction.
+  </para></listitem>
+</orderedlist>
+</para>
+
+<para>
+While the G4Mag_SpinEqRhs class constructor
+
+<informalexample>
+<programlisting>
+  G4Mag_SpinEqRhs::G4Mag_SpinEqRhs( G4MagneticField* MagField )
+     : G4Mag_EqRhs( MagField ) 
+  {
+      anomaly = 1.165923e-3;
+  }
+</programlisting>
+</informalexample>
+
+sets the muon anomaly by default, the class also comes with the
+public method:
+
+<informalexample>
+<programlisting>
+  inline void SetAnomaly(G4double a) { anomaly = a; }
+</programlisting>
+</informalexample>
+
+with which you can set the magnetic anomaly to any value you
+require.
+</para>
+
+
+<para>
+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:
+
+<literal>
+http://geant4-hn.slac.stanford.edu:5090/HyperNews/public/get/emfields/88/3/1.html
+</literal>
+
+for modifications the user is required to make to facilitate
+neutron spin tracking.
+</para>
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomASCII.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomASCII.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomASCII.xml	(revision 904)
@@ -0,0 +1,27 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--    Changed by: Gabriele Cosmo, 04-Dec-2007               -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Geom.ASCII">
+<title>
+Importing ASCII Text Models
+</title>
+
+<para>
+Since release 9.2 of Geant4, it is also possible to import geometry setups
+based on a plain text description, according to a well defined syntax for
+identifying the different geometrical entities (solids, volumes, materials
+and volume attributes) with associated parameters.
+
+An example showing how to define a geometry in plain text format and import
+it in a Geant4 application is shown in
+<literal>examples/extended/persistency/P03</literal>.
+</para>
+
+</sect2>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomAssembly.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomAssembly.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomAssembly.xml	(revision 904)
@@ -0,0 +1,287 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--    Changed by: Gabriele Cosmo, 18-Apr-2005               -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Geom.Assemb">
+<title>
+Creating an Assembly of Volumes
+</title>
+
+<para>
+<literal>G4AssemblyVolume</literal> 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.
+</para>
+
+<para>
+However, an <emphasis>assembly</emphasis> 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.
+</para>
+
+<para>
+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 <xref linkend="fig.Geom.Assem_1" /> 
+reful usage of <literal>G4AssemblyVolume</literal> must be considered 
+though, in order to avoid cases of "proliferation" of physical volumes 
+all placed in the same mother.
+</para>
+
+<figure id="fig.Geom.Assem_1">
+<title>
+Examples of <emphasis>assembly</emphasis> of volumes.
+</title>
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="./AllResources/Detector/geometry.src/avex1and2.jpg" 
+               format="JPG" contentwidth="8.0cm" align="center" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/Detector/geometry.src/avex1and2.jpg" 
+               format="JPG" align="center" />
+  </imageobject>
+  <textobject>
+    <phrase>Assembly volumes</phrase>
+  </textobject>
+</mediaobject>
+</figure>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Geom.Assemb.Fill">
+<title>
+Filling an assembly volume with its "daughters"
+</title>
+
+<para>
+Participating logical volumes are represented as a triplet of
+&lt;logical volume, translation, rotation&gt;
+(<literal>G4AssemblyTriplet</literal> class).
+</para>
+
+<para>
+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.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Geom.Assemb.Place">
+<title>
+Assembly volume placement
+</title>
+
+<para>
+An assembly volume object is composed of a set of logical
+volumes; imprints of it can be made inside a mother logical
+volume.
+</para>
+
+<para>
+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
+<literal>MakeImprint(...)</literal> method(s).
+</para>
+
+<para>
+The name for each of the physical volume is generated with
+the following format:
+
+<informalexample>
+<programlisting>
+    av_<emphasis role="bold">WWW</emphasis>_impr_<emphasis role="bold">XXX</emphasis>_<emphasis role="bold">YYY</emphasis>_<emphasis role="bold">ZZZ</emphasis>
+</programlisting>
+</informalexample>
+
+where:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis role="bold">WWW</emphasis> - assembly volume instance number
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">XXX</emphasis> - assembly volume imprint number
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">YYY</emphasis> - the name of the placed logical
+    volume
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">ZZZ</emphasis> - the logical volume index inside the assembly
+    volume
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+It is however possible to access the constituent physical volumes
+of an assembly and eventually customise ID and copy-number.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Geom.Assemb.Destruct">
+<title>
+Destruction of an assembly volume
+</title>
+
+<para>
+At destruction all the generated physical volumes and associated
+rotation matrices of the imprints will be destroyed. A list of
+physical volumes created by <literal>MakeImprint()</literal> 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
+<literal>G4Navigator</literal>, logical volume store and physical volume
+store may keep pointers to physical volumes generated by the
+assembly volume.
+</para>
+
+<para>
+The <literal>MakeImprint()</literal> 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 <literal>true</literal> as the last argument of the 
+<literal>MakeImprint()</literal> method,
+it is possible to activate the volumes overlap check for the assembly's
+constituents (the default is <literal>false</literal>).
+</para>
+
+<para>
+At destruction of a <literal>G4AssemblyVolume</literal>, all its generated
+physical volumes and rotation matrices will be freed.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Geom.Assemb.Example">
+<title>
+Example
+</title>
+
+<para>
+This example shows how to use the <literal>G4AssemblyVolume</literal>
+class. It implements a layered detector where each layer consists
+of 4 plates.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+Finally the layers are placed inside the world volume as the
+imprints of the assembly volume (see <xref linkend="programlist_Geom.Assem_1" />).
+
+<example id="programlist_Geom.Assem_1">
+<title>
+An example of usage of the <literal>G4AssemblyVolume</literal> class.
+</title>
+<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) );
+   }
+}
+</programlisting>
+</example>
+</para>
+
+<para>
+The resulting detector will look as in <xref linkend="fig.Geom.Assem_2" />, 
+below:
+
+<figure id="fig.Geom.Assem_2">
+<title>
+The geometry corresponding to <xref linkend="programlist_Geom.Assem_1" />.
+</title>
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="AllResources/Detector/geometry.src/avpic.jpg" 
+               format="JPG" contentwidth="5.0cm" align="center" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="AllResources/Detector/geometry.src/avpic.jpg" 
+               format="JPG" align="center" />
+  </imageobject>
+
+
+  <imageobject>
+    <imagedata fileref="./AllResources/Detector/geometry.src/avpic.jpg" 
+               format="JPG" width="10.0cm" depth="10.0cm" align="center" />
+  </imageobject>
+  <textobject>
+    <phrase>Assembly volume detector</phrase>
+  </textobject>
+</mediaobject>
+</figure>
+</para>
+
+
+</sect3>
+</sect2>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomDynamic.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomDynamic.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomDynamic.xml	(revision 904)
@@ -0,0 +1,116 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--    Changed by: Gabriele Cosmo, 18-Apr-2005               -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Geom.Dyna">
+<title>
+Dynamic Geometry Setups
+</title>
+
+<para>
+Geant4 can handle geometries which vary in time (e.g. a geometry
+varying between two runs in the same job).
+</para>
+
+<para>
+It is considered a change to the geometry setup, whenever:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    the shape or dimension of an existing solid is modified;
+  </para></listitem>
+  <listitem><para>
+    the positioning (translation or rotation) of a volume is
+    changed;
+  </para></listitem>
+  <listitem><para>
+    a volume (or a set of volumes, tree) is removed/replaced or
+    added.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+In the general case, in order to notify the Geant4 system of the
+change in the geometry setup, the <literal>G4RunManager</literal> has to be
+messaged once the new geometry setup has been finalised:
+
+<informalexample>
+<programlisting>
+     G4RunManager::GeometryHasBeenModified();
+</programlisting>
+</informalexample> 
+</para>
+
+<para>
+The above notification needs to be performed also if a material
+associated to a <emphasis>positioned</emphasis> 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).
+</para>
+
+<para>
+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:
+
+<example id="programlist_Geom.Dyna_1">
+<title>
+Opening and closing a portion of the geometry without 
+notifying the <literal>G4RunManager</literal>.
+</title>
+<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);
+</programlisting>
+</example>
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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
+<literal>G4RunManager</literal>. 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.
+</para>
+
+</sect2>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomEditor.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomEditor.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomEditor.xml	(revision 904)
@@ -0,0 +1,277 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--    Changed by: Gabriele Cosmo, 18-Apr-2005               -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Geom.Edit">
+<title>
+A Simple Geometry Editor
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+GGE provides methods to:
+
+<orderedlist spacing="compact">
+  <listitem><para>
+    construct a detector geometry including <literal>G4Element</literal>,
+    <literal>G4Material</literal>, <literal>G4Solids</literal>, 
+    <literal>G4LogicalVolume</literal>,
+    <literal>G4PVPlacement</literal>, etc.
+  </para></listitem>
+  <listitem><para>
+    view the detector geometry using existing visualization system like DAWN
+  </para></listitem>
+  <listitem><para>
+    keep the detector object in a persistent way
+  </para></listitem>
+  <listitem><para>
+    produce corresponding C++ codes after the norm of Geant4 toolkit
+  </para></listitem>
+  <listitem><para>
+    make a Geant4 executable under adequate environment
+  </para></listitem>
+</orderedlist>
+</para>
+
+<para>
+GGE is implemented with Java, using Java Foundation Class,
+Swing and is part of Java MOMO Framework. In essence, GGE is made
+a set of tables which contain all relevant parameters to construct 
+a simple detector geometry.
+</para>
+
+<para>
+The software, installation instructions and notes for GGE and other
+JAVA-based UI tools part of the MOMO Framework can be found in the 
+Geant4 distribution under the <literal>geant4/enviroments/MOMO</literal>
+directory.
+</para>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Geom.Edit.Mate">
+<title>
+Materials: elements and mixtures
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+Users can also create new materials either from scratch or by
+combining other materials.
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    creating a material from scratch:
+    <para>
+    <informaltable>
+    <tgroup cols="11">
+    <tbody>
+    <row>
+      <entry>Use</entry>
+      <entry>Name</entry>
+      <entry>A</entry>
+      <entry>Z</entry>
+      <entry>Density</entry>
+      <entry>Unit</entry>
+      <entry>State</entry>
+      <entry>Temperature</entry>
+      <entry>Unit</entry>
+      <entry>Pressure</entry>
+      <entry>Unit</entry>
+    </row>
+    </tbody>
+    </tgroup>
+    </informaltable>
+    </para>
+    <para>
+    Only the elements and materials used in the logical volumes are
+    kept in the detector object and are used to generate C++
+    constructors. <emphasis role="bold">Use</emphasis> marks the used materials.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    Constructor to create a material from a combination of
+    elements, subsequently added via <literal>AddElement</literal>
+    <para>
+    <informaltable>
+    <tgroup cols="9">
+    <tbody>
+    <row>
+      <entry>Use</entry>
+      <entry>Name</entry>
+      <entry>Elements</entry>
+      <entry>Density</entry>
+      <entry>Unit</entry>
+      <entry>State</entry>
+      <entry>Temperature</entry>
+      <entry>Unit</entry>
+      <entry>Pressure</entry>
+      <entry>Unit</entry>
+    </row>
+    </tbody>
+    </tgroup>
+    </informaltable>
+    </para>
+
+    <para>
+    By clicking the column <emphasis role="bold">Elements</emphasis>, a new 
+    window is open to select one of two methods:
+
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Add an element, giving fraction by weight
+      </para></listitem>
+      <listitem><para>
+        Add an element, giving number of atoms.
+      </para></listitem>
+    </itemizedlist>
+    </para>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Geom.Edit.Solids">
+<title>
+Solids
+</title>
+
+<para>
+The most popular CSG solids (<literal>G4Box</literal>, <literal>G4Tubs</literal>,
+<literal>G4Cons</literal>, <literal>G4Trd</literal>) and specific BREPs solids 
+(Pcons, Pgons) are supported at present. All related parameters of such a
+solid can be specified in a parameter widget.
+</para>
+
+<para>
+Users will be able to view each solid using DAWN.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Geom.Edit.LogVol">
+<title>
+Logical Volume
+</title>
+
+<para>
+GGE can specify the following items:
+
+<informaltable>
+<tgroup cols="4">
+<tbody>
+<row>
+  <entry>Name</entry>
+  <entry>Solid</entry>
+  <entry>Material</entry>
+  <entry>VisAttribute</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+
+<para>
+The construction and assignment of appropriate entities for
+<literal>G4FieldManager</literal> and <literal>G4VSensitiveDetector</literal> 
+are left to the user.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Geom.Edit.PhysVol">
+<title>
+Physical Volume
+</title>
+
+<para>
+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.
+
+<informaltable>
+<tgroup cols="9">
+<tbody>
+<row>
+  <entry>Name</entry>
+  <entry>LogicalVolume</entry>
+  <entry>MotherVolume</entry>
+  <entry>Many</entry>
+  <entry>X0, Y0, Z0</entry>
+  <entry>Direction</entry>
+  <entry>StepSize</entry>
+  <entry>Unit</entry>
+  <entry>CopyNumber</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+
+<para>
+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.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Geom.Edit.GeneCode">
+<title>
+Generation of C++ code: <literal>MyDetectorConstruction.cc</literal>
+</title>
+
+<para>
+By simply pushing a button, source code in the form of an
+include file and a source file are created. They are called
+<literal>MyDetectorConstruction.cc</literal> and <literal>.hh</literal> files. 
+They reflect all current user modifications in real-time.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Geom.Edit.Vis">
+<title>
+Visualization
+</title>
+
+<para>
+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 <literal>MyDetectorConstruction.cc</literal>
+with appropriate parts of Geant4. (In particular only the geometry
+and visualization, together with the small other parts they depend
+on, are needed.)
+</para>
+
+
+</sect3>
+</sect2>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomG3toG4.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomG3toG4.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomG3toG4.xml	(revision 904)
@@ -0,0 +1,208 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--    Changed by: Gabriele Cosmo, 18-Apr-2005               -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Geom.ConvGeom">
+<title>
+Converting Geometries from Geant3.21
+</title>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Geom.ConvGeom.App">
+<title>
+Approach
+</title>
+
+<para>
+<emphasis role="bold">G3toG4</emphasis> is the Geant4 facility to convert 
+GEANT 3.21 geometries into Geant4. This is done in two stages:
+
+<orderedlist spacing="compact">
+  <listitem><para>
+    The user supplies a GEANT 3.21 RZ-file (.rz) containing the
+    initialization data structures. An executable <literal>rztog4</literal> reads
+    this file and produces an ASCII <emphasis>call list</emphasis> file containing
+    instructions on how to build the geometry. The source code of
+    <literal>rztog4</literal> is FORTRAN.
+  </para></listitem>
+  <listitem><para>
+    A call list interpreter (<literal>G4BuildGeom.cc</literal>) reads these
+    instructions and builds the geometry in the user's client code for
+    Geant4.
+  </para></listitem>
+</orderedlist>
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Geom.ConvGeom.Import">
+<title>
+Importing converted geometries into Geant4
+</title>
+
+<para>
+Two examples of how to use the call list interpreter are
+supplied in the directory <literal>examples/extended/g3tog4</literal>:
+
+<orderedlist spacing="compact">
+  <listitem><para>
+    <literal>cltog4</literal> is a simple example which simply invokes the
+    call list interpreter method <literal>G4BuildGeom</literal> from the
+    <literal>G3toG4DetectorConstruction</literal> class, builds the geometry and
+    exits.
+  </para></listitem>
+  <listitem><para>
+    <literal>clGeometry</literal>, 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.
+  </para></listitem>
+</orderedlist>
+</para>
+
+<para>
+To compile and build the G3toG4 libraries, you need to have set in
+your environment the variable <literal>G4LIB_BUILD_G3TOG4</literal> at the
+time of installation. The G3toG4 libraries are not built by
+default. Then, simply type
+
+<informalexample>
+<programlisting>
+  gmake
+</programlisting>
+</informalexample>
+
+from the top-level <literal>source/g3tog4</literal> directory.
+</para>
+
+<para>
+To build the converter executable <literal>rztog4</literal>, simply
+type
+
+<informalexample>
+<programlisting>
+  gmake bin
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+To make everything, simply type:
+
+<informalexample>
+<programlisting>
+  gmake global
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+To remove all <literal>G3toG4</literal> libraries, executables and .d files,
+simply type
+
+<informalexample>
+<programlisting>
+  gmake clean
+</programlisting>
+</informalexample>
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Geom.ConvGeom.Curr">
+<title>
+Current Status
+</title>
+
+<para>
+The package has been tested with the geometries from experiments
+like: BaBar, CMS, Atlas, Alice, Zeus, L3, and Opal.
+</para>
+
+<para>
+Here is a comprehensive list of features supported and not
+supported or implemented in the current version of the package:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Supported shapes: all GEANT 3.21 shapes except for
+    <literal>GTRA</literal>, <literal>CTUB</literal>.
+  </para></listitem>
+  <listitem><para>
+    <literal>PGON</literal>, <literal>PCON</literal> are built using the
+    <emphasis>specific</emphasis> solids <literal>G4Polycone</literal> and
+    <literal>G4Polyhedra</literal>.
+  </para></listitem>
+  <listitem><para>
+    GEANT 3.21 <literal>MANY</literal> feature is only partially
+    supported.
+    <literal>MANY</literal> positions are resolved in the 
+    <literal>G3toG4MANY()</literal> function, which has to be processed before
+    <literal>G3toG4BuildTree()</literal> (it is not called by default).
+    In order to resolve <literal>MANY</literal>, the user code has to provide
+    additional info using <literal>G4gsbool(G4String volName, G4String
+    manyVolName)</literal> function for all the overlapping volumes.
+    Daughters of overlapping volumes are then resolved automatically
+    and should not be specified via <literal>Gsbool</literal>.
+    <para>
+    <emphasis role="bold">Limitation</emphasis>: a volume with a 
+    <literal>MANY</literal> position can have
+    only this one position; if more than one position is needed a new
+    volume has to be defined (<literal>gsvolu()</literal>) for each
+    position.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>GSDV*</literal> routines for dividing volumes are implemented,
+    using <literal>G4PVReplica</literal>s, for shapes:
+
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        <literal>BOX</literal>, <literal>TUBE</literal>, 
+        <literal>TUBS</literal>, <literal>PARA</literal> - all axes;
+      </para></listitem>
+      <listitem><para>
+        <literal>CONE</literal>, <literal>CONS</literal> - axes 2, 3;
+      </para></listitem>
+      <listitem><para>
+        <literal>TRD1</literal>, <literal>TRD2</literal>, 
+        <literal>TRAP</literal> - axis 3;
+      </para></listitem>
+      <listitem><para>
+        <literal>PGON</literal>, <literal>PCON</literal> - axis 2;
+      </para></listitem>
+      <listitem><para>
+        <literal>PARA</literal> -axis 1; axis 2,3 for a special case
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    <literal>GSPOSP</literal> is implemented via individual logical volumes
+    for each instantiation.
+  </para></listitem>
+  <listitem><para>
+    <literal>GSROTM</literal> is implemented. Reflections of hierachies based
+    on plain CSG solids are implemented through the <literal>G3Division</literal>
+    class.
+  </para></listitem>
+  <listitem><para>
+    Hits are not implemented.
+  </para></listitem>
+  <listitem><para>
+    Conversion of GEANT 3.21 magnetic field is currently not
+    supported. However, the usage of magnetic field has to be turned on.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+
+</sect3>
+</sect2>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomIntro.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomIntro.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomIntro.xml	(revision 904)
@@ -0,0 +1,47 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--    Changed by: Gabriele Cosmo, 18-Apr-2005               -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Geom.Intro">
+<title>
+Introduction
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+</sect2>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomLogical.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomLogical.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomLogical.xml	(revision 904)
@@ -0,0 +1,221 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--    Changed by: Gabriele Cosmo, 18-Apr-2005               -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Geom.LogVol">
+<title>
+Logical Volumes
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+A Logical Volume also manages the information relative to the
+Visualization attributes (<xref linkend="sect.VisAtt" />) and 
+user-defined parameters related to tracking, electro-magnetic field
+or cuts (through the <literal>G4UserLimits</literal> interface).
+</para>
+
+<para>
+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.
+
+<informalexample>
+<programlisting>
+    G4LogicalVolume( G4VSolid*             pSolid,
+                     G4Material*           pMaterial,
+                     const G4String&amp;       Name,
+                     G4FieldManager*       pFieldMgr=0,
+                     G4VSensitiveDetector* pSDetector=0,
+                     G4UserLimits*         pULimits=0,
+                     G4bool                Optimise=true )
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Through the logical volume it is also possible to <emphasis>tune</emphasis> the
+granularity of the optimisation algorithm to be applied to the sub-tree of
+volumes represented. This is possible using the methods:
+
+<informalexample>
+<programlisting>
+    G4double GetSmartless() const
+    void SetSmartless(G4double s)
+</programlisting>
+</informalexample>
+
+The default <emphasis>smartless</emphasis> value is <emphasis>2</emphasis>
+and controls the average number of slices per contained volume which are used
+in the optimisation. The smaller the value, the less fine grained optimisation
+grid is generated; this will translate in a possible reduction of memory
+consumed for the optimisation of that portion of geometry at the price of
+a slight CPU time increase at tracking time. Manual tuning of the
+optimisation is in general not required, since the optimal granularity level
+is computed automatically and adapted to the specific geometry setup; however,
+in some cases (like geometry portions with 'dense' concentration of volumes
+distributed in a non-uniform way), it may be necessary to adopt manual tuning
+for helping the optimisation process in dealing with the most critical areas.
+By setting the verbosity to <emphasis>2</emphasis> through the following UI
+run-time command:
+<informalexample>
+<programlisting>
+    /run/verbose 2
+</programlisting>
+</informalexample>
+a statistics of the memory consumed for the allocated optimisation nodes
+will be displayed volume by volume, allowing to easily identify the critical
+areas which may eventually require manual intervention.
+</para>
+
+<para>
+The logical volume provides a way to estimate the <emphasis>mass</emphasis> of
+a tree of volumes defining a detector or sub-detector. This can be
+achieved by calling the method:
+
+<informalexample>
+<programlisting>
+    G4double GetMass(G4bool forced=false)
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+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 <literal>true</literal> for the boolean argument 
+<literal>forced</literal> in input. 
+Computation should be forced if the geometry setup has
+changed after the previous call.
+</para>
+
+<para>
+Finally, the Logical Volume manages the information relative to
+the Envelopes hierarchy required for fast Monte Carlo
+parameterisations (<xref linkend="sect.PhysProc.Param" />).
+</para>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Geom.LogVol.SubReg">
+<title>
+Sub-detector Regions
+</title>
+
+<para>
+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 <emphasis>cuts</emphasis> to each of these detector
+parts. This allows a more detailed simulation to occur only in
+those regions where it is required.
+</para>
+
+<para>
+The concept of detector <emphasis>Region</emphasis> 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:
+
+<informalexample>
+<programlisting>
+    G4Region( const G4String&amp; rName )
+</programlisting>
+</informalexample>
+
+where:
+
+<informaltable>
+<tgroup cols="2">
+  <tbody>
+  <row>
+    <entry>
+      <literal>rName</literal>
+    </entry>
+    <entry>
+      String identifier for the detector region
+    </entry>
+  </row>
+  </tbody>
+</tgroup>
+</informaltable>
+</para>
+
+<para>
+A <literal>G4Region</literal> must then be assigned to a logical volume,
+in order to make it a <emphasis>Root Logical Volume</emphasis>:
+
+<informalexample>
+<programlisting>
+    G4Region* emCalorimeter = new G4Region("EM-Calorimeter");
+    emCalorimeter-&gt;AddRootLogicalVolume(emCalorimeter);
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+A specific <emphasis>Production Cut</emphasis> can be assigned to the region,
+by defining and assigning to it a <literal>G4ProductionCut</literal>
+object
+
+<informalexample>
+<programlisting>
+    emCalorimeter-&gt;SetProductionCuts(emCalCuts);
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+<xref linkend="sect.ProThres.Set" /> 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 
+<emphasis>one</emphasis> 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.
+</para>
+
+
+</sect3>
+</sect2>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomNav.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomNav.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomNav.xml	(revision 904)
@@ -0,0 +1,644 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Changed by: Gabriele Cosmo, 18-Apr-2005               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Geom.Navig">
+<title>
+The Geometry Navigator
+</title>
+
+<para>
+Navigation through the geometry at tracking time is implemented
+by the class <literal>G4Navigator</literal>. 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.
+</para>
+
+<para>
+Internally, the G4Navigator has several private helper/utility
+classes:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis role="bold">G4NavigationHistory</emphasis> - 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.
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">G4NormalNavigation</emphasis> - provides location &amp; 
+    distance computation functions for geometries containing 'placement'
+    volumes, with no voxels.
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">G4VoxelNavigation</emphasis> - 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.
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">G4ParameterisedNavigation</emphasis> - provides location and
+    distance computation functions for geometries containing
+    parameterised volumes with voxels. Voxel information is maintained
+    similarly to <literal>G4VoxelNavigation</literal>, but computation can also
+    be simpler by adopting voxels to be one level deep only
+    (<emphasis>unrefined</emphasis>, or 1D optimisation)
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">G4ReplicaNavigation</emphasis> - provides location and distance
+    computation functions for replicated volumes.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+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).
+</para>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Geom.Navig.NavigTrack">
+<title>
+Navigation and Tracking
+</title>
+
+<para>
+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.
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis role="bold">SetWorldVolume()</emphasis>
+    <para>
+    Sets the first volume in the hierarchy. It must be unrotated and
+    untranslated from the origin.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">LocateGlobalPointAndSetup()</emphasis>
+    <para>
+    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 <literal>G4TouchableHistory</literal>.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">LocateGlobalPointAndUpdateTouchableHandle()</emphasis>
+    <para>
+    First, search the geometrical hierarchy like the above method
+    <literal>LocateGlobalPointAndSetup()</literal>. Then use the volume found and
+    its navigation history to update the touchable.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">ComputeStep()</emphasis>
+    <para>
+    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 <literal>ComputeStep()</literal>.
+    </para>
+    <para>
+    When calling <literal>ComputeStep()</literal>, a proposed physics step is
+    passed. If it can be determined that the first intersection lies at
+    or beyond that distance then <literal>kInfinity</literal> is returned. In any
+    case, if the returned step is greater than the physics step, the
+    physics step must be taken.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">SetGeometricallyLimitedStep()</emphasis>
+    <para>
+    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 <literal>LocateGlobalPointAndSetup()</literal>.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">CreateTouchableHistory()</emphasis>
+    <para>
+    Creates a <literal>G4TouchableHistory</literal> 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.
+    </para>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+As stated previously, the navigator makes use of utility classes to
+perform location and step computation functions. The different
+navigation utilities manipulate the <literal>G4NavigationHistory</literal>
+object.
+</para>
+
+<para>
+In <literal>LocateGlobalPointAndSetup()</literal> 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.
+</para>
+
+<para>
+In <literal>ComputeStep()</literal> three types of computation are treated
+depending on the current containing volume:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    The volume contains normal (placement) daughters (or none)
+  </para></listitem>
+  <listitem><para>
+    The volume contains a single parameterised volume object,
+    representing many volumes
+  </para></listitem>
+  <listitem><para>
+    The volume is a replica and contains normal (placement) daughters
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Geom.Navig.LocPnt">
+<title>
+Using the navigator to locate points
+</title>
+
+<para>
+More than one navigator objects can be created inside an application; these
+navigators can act independently for different purposes. The main navigator
+which is "<emphasis>activated</emphasis> automatically at the startup of a 
+simulation program is the navigator used for the 
+<emphasis>tracking</emphasis> and attached the world volume
+of the main tracking (or <emphasis>mass</emphasis>) geometry.
+</para>
+
+<para>
+The navigator for tracking can be retrieved at any state of the application
+by messagging the <literal>G4TransportationManager</literal>:
+
+<informalexample>
+<programlisting>
+  G4Navigator* tracking_navigator =
+    G4TransportationManager::GetInstance()-&gt;GetNavigatorForTracking();
+</programlisting>
+</informalexample>
+
+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 !
+</para>
+
+<para>
+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 <literal>G4Navigator</literal> object (which can then be assigned 
+to the world-volume), or access the information through the step.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Using the 'step' to retrieve geometrical information
+</bridgehead>
+
+<para>
+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:
+
+<informalexample>
+<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);
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+To determine the exact position in global coordinates in the mass geometry
+and convert to local coordinates (local to the current volume):
+
+<informalexample>
+<programlisting>
+  G4ThreeVector worldPosition = preStepPoint-&gt;GetPosition();
+  G4ThreeVector localPosition = theTouchable-&gt;GetHistory()-&gt;
+                GetTopTransform().TransformPoint(worldPosition);
+</programlisting>
+</informalexample>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Using an alternative navigator to locate points
+</bridgehead>
+
+<para>
+In order to know (when in the <literal>idle</literal> 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:
+
+<informalexample>
+<programlisting>
+  G4Navigator* aNavigator = new G4Navigator();
+  aNavigator-&gt;SetWorldVolume(worldVolumePointer);
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Then, locate the point <literal>myPoint</literal> (defined in global coordinates),
+retrieve a <emphasis>touchable handle</emphasis> and do whatever you need with it:
+
+<informalexample>
+<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);
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+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 
+<literal>G4Navigator</literal> object and then apply the method above after 
+having created the touchable for it.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Geom.Navig.ParaGeom">
+<title>
+Navigation in parallel geometries
+</title>
+
+<para>
+Since release 8.2 of Geant4, it is possible to define geometry trees which
+are <literal>parallel</literal> to the tracking geometry and having them 
+assigned to navigator objects that transparently communicate in sync with 
+the normal tracking geometry.
+</para>
+
+<para>
+Parallel geometries can be defined for several uses (fast shower
+parameterisation, geometrical biasing, particle scoring, readout
+geometries, etc ...) and can <emphasis>overlap</emphasis> with the mass 
+geometry defined for the tracking. The <literal>parallel</literal> 
+transportation will be activated only after the registration of the 
+parallel geometry in the detector description
+setup; see Section <xref linkend="sect.ParaGeom" /> for how to define a parallel
+geometry and register it to the run-manager.
+</para>
+
+<para>
+The <literal>G4TransportationManager</literal> provides all the utilities to verify,
+retrieve and activate the navigators associated to the various parallel
+geometries defined.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Geom.Navig.PhantomGeom">
+<title>
+Fast navigation in regular patterned geometries and phantoms
+</title>
+
+<para>
+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 DICOM phantoms for medical physics studies.
+</para>
+
+<para>
+The class <literal>G4RegularNavigation</literal> is used and automatically
+activated when such geometries are defined. It is required to the user to
+implement a parameterisation of the kind <literal>G4PhantomParameterisation</literal>
+and place the parameterised volume containing it in a container volume, so that
+all cells in the three-dimensional grid (<emphasis>voxels</emphasis>) 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:
+
+<informalexample>
+<programlisting>
+  copyNo_x = (localPoint.x()+fVoxelHalfX*fNoVoxelX)/(fVoxelHalfX*2.)
+</programlisting>
+</informalexample>
+
+where <literal>fVoxelHalfX</literal> is the half dimension of the voxel along
+<literal>X</literal> and <literal>fNoVoxelX</literal> is the number of voxels
+in the <literal>X</literal> dimension.
+Voxel <literal>0</literal> will be the one closest to the corner
+<literal>(fVoxelHalfX*fNoVoxelX, fVoxelHalfY*fNoVoxelY, fVoxelHalfZ*fNoVoxelZ)</literal>.
+</para>
+
+<para>
+Having the voxels filling completely the container volume allows to avoid
+the lengthy computation of <literal>ComputeStep()</literal> and
+<literal>ComputeSafety</literal> 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.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Skipping borders of voxels with same material
+</bridgehead>
+
+<para>
+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 <literal>skip = 0</literal>:
+
+<informalexample>
+<programlisting>
+  G4RegularParameterisation::SetSkipEqualMaterials( G4bool skip );
+</programlisting>
+</informalexample>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Example
+</bridgehead>
+
+<para>
+To use the specialised navigation, it is required to first create an object
+of type  <literal>G4PhantomParameterisation</literal>:
+
+<informalexample>
+<programlisting>
+  G4PhantomParameterisation* param = new G4PhantomParameterisation();
+</programlisting>
+</informalexample>
+
+Then, fill it with the all the necessary data:
+
+<informalexample>
+<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 );
+</programlisting>
+</informalexample>
+
+Then, define the volume that contains all the voxels:
+
+<informalexample>
+<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
+
+</programlisting>
+</informalexample>
+
+The physical volume should be assigned as the container volume of the
+parameterisation:
+
+<informalexample>
+<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);
+</programlisting>
+</informalexample>
+</para>
+
+An example showing the application of the optimised navigation algorithm
+for phantoms geometries is available in
+<literal>examples/extended/medical/DICOM</literal>. It implements a real
+application for reading <literal>DICOM</literal> 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
+<literal>G4PhantomParameterisation</literal>).
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Geom.Navig.RunTime">
+<title>
+Run-time commands
+</title>
+
+<para>
+When running in <emphasis>verbose</emphasis> mode (i.e. the default,
+<literal>G4VERBOSE</literal> 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:
+
+<informalexample>
+<programlisting>
+  geometry/navigator/verbose [verbose_level]
+</programlisting>
+</informalexample>
+
+or to force the navigator to run in <emphasis>check</emphasis> mode:
+
+<informalexample>
+<programlisting>
+  geometry/navigator/check_mode [true/false]
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+By combining <emphasis>check_mode</emphasis> with verbosity level-1, additional
+verbosity checks on the response from the solids can be activated.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Geom.Tolerance">
+<title>
+Setting Geometry Tolerance to be relative
+</title>
+
+<para>
+The tolerance value defining the accuracy of tracking on the surfaces
+is by default set to a reasonably small value of <emphasis>10E-9 mm</emphasis>.
+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.
+</para>
+
+<para>
+The class <literal>G4GeometryManager</literal> 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:
+
+<informalexample>
+<programlisting>
+  G4GeometryManager::GetInstance()->SetWorldMaximumExtent(WorldExtent);
+</programlisting>
+</informalexample>
+
+where, <literal>WorldExtent</literal> is the actual maximum extent of the
+world volume used for placing the whole geometry setup.
+</para>
+
+<para>
+Such call to <literal>G4GeometryManager</literal> must be done
+<emphasis role="bold">before</emphasis> defining any geometrical component of
+the setup (solid shape or volume), and can be done only
+<emphasis role="bold">once</emphasis> !
+</para>
+
+<para>
+The class <literal>G4GeometryTolerance</literal> is to be used for retrieving the
+actual values defined for tolerances, surface (Cartesian), angular or radial
+respectively:
+
+<informalexample>
+<programlisting>
+  G4GeometryTolerance::GetInstance()->GetSurfaceTolerance();
+  G4GeometryTolerance::GetInstance()->GetAngularTolerance();
+  G4GeometryTolerance::GetInstance()->GetRadialTolerance();
+</programlisting>
+</informalexample>
+
+</para>
+
+</sect3>
+
+</sect2>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomOverlap.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomOverlap.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomOverlap.xml	(revision 904)
@@ -0,0 +1,488 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--    Changed by: Gabriele Cosmo, 18-Apr-2005               -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Geom.Overlap">
+<title>
+Detecting Overlapping Volumes
+</title>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Geom.Overlap.Prob">
+<title>
+The problem of overlapping volumes
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Geom.Overlap.BuiltIn">
+<title>
+Detecting overlaps: built-in kernel commands
+</title>
+
+<para>
+In general, the most powerful clash detection algorithms are
+provided by CAD systems, treating the intersection between the
+solids in their topological form.
+</para>
+
+<para>
+Geant4 provides some built-in run-time commands to activate
+verification tests for the user-defined geometry:
+
+<informalexample>
+<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.
+</programlisting>
+</informalexample> 
+</para>
+
+<para>
+To detect overlapping volumes, the built-in test uses the
+intersection of solids with linear trajectories. For example,
+consider <xref linkend="fig.Geom.Overlap_1" />:
+
+<figure id="fig.Geom.Overlap_1">
+<title>
+  Different cases of placed volumes overlapping each other.
+</title>
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="./AllResources/Detector/geometry.src/geomtest.gif" 
+               format="GIF" contentwidth="10.0cm" align="center" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/Detector/geometry.src/geomtest.gif" 
+               format="GIF" align="center" />
+  </imageobject>
+</mediaobject>
+</figure>
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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:
+
+<informalexample>
+<programlisting>
+   geometry/test/tolerance &lt;new-value&gt;
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+Pay attention! For a complex geometry, checking the entire
+volume hierarchy can be extremely time consuming.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Geom.Overlap.AtConst">
+<title>
+Detecting overlaps at construction
+</title>
+
+<para>
+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
+<literal>G4PVPlacement</literal> constructor in 
+<xref linkend="sect.Geom.PhysVol.PlaceSingle" />) or a parameterised
+volume (see <literal>G4PVParameterised</literal> constructor in 
+<xref linkend="sect.Geom.PhysVol.RepeatVol" />).
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+The classes <literal>G4PVPlacement</literal> and
+<literal>G4PVParameterised</literal> also provide a method:
+
+<informalexample>
+<programlisting>
+   G4bool CheckOverlaps(G4int res=1000, G4double tol=0., G4bool verbose=true)
+</programlisting>
+</informalexample>
+
+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 <literal>true</literal> 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.
+</para>
+
+<para>
+<emphasis role="bold">Using the visualization driver: DAVID</emphasis>
+</para>
+<para>
+The Geant4 visualization offers a powerful debugging tool for
+detecting potential intersections of physical volumes. The Geant4
+<ulink url="http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAVID.html">
+DAVID</ulink> 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 <xref linkend="fig.Geom.Overlap_2" /> 
+below is a sample visualization of a detector geometry with intersecting 
+physical volumes highlighted:
+
+<figure id="fig.Geom.Overlap_2">
+<title>
+  A geometry with overlapping volumes highlighted by DAVID.
+</title>
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="./AllResources/Detector/geometry.src/DAVID_SAMPLE.gif" 
+               format="GIF" contentwidth="3.0cm" align="center" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/Detector/geometry.src/DAVID_SAMPLE.gif"
+               format="GIF" align="center" />
+  </imageobject>
+</mediaobject>
+</figure>
+</para>
+
+<para>
+At present physical volumes made of the following solids are
+able to be debugged: <literal>G4Box</literal>, <literal>G4Cons</literal>,
+<literal>G4Para</literal>, <literal>G4Sphere</literal>, <literal>G4Trd</literal>,
+<literal>G4Trap</literal>, <literal>G4Tubs</literal>. (Existence of other solids is
+harmless.)
+</para>
+
+<para>
+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". 
+<ulink url="http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWN.html">
+DAWN</ulink> and 
+<ulink url="http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAVID.html">
+DAVID</ulink> can be downloaded from the Web.
+</para>
+
+<para>
+How to compile Geant4 with the DAWNFILE driver incorporated is
+described in <xref linkend="sect.VisDrv" />.
+</para>
+
+<para>
+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:
+</para>
+
+<para>
+Run your Geant4 executable, invoke the DAWNFILE driver, and
+execute visualization commands to visualize your detector
+geometry:
+
+<informalexample>
+<programlisting>
+     Idle&gt; /vis/open DAWNFILE
+     .....(setting camera etc)...
+     Idle&gt; /vis/drawVolume
+     Idle&gt; /vis/viewer/update
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+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 
+<ulink url="http://geant4.kek.jp/GEANT4/vis/DAWN/G4PRIM_FORMAT_24/">
+DAWN web site documentation</ulink>.)
+</para>
+
+<para>
+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).
+</para>
+
+<para>
+If no intersection is detected, visualization is skipped and the
+following message is displayed on the console:
+
+<informalexample>
+<programlisting>
+     ------------------------------------------------------
+     !!! Number of intersected volumes : 0 !!!
+     !!! Congratulations ! \(^o^)/         !!!
+     ------------------------------------------------------
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+If you always want to skip visualization, set an environmental
+variable as follows beforehand:
+
+<informalexample>
+<programlisting>
+     %  setenv DAVID_NO_VIEW  1
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+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:
+
+<informalexample>
+<programlisting>
+     %  setenv G4DAWNFILE_PRECISION  10
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+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:
+
+<informalexample>
+<programlisting>
+     % dawn g4david.prim
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+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
+<literal>prim2wrml</literal> can be downloaded from the 
+<ulink url="http://geant4.kek.jp/GEANT4/vis/DAWN/About_prim2vrml1.html">
+DAWN web site download pages</ulink>.
+</para>
+
+<para>
+For more details, see the 
+<ulink url="http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAVID.html">
+document of DAVID</ulink> mentioned above.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Geom.Overlap.OLAP">
+<title>
+Using the geometry debugging tool OLAP
+</title>
+
+<para>
+<emphasis role="bold">OLAP</emphasis> 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
+<literal>geant4/examples/extended/geometry</literal>. The technique consists
+in shooting <literal>geantinos</literal> particles in one direction and the
+opposite one, and verifying that the boundary crossings are the
+same.
+</para>
+
+<para>
+The tool can be used for any Geant4 geometry, provided that the
+user geometry to be debugged is available as a subclass of
+<literal>G4VUserDetectorConstruction</literal> and is used to construct the
+<literal>OlapDetConstr</literal> class of the tool. A dummy class
+<literal>RandomDetector</literal> is provided for this purpose in the tool
+itself.
+</para>
+
+<para>
+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 <literal>/olap/cd</literal> 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 <literal>/olap/goto
+[regexp]</literal> can be used to jump to the first logical volume
+matching the expression <literal>[regexp]</literal>. Every successful
+navigation command (<literal>/olap/cd</literal>, <literal>olap/goto</literal>) results
+in the construction of a <literal>NewWorld</literal>, the mother volume being
+the argument of the command and the daughter volumes being the
+direct daughters of the mother volume.
+</para>
+
+<para>
+<literal>/olap/pwd</literal> always shows where in the full geometrical
+hierarchy the current <literal>NewWorld</literal> and mother volume are
+located.
+</para>
+
+<para>
+For more detailed information, view the <literal>README</literal> file
+provided with the tool.
+</para>
+
+
+</sect3>
+</sect2>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomPersistency.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomPersistency.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomPersistency.xml	(revision 904)
@@ -0,0 +1,28 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--    Changed by: Gabriele Cosmo, 05-Dec-2007               -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Geom.Persistency">
+<title>
+Saving geometry tree objects in binary format
+</title>
+
+<para>
+The Geant4 geometry tree can be stored in the Root binary file format
+using the <emphasis>reflection</emphasis> 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.
+</para>
+<para>
+See <ulink url="http://cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch04s06.html">Chapter 4.6</ulink>
+for details and references.
+</para>
+
+</sect2>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomPhysical.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomPhysical.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomPhysical.xml	(revision 904)
@@ -0,0 +1,1261 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--    Changed by: Gabriele Cosmo, 18-Apr-2005               -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Geom.PhysVol">
+<title>
+Physical Volumes
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+<emphasis role="bold">Note</emphasis> - 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.
+</para>
+
+<para>
+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.
+</para>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Geom.PhysVol.PlaceSingle">
+<title>
+Placements: single positioned copy
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+Transformations including reflections are not allowed.
+</para>
+
+<para>
+To create a Placement one must construct it using:
+
+<informalexample>
+<programlisting>
+    G4PVPlacement(       G4RotationMatrix*  pRot,
+                   const G4ThreeVector&amp;     tlate,
+                         G4LogicalVolume*   pCurrentLogical,
+                   const G4String&amp;          pName,
+                         G4LogicalVolume*   pMotherLogical,
+                         G4bool             pMany,
+                         G4int              pCopyNo,
+                         G4bool             pSurfChk=false )
+</programlisting>
+</informalexample>
+
+where:
+
+<informaltable>
+<tgroup cols="2">
+<tbody>
+<row>
+  <entry>
+    <literal>pRot</literal>
+  </entry>
+  <entry>
+    Rotation with respect to its mother volume
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>tlate</literal>
+  </entry>
+  <entry>
+    Translation with respect to its mother volume
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pCurrentLogical</literal>
+  </entry>
+  <entry>
+    The associated Logical Volume
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pName</literal>
+  </entry>
+  <entry>
+    String identifier for this placement
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pMotherLogical</literal>
+  </entry>
+  <entry>
+    The associated mother volume
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pMany</literal>
+  </entry>
+  <entry>
+    For future use. Can be set to false
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pCopyNo</literal>
+  </entry>
+  <entry>
+    Integer which identifies this placement
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pSurfChk</literal>
+  </entry>
+  <entry>
+    if true activates check for overlaps with existing volumes
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+
+<para>
+Care must be taken because the rotation matrix is not copied by
+a <literal>G4PVPlacement</literal>. 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.
+</para>
+
+<para>
+Currently boolean operations are not implemented at the level of
+physical volume. So <literal>pMany</literal> 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  <xref linkend="sect.Geom.Solids.BoolOp" />
+ above for an explanation of this.
+</para>
+
+<para>
+The mother volume must be specified for all volumes
+<emphasis>except</emphasis> the world volume.
+</para>
+
+<para>
+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 <emphasis>active</emphasis> method can be utilized using
+the following constructor:
+
+<informalexample>
+<programlisting>
+    G4PVPlacement(       G4Transform3D      solidTransform,
+                         G4LogicalVolume*   pCurrentLogical,
+                   const G4String&amp;          pName,
+                         G4LogicalVolume*   pMotherLogical,
+                         G4bool             pMany,
+                         G4int              pCopyNo,
+                         G4bool             pSurfChk=false )
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Geom.PhysVol.RepeatVol">
+<title>
+Repeated volumes
+</title>
+
+<para>
+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. 
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Replicas:
+</bridgehead>
+
+<para>
+Replicas are <emphasis>repeated volumes</emphasis> 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.
+
+<informalexample>
+<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 )
+</programlisting>
+</informalexample>
+
+where:
+
+<informaltable>
+<tgroup cols="2">
+<tbody>
+<row>
+  <entry>
+    <literal>pName</literal>
+  </entry>
+  <entry>
+    String identifier for the replicated volume
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pCurrentLogical</literal>
+  </entry>
+  <entry>
+    The associated Logical Volume
+   </entry>
+</row>
+<row>
+  <entry>
+    <literal>pMotherLogical</literal>
+  </entry>
+  <entry>
+    The associated mother volume
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pAxis</literal>
+  </entry>
+  <entry>
+    The axis along with the replication is applied
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>nReplicas</literal>
+  </entry>
+  <entry>
+    The number of replicated volumes
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>width</literal>
+  </entry>
+  <entry>
+    The width of a single replica along the axis of replication
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>offset</literal>
+  </entry>
+  <entry>
+    Possible offset associated to mother offset along the axis of
+    replication
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+
+<para>
+<literal>G4PVReplica</literal> represents <literal>nReplicas</literal> volumes
+differing only in their positioning, and completely <emphasis role="bold">filling</emphasis>
+the containing mother volume. Consequently if a
+<literal>G4PVReplica</literal> is 'positioned' inside a given mother it
+<emphasis role="bold">MUST</emphasis> 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.
+</para>
+
+<para>
+The replica's positions are calculated by means of a linear
+formula. Replication may occur along:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis>Cartesian axes <literal>(kXAxis,kYAxis,kZAxis)</literal></emphasis>
+    <para>
+    The replications, of specified width have coordinates of form
+    <literal>(-width*(nReplicas-1)*0.5+n*width,0,0)</literal>
+    </para>
+    <para>
+    where <literal>n=0.. nReplicas-1</literal> for the case of <literal>kXAxis</literal>,
+    and are unrotated.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis>Radial axis (cylindrical polar) <literal>(kRho)</literal></emphasis>
+    <para>
+    The replications are cons/tubs sections, centred on the origin and
+    are unrotated.
+    </para>
+    <para>
+    They have radii of <literal>width*n+offset</literal> to
+    <literal>width*(n+1)+offset</literal> where
+    <literal>n=0..nReplicas-1</literal>
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis>Phi axis (cylindrical polar) <literal>(kPhi)</literal></emphasis>
+    <para>
+    The replications are <emphasis>phi sections</emphasis> or 
+    <emphasis>wedges</emphasis>, and of cons/tubs form.
+    </para>
+    <para>
+    They have <literal>phi</literal> of <literal>offset+n*width</literal> to
+    <literal>offset+(n+1)*width</literal> where 
+    <literal>n=0..nReplicas-1</literal>
+    </para>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+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 <literal>phi</literal> 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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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).
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+Because of these rules, it is not possible to place any other
+volume inside a replication in <literal>radius</literal>.
+</para>
+
+<para>
+The world volume <emphasis>cannot</emphasis> act as a replica, therefore it
+cannot be sliced.
+</para>
+
+<para>
+During tracking, the translation + rotation associated with each
+<literal>G4PVReplica</literal> object is modified according to the currently
+'active' replication. The solid is not modified and consequently
+has the wrong parameters for the cases of <literal>phi</literal> and
+<literal>r</literal> replication and for when the cross-section of the mother
+is not constant along the replication.
+</para>
+
+<para>
+Example:
+
+<example id="programlist_Geom.PhysVol_1">
+<title>
+An example of simple replicated volumes with <literal>G4PVReplica</literal>.
+</title>
+<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);
+</programlisting>
+</example>
+</para>
+
+<para>
+<literal>RepX</literal> is an array of 5 replicas of width 10*mm,
+positioned inside and completely filling the volume pointed by
+<literal>pContainingMother</literal>. 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]).
+</para>
+
+<para>
+If the containing mother's solid is a tube of radius 50*mm and
+half Z length of 25*mm, <literal>RepR</literal> divides the mother tube into
+5 cylinders (hence the solid associated with <literal>pRepRLogical</literal>
+must be a tube of radius 10*mm, and half Z length 25*mm);
+<literal>repRZ</literal> divides it into 5 shorter cylinders (the solid
+associated with <literal>pRepRZLogical</literal> must be a tube of radius
+10*mm, and half Z length 5*mm); finally, <literal>repRZPhi</literal> divides
+it into 4 tube segments with full angle of 90 degrees (the solid
+associated with <literal>pRepRZPhiLogical</literal> must be a tube segment of
+radius 10*mm, half Z length 5*mm and delta phi of
+M_PI*0.5*rad).
+</para>
+
+<para>
+No further volumes may be placed inside these replicas. To do so
+would result in intersecting boundaries due to the <literal>r</literal>
+replications.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Parameterised Volumes:
+</bridgehead>
+
+<para>
+Parameterised Volumes are <emphasis>repeated volumes</emphasis> 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.
+</para>
+
+<para>
+An example of creating a parameterised volume (by dimension and
+position) exists in novice example N02. The implementation is
+provided in the two classes <literal>ExN02DetectorConstruction</literal> and
+<literal>ExN02ChamberParameterisation</literal>.
+</para>
+
+<para>
+To create a parameterised volume, one must first create its
+logical volume like <literal>trackerChamberLV</literal> below. Then one must
+create his own parameterisation class
+(<emphasis>ExN02ChamberParameterisation</emphasis>) and instantiate an object of
+this class (<literal>chamberParam</literal>). We will see how to create the
+parameterisation below.
+
+<example  id="programlist_Geom.PhysVol_2">
+<title>
+An example of Parameterised volumes.
+</title>
+<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.
+</programlisting>
+</example>
+</para>
+
+<para>
+The general constructor is:
+
+<informalexample>
+<programlisting>
+    G4PVParameterised( const G4String&amp;              pName,
+                             G4LogicalVolume*       pCurrentLogical,
+                             G4LogicalVolume*       pMotherLogical, // OR G4VPhysicalVolume*
+                       const EAxis                  pAxis,
+                       const G4int                  nReplicas,
+                             G4VPVParameterisation* pParam,
+                             G4bool                 pSurfChk=false )
+ 
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Note that for a parameterised volume the user must always
+specify a mother volume. So the world volume can <emphasis>never</emphasis> be a
+parameterised volume, nor it can be sliced. The mother volume can
+be specified either as a physical or a logical volume.
+</para>
+
+<para>
+<literal>pAxis</literal> 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.
+</para>
+
+<para>
+<literal>pSurfChk</literal> if <literal>true</literal> activates a check for
+overlaps with existing volumes or paramaterised instances.
+</para>
+
+<para>
+The parameterisation mechanism associated to a parameterised
+volume is defined in the parameterisation class and its methods.
+Every parameterisation must create two methods:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <literal>ComputeTransformation</literal> defines where one of the copies
+    is placed,
+  </para></listitem>
+  <listitem><para>
+    <literal>ComputeDimensions</literal> defines the size of one copy, and
+  </para></listitem>
+  <listitem><para>
+    a constructor that initializes any member variables that are
+    required.
+  </para></listitem>
+</itemizedlist>
+
+<para>
+An example is <literal>ExN02ChamberParameterisation</literal> that
+parameterises a series of boxes of different sizes
+
+<example id="programlist_Geom.PhysVol_3">
+<title>
+An example of Parameterised boxes of different sizes.
+</title>
+<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;
+   ...
+ }
+</programlisting>
+</example>
+</para>
+
+<para>
+These methods works as follows:
+</para>
+
+<para>
+The <literal>ComputeTransformation</literal> 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:
+
+<informalexample>
+<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);
+ }
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Note that the translation and rotation given in this scheme are
+those for the frame of coordinates (the <emphasis>passive</emphasis> method).
+They are <emphasis role="bold">not</emphasis> for the 
+<emphasis>active</emphasis> method, in which the
+solid is rotated into the mother frame of coordinates.
+</para>
+
+<para>
+Similarly the <literal>ComputeDimensions</literal> method is used to set
+the size of that copy.
+
+<informalexample>
+<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);
+ }
+</programlisting>
+</informalexample> 
+</para>
+
+<para>
+The user must ensure that the type of the first argument of this
+method (in this example <literal>G4Box &amp;</literal>) corresponds to the
+type of object the user give to the logical volume of parameterised
+physical volume.
+</para>
+
+<para>
+More advanced usage allows the user:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    to change the type of solid by creating a <literal>ComputeSolid</literal>
+    method, or
+  </para></listitem>
+  <listitem><para>
+    to change the material of the volume by creating a
+    <literal>ComputeMaterial</literal> method. This method can also utilise
+    information from a parent or other ancestor volume (see the Nested
+    Parameterisation below.)
+  </para></listitem>
+</itemizedlist>
+
+for the parameterisation.
+</para>
+
+<para>
+Example N07 shows a simple parameterisation by material. A more
+complex example is provided in
+<literal>examples/extended/medical/DICOM</literal>, where a phantom grid of
+cells is built using a parameterisation by material defined through
+a map.
+</para>
+
+<note>
+<title>Note</title>
+<para>
+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.
+</para>
+
+<para>
+So the full power of parameterised volumes can be used only for
+"leaf" volumes, which contain no other volumes.
+</para>
+</note>
+
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Advanced parameterisations for 'nested' parameterised volumes
+</bridgehead>
+
+<para>
+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.)
+</para>
+
+<para>
+In such a " nested" parameterisation , the user must provide a
+<literal>ComputeMaterial</literal> method that utilises the new argument that
+represents the touchable history of the parent volume:
+
+<informalexample>
+<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;  
+};
+</programlisting>
+</informalexample>  
+</para>
+
+<para>
+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:
+
+<informalexample>
+<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;
+ }
+</programlisting>
+</informalexample>  
+</para>
+
+<para>
+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.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Divisions of Volumes
+</bridgehead>
+
+<para>
+Divisions in Geant4 are implemented as a specialized type of
+parameterised volumes.
+</para>
+
+<para>
+They serve to divide a volume into identical copies along one of
+its axes, providing the possibility to define an <emphasis>offset</emphasis>, 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.
+</para>
+
+<para>
+To divide a volume it will be necessary to provide:
+
+<orderedlist spacing="compact">
+  <listitem><para>
+    the axis of division, and
+  </para></listitem>
+  <listitem><para>
+    either
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        the number of divisions (so that the width of each division
+        will be automatically calculated), or
+      </para></listitem>
+      <listitem><para>
+        the division width (so that the number of divisions will be
+        automatically calculated to fill as much of the mother as
+        possible), or
+      </para></listitem>
+      <listitem><para>
+        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).
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+</orderedlist>
+</para>
+
+<para>
+An <emphasis>offset</emphasis> 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.
+</para>
+
+<para>
+There are three constructors, corresponding to the three input
+possibilities described above:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Giving only the number of divisions:
+
+    <informalexample>
+    <programlisting>
+     G4PVDivision( const G4String&amp; pName,
+                         G4LogicalVolume* pCurrentLogical,
+                         G4LogicalVolume* pMotherLogical,
+                   const EAxis pAxis,
+                   const G4int nDivisions,
+                   const G4double offset )
+    </programlisting>
+    </informalexample>
+  </para></listitem>
+  <listitem><para>
+    Giving only the division width:
+
+    <informalexample>
+    <programlisting>
+     G4PVDivision( const G4String&amp; pName,
+                         G4LogicalVolume* pCurrentLogical,
+                         G4LogicalVolume* pMotherLogical,
+                   const EAxis pAxis,
+                   const G4double width,
+                   const G4double offset )
+    </programlisting>
+    </informalexample>
+  </para></listitem>
+  <listitem><para>
+    Giving the number of divisions and the division width:
+
+    <informalexample>
+    <programlisting>
+     G4PVDivision( const G4String&amp; pName,
+                         G4LogicalVolume* pCurrentLogical,
+                         G4LogicalVolume* pMotherLogical,
+                   const EAxis pAxis,
+                   const G4int nDivisions,
+                   const G4double width,
+                   const G4double offset )
+    </programlisting>
+    </informalexample>
+  </para></listitem>
+</itemizedlist>
+
+where:
+
+<informaltable>
+<tgroup cols="2">
+<tbody>
+<row>
+  <entry>
+    <literal>pName</literal>
+  </entry>
+  <entry>
+    String identifier for the replicated volume
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pCurrentLogical</literal>
+  </entry>
+  <entry>
+    The associated Logical Volume
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pMotherLogical</literal>
+  </entry>
+  <entry>
+    The associated mother Logical Volume
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pAxis</literal>
+  </entry>
+  <entry>
+    The axis along which the division is applied
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>nDivisions</literal>
+  </entry>
+  <entry>
+    The number of divisions
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>width</literal>
+  </entry>
+  <entry>
+    The width of a single division along the axis
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>offset</literal>
+  </entry>
+  <entry>
+    Possible offset associated to the mother along the axis of division
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+
+<para>
+The parameterisation is calculated automatically using the
+values provided in input. Therefore the dimensions of the solid
+associated with <literal>pCurrentLogical</literal> will not be used, but
+recomputed through the
+<literal>G4VParameterisation::ComputeDimension()</literal> method.
+</para>
+
+<para>
+Since <literal>G4VPVParameterisation</literal> may have different
+<literal>ComputeDimension()</literal> 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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+It is also possible to place other volumes inside a volume where a
+division is placed.
+</para>
+
+<para>
+The list of volumes that currently support divisioning and the
+possible division axis are summarised below:
+
+<informaltable>
+<tgroup cols="2">
+<tbody>
+<row>
+  <entry>
+    <literal>G4Box</literal>
+  </entry>
+  <entry>
+    <literal>kXAxis</literal>, <literal>kYAxis</literal>, <literal>kZAxis</literal>
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>G4Tubs</literal>
+  </entry>
+  <entry>
+    <literal>kRho</literal>, <literal>kPhi</literal>, <literal>kZAxis</literal>
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>G4Cons</literal>
+  </entry>
+  <entry>
+    <literal>kRho</literal>, <literal>kPhi</literal>, <literal>kZAxis</literal>
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>G4Trd</literal>
+  </entry>
+  <entry>
+    <literal>kXAxis</literal>, <literal>kYAxis</literal>, <literal>kZAxis</literal>
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>G4Para</literal>
+  </entry>
+  <entry>
+    <literal>kXAxis</literal>, <literal>kYAxis</literal>, <literal>kZAxis</literal>
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>G4Polycone</literal>
+  </entry>
+  <entry>
+    <literal>kRho</literal>, <literal>kPhi</literal>, <literal>kZAxis</literal> (*)
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>G4Polyhedra</literal>
+  </entry>
+  <entry>
+    <literal>kRho</literal>, <literal>kPhi</literal>, <literal>kZAxis</literal> (**)
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+
+
+<para>
+(*) - <literal>G4Polycone</literal>:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <literal>kZAxis</literal> - the number of divisions has to be the same as
+    solid sections, (i.e. <literal>numZPlanes-1</literal>), the width will
+    <emphasis>not</emphasis> be taken into account.</para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+(**) - <literal>G4Polyhedra</literal>:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <literal>kPhi</literal> - the number of divisions has to be the same as
+    solid sides, (i.e. <literal>numSides</literal>), the width will 
+    <emphasis>not</emphasis> be taken into account.
+  </para></listitem>
+  <listitem><para>
+    <literal>kZAxis</literal> - the number of divisions has to be the same as
+    solid sections, (i.e. <literal>numZPlanes-1</literal>), the width will
+    <emphasis>not</emphasis> be taken into account.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+In the case of division along <literal>kRho</literal> of <literal>G4Cons</literal>,
+<literal>G4Polycone</literal>, <literal>G4Polyhedra</literal>, if width is provided, it
+is taken as the width at the <literal>-Z</literal> radius; the width at other
+radii will be scaled to this one.
+</para>
+
+<para>
+Examples are given below in listings 
+<xref linkend="programlist_Geom.PhysVol_3" /> and 
+<xref linkend="programlist_Geom.PhysVol_4" />.
+
+<example id="programlist_Geom.PhysVol_4">  
+<title>
+An example of a box division along different axes, with or without offset.
+</title>
+<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);
+</programlisting>
+</example>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <literal>divBox1</literal> is a division of a box along its <literal>X</literal>
+    axis in 5 equal copies. Each copy will have a dimension in meters
+    of <literal>[0.2, 1., 1.]</literal>.
+  </para></listitem>
+  <listitem><para>
+    <literal>divBox2</literal> is a division of the same box along its
+    <literal>X</literal> axis with a width of <literal>0.1</literal> meters and
+    an offset of <literal>0.5</literal> meters. As the mother dimension along 
+    <literal>X</literal> of
+    <literal>1</literal> meter (<literal>0.5*m</literal> of halflength), 
+    the division will
+    be sized in total <literal>1 - 0.45 = 0.55</literal> meters. Therefore,
+    there's space for 5 copies, the first extending from <literal>-0.05</literal>
+    to <literal>0.05</literal> meters in the mother's frame and the last from
+    <literal>0.35</literal> to <literal>0.45</literal> meters.
+  </para></listitem>
+  <listitem><para>
+    <literal>divBox3</literal> is a division of the same box along its
+    <literal>X</literal> axis in 3 equal copies of width <literal>0.1</literal> 
+    meters and an offset of <literal>0.5</literal> meters. 
+    The first copy will extend from
+    <literal>0.</literal> to <literal>0.1</literal> meters in the mother's frame 
+    and the last from <literal>0.2</literal> to <literal>0.3</literal> 
+    meters.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<example id="programlist_Geom.PhysVol_5">
+<title>
+An example of division of a polycone.
+</title>
+<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);
+</programlisting>
+</example>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <literal>divPconePhiW</literal> is a division of a polycone along its
+    <literal>phi</literal> 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 <literal>phi</literal> extension of 30
+    degrees. They are rotated around the <literal>Z</literal> 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.
+  </para></listitem>
+  <listitem><para>
+    <literal>divPconeZN</literal> is a division of the same polycone along
+    its <literal>Z</literal> 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.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+
+</sect3>
+</sect2>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomReflection.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomReflection.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomReflection.xml	(revision 904)
@@ -0,0 +1,170 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--    Changed by: Gabriele Cosmo, 18-Apr-2005               -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Geom.Reflec">
+<title>
+Reflecting Hierarchies of Volumes
+</title>
+
+<para>
+Hierarchies of volumes based on <emphasis>CSG</emphasis> or 
+<emphasis>specific</emphasis> solids can be reflected by means of the
+<literal>G4ReflectionFactory</literal> class and <literal>G4ReflectedSolid</literal>,
+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.
+</para>
+
+<para>
+The factory is a singleton object which provides the following
+methods:
+
+<informalexample>
+<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);
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+The method <literal>Place()</literal> used for placements, evaluates the
+passed transformation. In case the transformation contains a
+reflection, the factory will act as follows:
+
+<orderedlist spacing="compact">
+  <listitem><para>
+    Performs the transformation decomposition.
+  </para></listitem>
+  <listitem><para>
+    Creates a new reflected solid and logical volume, or retrieves
+    them from a map if the reflected object was already created.
+  </para></listitem>
+  <listitem><para>
+    Transforms the daughters (if any) and place them in the given mother.
+  </para></listitem>
+</orderedlist>
+</para>
+
+<para>
+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 <literal>surfCheck</literal> flag.
+</para>
+
+<para>
+The method <literal>Replicate()</literal> 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.
+</para>
+
+<para>
+The method <literal>Divide()</literal> 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.
+</para>
+
+<note>
+<title>
+Notes
+</title>
+<para>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    In order to reflect hierarchies containing divided volumes, it
+    is necessary to explicitely instantiate a concrete <emphasis>division</emphasis>
+    factory -before- applying the actual reflection: (i.e. -
+    <literal>G4PVDivisionFactory::GetInstance();</literal>).
+  </para></listitem>
+  <listitem><para>
+    Reflection of generic parameterised volumes is not possible yet.
+  </para></listitem>
+</itemizedlist>
+</para>
+</note>
+
+<example id="programlist_Geom.Reflec_1">
+<title>
+An example of usage of the 
+<literal>G4ReflectionFactory</literal> class.</title>
+<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
+</programlisting> 
+</example>
+
+</sect2>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomSolids.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomSolids.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomSolids.xml	(revision 904)
@@ -0,0 +1,3323 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--    Changed by: Gabriele Cosmo, 18-Apr-2005               -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Geom.Solids">
+<title>
+Solids
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+All constructed solids can stream out their contents via
+appropriate methods and streaming operators.
+</para>
+
+<para>
+For all solids it is possible to estimate the geometrical volume and the
+surface area by invoking the methods:
+
+<informalexample>
+<programlisting>
+   G4double GetCubicVolume()
+   G4double GetSurfaceArea()
+</programlisting>
+</informalexample>
+
+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.
+</para>
+
+<para>
+For all solids it is also possible to generate pseudo-random
+points lying on their surfaces, by invoking the method
+
+<informalexample>
+<programlisting>
+   G4ThreeVector GetPointOnSurface() const
+</programlisting>
+</informalexample>
+
+which returns the generated point in local coordinates relative to
+the solid.
+</para>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Geom.Solids.CSG">
+<title>
+Constructed Solid Geometry (CSG) Solids
+</title>
+
+<para>
+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.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Box:
+</bridgehead>
+
+<para>  
+To create a <emphasis role="bold">box</emphasis> one can use the constructor:
+
+<informaltable frame="none" pgwide="0">
+<tgroup cols="2" colsep="0">
+<tbody>
+<row>
+  <entry valign="top" align="left">
+    <informalexample>
+    <programlisting>
+   G4Box(const G4String&amp; pName,                         
+               G4double  pX,
+               G4double  pY,
+               G4double  pZ)
+    </programlisting>  
+    </informalexample>
+  </entry>
+  <entry valign="top" align="center">
+    <mediaobject>
+    <imageobject  role="fo">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aBox.jpg"
+                 format="JPG" contentwidth="3.5cm" />
+    </imageobject>
+    <imageobject  role="html">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aBox.jpg"
+                 format="JPG" />
+    </imageobject>
+    </mediaobject>
+
+    <?JavaScript pic1.html ?>
+    <emphasis role="underline">In the picture</emphasis>:
+    <literal>
+    <para>
+    pX = 30, pY = 40, pZ = 60                                                       
+    </para>
+    </literal>
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+
+<para>
+by giving the box a name and its half-lengths along the X, Y and
+Z axis:
+<informaltable pgwide="0">
+<tgroup cols="6">
+<tbody>
+<row>
+  <entry>
+    <literal>pX</literal>
+  </entry>
+  <entry>
+    half length in X
+  </entry>
+  <entry>
+    <literal>pY</literal>
+  </entry>
+  <entry>
+    half length in Y
+  </entry>
+  <entry>
+    <literal>pZ</literal>
+  </entry>
+  <entry>
+    half length in Z
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+   
+<para>
+This will create a box that extends from <literal>-pX</literal> to
+<literal>+pX</literal> in X, from <literal>-pY</literal> to 
+<literal>+pY</literal> in Y, and from
+<literal>-pZ</literal> to <literal>+pZ</literal> in Z.
+</para>
+
+<para>
+For example to create a box that is 2 by 6 by 10 centimeters in
+full length, and called <literal>BoxA</literal> one should use the following
+code:
+<informalexample>
+<programlisting>  
+   G4Box* aBox = new G4Box("BoxA", 1.0*cm, 3.0*cm, 5.0*cm);
+</programlisting>
+</informalexample>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Cylindrical Section or Tube:
+</bridgehead>
+
+<para>  
+Similarly to create a <emphasis role="bold">cylindrical section</emphasis> 
+or <emphasis role="bold">tube</emphasis>, one would use the constructor:
+
+<informaltable frame="none" pgwide="0">
+<tgroup cols="2" colsep="0">
+<tbody>
+<row>
+  <entry valign="top" align="left">
+    <informalexample>
+    <programlisting>  
+   G4Tubs(const G4String&amp; pName,                        
+                G4double  pRMin,
+                G4double  pRMax,
+                G4double  pDz,
+                G4double  pSPhi,
+                G4double  pDPhi)
+    </programlisting>  
+    </informalexample>
+  </entry>
+  <entry valign="top" align="center">
+    <mediaobject>
+    <imageobject role="fo">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aTubs.jpg"
+                 format="JPG" contentwidth="3.5cm" />
+    </imageobject>
+    <imageobject role="html">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aTubs.jpg"
+                 format="JPG" />
+    </imageobject>
+    </mediaobject>
+
+    <?JavaScript pic2.html ?>
+    <emphasis role="underline">In the picture</emphasis>:
+    <literal>
+    <para>
+    pRMin = 10, pRMax = 15, pDz = 20
+    </para>
+    </literal>
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+
+<para>
+giving its name <literal>pName</literal> and its parameters which are:
+<informaltable pgwide="0">
+<tgroup cols="4">
+<tbody>
+<row>
+  <entry>
+    <literal>pRMin</literal>
+  </entry>
+  <entry>
+    Inner radius
+  </entry>
+  <entry>
+    <literal>pRMax</literal>
+  </entry>
+  <entry>
+    Outer radius
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pDz</literal>
+  </entry>
+  <entry>
+    half length in z
+  </entry>
+  <entry>
+    <literal>pSPhi</literal>
+  </entry>
+  <entry>
+    the starting phi angle in radians
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pDPhi</literal>
+  </entry>
+  <entry>
+    the angle of the segment in radians
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Cone or Conical section:
+</bridgehead>
+
+<para>  
+Similarly to create a <emphasis role="bold">cone</emphasis>, or
+<emphasis role="bold">conical section</emphasis>, one would use the constructor
+
+<informaltable frame="none" pgwide="0">
+<tgroup cols="2" colsep="0">
+<tbody>
+<row>
+  <entry valign="top" align="left">
+    <informalexample>
+    <programlisting>  
+   G4Cons(const G4String&amp; pName,                        
+                G4double  pRmin1,
+                G4double  pRmax1,
+                G4double  pRmin2,
+                G4double  pRmax2,
+                G4double  pDz,
+                G4double  pSPhi,
+                G4double  pDPhi)
+    </programlisting>
+    </informalexample>
+  </entry>
+  <entry valign="top" align="center">
+    <mediaobject>
+    <imageobject  role="fo">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aCons.jpg"
+                 format="JPG" contentwidth="3.5cm" />
+    </imageobject>
+    <imageobject  role="html">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aCons.jpg"
+                 format="JPG" />
+    </imageobject>
+    </mediaobject>
+
+    <?JavaScript pic3.html ?>
+    <emphasis role="underline">In the picture</emphasis>:
+    <literal>
+    <para>
+    pRmin1 = 5, pRmax1 = 10,
+    pRmin2 = 20, pRmax2 = 25,
+    pDz = 40, pSPhi = 0, pDPhi = 4/3*Pi
+    </para>
+    </literal>
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+
+<para>
+giving its name <literal>pName</literal>, and its parameters which are:
+<informaltable pgwide="0">
+<tgroup cols="4">
+<tbody>
+<row>
+  <entry>
+    <literal>pRmin1</literal>
+  </entry>
+  <entry>
+    inside radius at <literal>-pDz</literal>
+  </entry>
+  <entry>
+    <literal>pRmax1</literal>
+  </entry>
+  <entry>
+    outside radius at <literal>-pDz</literal>
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pRmin2</literal>
+  </entry>
+  <entry>
+    inside radius at <literal>+pDz</literal>
+  </entry>
+  <entry>
+    <literal>pRmax2</literal>
+  </entry>
+  <entry>
+    outside radius at <literal>+pDz</literal>
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pDz</literal>
+  </entry>
+  <entry>
+    half length in z
+  </entry>
+  <entry>
+    <literal>pSPhi</literal>
+  </entry>
+  <entry>
+    starting angle of the segment in radians
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pDPhi</literal>
+  </entry>
+  <entry>
+    the angle of the segment in radians
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+   
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Parallelepiped:
+</bridgehead>
+
+<para>  
+A <emphasis role="bold">parallelepiped</emphasis> is constructed
+using:
+
+<informaltable frame="none" pgwide="0">
+<tgroup cols="2" colsep="0">
+<tbody>
+<row>
+  <entry valign="top" align="left">
+    <informalexample>
+    <programlisting>  
+   G4Para(const G4String&amp; pName,                                  
+                G4double   dx,
+                G4double   dy,
+                G4double   dz,
+                G4double   alpha,
+                G4double   theta,
+                G4double   phi)
+    </programlisting>  
+    </informalexample>
+  </entry>
+  <entry valign="top" align="center">
+    <mediaobject>
+    <imageobject  role="fo">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aPara.jpg"
+                 format="JPG" contentwidth="3.5cm" />
+    </imageobject>
+    <imageobject  role="html">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aPara.jpg"
+                 format="JPG" />
+    </imageobject>
+    </mediaobject>
+
+    <?JavaScript pic4.html ?>
+    <emphasis role="underline">In the picture</emphasis>:
+    <literal>
+    <para>
+    dx = 30, dy = 40, dz = 60
+    </para>
+    </literal>
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+
+<para>
+giving its name <literal>pName</literal> and its parameters which are:
+<informaltable pgwide="0">
+<tgroup cols="2">
+<tbody>
+<row>
+  <entry>
+    <literal>dx,dy,dz</literal>    
+  </entry>
+  <entry>
+    Half-length in x,y,z
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>alpha</literal>
+  </entry>
+  <entry>
+    Angle formed by the y axis and by the plane joining the centre
+    of the faces <emphasis>parallel</emphasis> to the z-x plane at -dy and +dy
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>theta</literal>
+  </entry>
+  <entry>
+    Polar angle of the line joining the centres of the faces at -dz
+    and +dz in z
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>phi</literal>
+  </entry>
+  <entry>
+    Azimuthal angle of the line joining the centres of the faces at
+    -dz and +dz in z
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Trapezoid:
+</bridgehead>
+
+<para>  
+To construct a <emphasis role="bold">trapezoid</emphasis> use:
+
+<informaltable frame="none" pgwide="0">
+<tgroup cols="2" colsep="0">
+<tbody>
+<row>
+  <entry valign="top" align="left">
+    <informalexample>
+    <programlisting>  
+   G4Trd(const G4String&amp; pName,                            
+               G4double  dx1,
+               G4double  dx2,
+               G4double  dy1,
+               G4double  dy2,
+               G4double  dz)
+    </programlisting>  
+    </informalexample>
+  </entry>
+  <entry valign="top" align="center">
+    <mediaobject>
+    <imageobject  role="fo">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aTrd.jpg"
+                 format="JPG" contentwidth="3.5cm" />
+    </imageobject>
+    <imageobject  role="html">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aTrd.jpg"
+                 format="JPG" />
+    </imageobject>
+    </mediaobject>
+
+    <?JavaScript pic5.html ?>
+    <emphasis role="underline">In the picture</emphasis>:
+    <literal>
+    <para>
+    dx1 = 30, dx2 = 10, 
+    dy1 = 40, dy2 = 15, 
+    dz = 60
+    </para>
+    </literal>
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+
+<para>
+to obtain a solid with name <literal>pName</literal> and parameters
+
+<informaltable pgwide="0">
+<tgroup cols="2">
+<tbody>
+<row>
+  <entry>
+    <literal>dx1</literal>
+  </entry>
+  <entry>
+    Half-length along x at the surface positioned at <literal>-dz</literal>
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>dx2</literal>
+  </entry>
+  <entry>
+    Half-length along x at the surface positioned at <literal>+dz</literal>
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>dy1</literal>
+  </entry>
+  <entry>
+    Half-length along y at the surface positioned at <literal>-dz</literal>
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>dy2</literal>
+  </entry>
+  <entry>
+    Half-length along y at the surface positioned at <literal>+dz</literal>
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>dz</literal>
+  </entry>
+  <entry>
+    Half-length along z axis
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+   
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Generic Trapezoid:
+</bridgehead>
+
+<para>  
+To build a <emphasis role="bold">generic trapezoid</emphasis>,
+the <literal>G4Trap</literal> class is provided. Here are the two costructors
+for a Right Angular Wedge and for the general trapezoid for it:
+
+<informaltable frame="none" pgwide="0">
+<tgroup cols="2" colsep="0">
+<tbody>
+<row>
+  <entry valign="top" align="left">
+    <informalexample>
+    <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)
+    </programlisting>  
+    </informalexample>
+  </entry>
+  <entry valign="top" align="center">
+    <mediaobject>
+    <imageobject  role="fo">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aTrap.jpg"
+                 format="JPG" contentwidth="3.5cm" />
+    </imageobject>
+    <imageobject  role="html">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aTrap.jpg"
+                 format="JPG" />
+    </imageobject>
+    </mediaobject>
+
+    <?JavaScript pic6.html ?>
+    <emphasis role="underline">In the picture</emphasis>:
+    <literal>
+    <para>
+    pDx1 = 30, pDx2 = 40, pDy1 = 40,
+    pDx3 = 10, pDx4 = 14, pDy2 = 16,
+    pDz = 60, pTheta = 20*Degree,
+    pPhi = 5*Degree, pAlp1 = pAlp2 = 10*Degree
+    </para>
+    </literal>
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+
+<para>
+to obtain a Right Angular Wedge with name <literal>pName</literal> and
+parameters:
+<informaltable pgwide="0">
+<tgroup cols="2">
+<tbody>
+<row>
+  <entry>
+    <literal>pZ</literal>
+  </entry>
+  <entry>
+    Length along z
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pY</literal>
+  </entry>
+  <entry>
+    Length along y
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pX</literal>
+  </entry>
+  <entry>
+    Length along x at the wider side
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pLTX</literal>
+  </entry>
+  <entry>
+    Length along x at the narrower side (<literal>plTX&lt;=pX</literal>)
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+
+<para>
+or to obtain the general trapezoid (see the Software Reference
+Manual):
+</para>
+   
+<para>
+<informaltable pgwide="0">
+<tgroup cols="2">
+<tbody>
+<row>
+  <entry>
+   <literal>pDx1</literal> 
+  </entry>
+  <entry>
+    Half x length of the side at y=-pDy1 of the face at -pDz
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pDx2</literal>
+  </entry>
+  <entry>
+    Half x length of the side at y=+pDy1 of the face at -pDz
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pDz</literal>
+  </entry>
+  <entry>
+    Half z length
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pTheta</literal>
+  </entry>
+  <entry>
+    Polar angle of the line joining the centres of the faces at -/+pDz
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pPhi</literal>
+  </entry>
+  <entry>
+    Azimuthal angle of the line joining the centre of the face at -pDz to the centre of the face at +pDz
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pDy1</literal>
+  </entry>
+  <entry>
+    Half y length at -pDz
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pDy2</literal>
+  </entry>
+  <entry>
+    Half y length at +pDz
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pDx3</literal>
+  </entry>
+  <entry>
+    Half x length of the side at y=-pDy2 of the face at +pDz
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pDx4</literal>
+  </entry>
+  <entry>
+    Half x length of the side at y=+pDy2 of the face at +pDz
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pAlp1</literal>
+  </entry>
+  <entry>
+    Angle with respect to the y axis from the centre of the side
+    (lower endcap)
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pAlp2</literal>
+  </entry>
+  <entry>
+    Angle with respect to the y axis from the centre of the side
+    (upper endcap)
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+   
+<para>
+<emphasis role="bold">Note on <literal>pAlph1/2</literal></emphasis>: the
+two angles have to be the
+same due to the planarity condition.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Sphere or Spherical Shell Section:
+</bridgehead>
+
+<para>  
+To build a <emphasis role="bold">sphere</emphasis>, or a
+<emphasis role="bold">spherical shell section</emphasis>, use:
+
+<informaltable frame="none" pgwide="0">
+<tgroup cols="2" colsep="0">
+<tbody>
+<row>
+  <entry valign="top" align="left">
+    <informalexample>
+    <programlisting>  
+   G4Sphere(const G4String&amp; pName,                      
+                  G4double   pRmin,
+                  G4double   pRmax,
+                  G4double   pSPhi,
+                  G4double   pDPhi,
+                  G4double   pSTheta,
+                  G4double   pDTheta )
+    </programlisting>  
+    </informalexample>
+  </entry>
+  <entry valign="top" align="center">
+    <mediaobject>
+    <imageobject  role="fo">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aSphere.jpg"
+                 format="JPG" contentwidth="3.5cm" />
+    </imageobject>
+    <imageobject  role="html">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aSphere.jpg"
+                 format="JPG" />
+    </imageobject>
+    </mediaobject>
+
+    <?JavaScript pic7.html ?>
+    <emphasis role="underline">In the picture</emphasis>:
+    <literal>
+    <para>
+      pRmin = 100, pRmax = 120, 
+      pSPhi = 0*Degree, pDPhi = 180*Degree,
+      pSTheta = 0 Degree, pDTheta = 180*Degree
+    </para>
+    </literal>
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+
+<para>
+to obtain a solid with name <literal>pName</literal> and parameters:
+
+<informaltable pgwide="0">
+<tgroup cols="2">
+<tbody>
+<row>
+  <entry>
+    pRmin
+  </entry>
+  <entry>
+    Inner radius
+  </entry>
+</row>
+<row>
+  <entry>
+    pRmax
+  </entry>
+  <entry>
+    Outer radius
+  </entry>
+</row>
+<row>
+  <entry>
+    pSPhi
+  </entry>
+  <entry>
+    Starting Phi angle of the segment in radians
+  </entry>
+</row>
+<row>
+  <entry>
+    pDPhi
+  </entry>
+  <entry>
+    Delta Phi angle of the segment in radians
+  </entry>
+</row>
+<row>
+  <entry>
+    pSTheta
+  </entry>
+  <entry>
+    Starting Theta angle of the segment in radians
+  </entry>
+</row>
+<row>
+  <entry>
+    pDTheta
+  </entry>
+  <entry>
+    Delta Theta angle of the segment in radians
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+   
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Full Solid Sphere:
+</bridgehead>
+
+<para>  
+To build a <emphasis role="bold">full solid sphere</emphasis>
+use:
+
+<informaltable frame="none" pgwide="0">
+<tgroup cols="2" colsep="0">
+<tbody>
+<row>
+  <entry valign="top" align="left">
+    <informalexample>
+    <programlisting>  
+   G4Orb(const G4String&amp; pName,                                   
+               G4double  pRmax)
+    </programlisting>  
+    </informalexample>
+  </entry>
+  <entry valign="top" align="center">
+    <mediaobject>
+    <imageobject  role="fo">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aOrb.jpg"
+                 format="JPG" contentwidth="3.5cm" />
+    </imageobject>
+    <imageobject  role="html">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aOrb.jpg"
+                 format="JPG" />
+    </imageobject>
+    </mediaobject>
+
+    <?JavaScript pic8.html ?>
+    <emphasis role="underline">In the picture</emphasis>:
+    <literal>
+    <para>
+      pRmax = 100
+    </para>
+    </literal>
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+
+<para>
+The Orb can be obtained from a Sphere with:
+<literal>pRmin</literal> = 0, <literal>pSPhi</literal> = 0, 
+<literal>pDPhi</literal> = 2*Pi,
+<literal>pSTheta</literal> = 0, <literal>pDTheta</literal> = Pi
+
+<informaltable pgwide="0">
+<tgroup cols="2">
+<tbody>
+<row>
+  <entry>
+    pRmax
+  </entry>
+  <entry>
+    Outer radius
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+   
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Torus:
+</bridgehead>
+
+<para>  
+To build a <emphasis role="bold">torus</emphasis> use:
+
+<informaltable frame="none" pgwide="0">
+<tgroup cols="2" colsep="0">
+<tbody>
+<row>
+  <entry valign="top" align="left">
+    <informalexample>
+    <programlisting>  
+   G4Torus(const G4String&amp; pName,                       
+                 G4double   pRmin,
+                 G4double   pRmax,
+                 G4double   pRtor,
+                 G4double   pSPhi,
+                 G4double   pDPhi)
+    </programlisting>  
+    </informalexample>
+  </entry>
+  <entry valign="top" align="center">
+    <mediaobject>
+    <imageobject  role="fo">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aTorus.jpg"
+                 format="JPG" contentwidth="3.5cm" />
+    </imageobject>
+    <imageobject  role="html">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aTorus.jpg"
+                 format="JPG" />
+    </imageobject>
+    </mediaobject>
+
+    <?JavaScript pic9.html ?>
+    <emphasis role="underline">In the picture</emphasis>:
+    <literal>
+    <para>
+      pRmin = 40, pRmax = 60, pRtor = 200,
+      pSPhi = 0, pDPhi = 90*Degree
+    </para>
+    </literal>
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+
+<para>
+to obtain a solid with name <literal>pName</literal> and parameters:
+
+<informaltable pgwide="0">
+<tgroup cols="2">
+<tbody>
+<row>
+  <entry>
+    pRmin
+  </entry>
+  <entry>
+    Inside radius
+  </entry>
+</row>
+<row>
+  <entry>
+    pRmax
+  </entry>
+  <entry>
+    Outside radius
+  </entry>
+</row>
+<row>
+  <entry>
+    pRtor
+  </entry>
+  <entry>
+    Swept radius of torus
+  </entry>
+</row>
+<row>
+  <entry>
+    pSPhi
+  </entry>
+  <entry>
+    Starting Phi angle in radians (<literal>fSPhi+fDPhi&lt;=2PI</literal>,
+    <literal>fSPhi&gt;-2PI</literal>)
+  </entry>
+</row>
+<row>
+  <entry>
+    pDPhi
+  </entry>
+  <entry>
+    Delta angle of the segment in radians
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+   
+<para>
+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.
+</para>
+
+
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect3'>
+Specific CSG Solids
+</bridgehead>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Polycons:
+</bridgehead>
+
+<para>  
+<emphasis role="bold">Polycons</emphasis> (PCON) are implemented in Geant4 through the
+<literal>G4Polycon</literal> class:
+
+<informaltable frame="none" pgwide="0">
+<tgroup cols="2" colsep="0">
+<tbody>
+<row>
+  <entry valign="top" align="left">
+    <informalexample>
+    <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[])
+    </programlisting>  
+    </informalexample>
+  </entry>
+  <entry valign="top" align="center">
+    <mediaobject>
+    <imageobject  role="fo">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aBREPSolidPCone.jpg"
+                 format="JPG" contentwidth="3.5cm" />
+    </imageobject>
+    <imageobject  role="html">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aBREPSolidPCone.jpg"
+                 format="JPG" />
+    </imageobject>
+    </mediaobject>
+
+    <?JavaScript pic10.html ?>
+    <emphasis role="underline">In the picture</emphasis>:
+    <literal>
+    <para>
+      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 }
+    </para>
+    </literal>
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+
+<para>
+where:
+
+<informaltable pgwide="0">
+<tgroup cols="2">
+<tbody>
+<row>
+  <entry>
+    phiStart
+  </entry>
+  <entry>
+    Initial Phi starting angle
+  </entry>
+</row>
+<row>
+  <entry>
+    phiTotal
+  </entry>
+  <entry>
+    Total Phi angle
+  </entry>
+</row>
+<row>
+  <entry>
+    numZPlanes
+  </entry>
+  <entry>
+    Number of z planes
+  </entry>
+</row>
+<row>
+  <entry>
+    numRZ
+  </entry>
+  <entry>
+    Number of corners in r,z space
+  </entry>
+</row>
+<row>
+  <entry>
+    zPlane
+  </entry>
+  <entry>
+    Position of z planes
+  </entry>
+</row>
+<row>
+  <entry>
+    rInner
+  </entry>
+  <entry>
+    Tangent distance to inner surface
+  </entry>
+</row>
+<row>
+  <entry>
+    rOuter
+  </entry>
+  <entry>
+    Tangent distance to outer surface
+  </entry>
+</row>
+<row>
+  <entry>
+    r
+  </entry>
+  <entry>
+    r coordinate of corners
+  </entry>
+</row>
+<row>
+  <entry>
+    z
+  </entry>
+  <entry>
+    z coordinate of corners
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+   
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Polyhedra (PGON):
+</bridgehead>
+
+<para>  
+<emphasis role="bold">Polyhedra</emphasis> (PGON) are implemented through 
+<literal>G4Polyhedra</literal>:
+
+<informaltable frame="none" pgwide="0">
+<tgroup cols="2" colsep="0">
+<tbody>
+<row>
+  <entry valign="top" align="left">
+    <informalexample>
+    <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[] )
+    </programlisting>  
+    </informalexample>
+  </entry>
+  <entry valign="top" align="center">
+    <mediaobject>
+    <imageobject  role="fo">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aBREPSolidPolyhedra.jpg"
+                 format="JPG" contentwidth="3.5cm" />
+    </imageobject>
+    <imageobject  role="html">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aBREPSolidPolyhedra.jpg"
+                 format="JPG" />
+    </imageobject>
+    </mediaobject>
+
+    <?JavaScript pic11.html ?>
+    <emphasis role="underline">In the picture</emphasis>:
+    <literal>
+    <para>
+    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 }
+    </para>
+    </literal>
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+
+<para>
+where:
+<informaltable pgwide="0">
+<tgroup cols="2">
+<tbody>
+<row>
+  <entry>
+    <literal>phiStart</literal>
+  </entry>
+  <entry>
+    Initial Phi starting angle
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>phiTotal</literal>
+  </entry>
+  <entry>
+    Total Phi angle
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>numSide</literal>
+  </entry>
+  <entry>
+    Number of sides
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>numZPlanes</literal>
+  </entry>
+  <entry>
+    Number of z planes
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>numRZ</literal>
+  </entry>
+  <entry>
+    Number of corners in r,z space
+  </entry>
+</row>
+<row>
+  <entry>
+    zPlane
+  </entry>
+  <entry>
+    Position of z planes
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>rInner</literal>
+  </entry>
+  <entry>
+    Tangent distance to inner surface
+  </entry>
+</row>
+<row>
+  <entry>
+    rOuter
+  </entry>
+  <entry>
+    Tangent distance to outer surface
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>r</literal>
+  </entry>
+  <entry>
+    r coordinate of corners
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>z</literal>
+  </entry>
+  <entry>
+    z coordinate of corners
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Tube with an elliptical cross section:
+</bridgehead>
+
+<para>  
+A <emphasis role="bold">tube with an elliptical cross
+section</emphasis> (ELTU) can be defined as follows:
+
+<informaltable frame="none" pgwide="0">
+<tgroup cols="2" colsep="0">
+<tbody>
+<row>
+  <entry valign="top" align="left">
+    <informalexample>
+    <programlisting>  
+   G4EllipticalTube(const G4String&amp; pName,                   
+                          G4double  Dx,
+                          G4double  Dy,
+                          G4double  Dz)
+    </programlisting>  
+    </informalexample>
+
+    The equation of the surface in x/y is <literal>1.0 = (x/dx)**2 +(y/dy)**2</literal>
+  </entry>
+  <entry valign="top" align="center">
+    <mediaobject>
+    <imageobject  role="fo">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aEllipticalTube.jpg"
+                 format="JPG" contentwidth="3.5cm" />
+    </imageobject>
+    <imageobject  role="html">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aEllipticalTube.jpg"
+                 format="JPG" />
+    </imageobject>
+    </mediaobject>
+
+    <?JavaScript pic12.html ?>
+    <emphasis role="underline">In the picture</emphasis>:
+    <literal>
+    <para>
+    Dx = 5, Dy = 10, Dz = 20
+    </para>
+    </literal>
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+
+<para>
+<informaltable pgwide="0">
+<tgroup cols="6">
+<tbody>
+<row>
+  <entry>
+    Dx
+  </entry>
+  <entry>
+    Half length X
+  </entry>
+  <entry>
+    Dy
+  </entry>
+  <entry>
+    Half length Y
+  </entry>
+  <entry>
+    Dz
+  </entry>
+  <entry>
+    Half length Z
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+   
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+General Ellipsoid:
+</bridgehead>
+
+<para>  
+The general <emphasis role="bold">ellipsoid</emphasis> with
+possible cut in <literal>Z</literal> can be defined as follows:
+
+<informaltable frame="none" pgwide="0">
+<tgroup cols="2" colsep="0">
+<tbody>
+<row>
+  <entry valign="top" align="left">
+    <informalexample>
+    <programlisting>  
+   G4Ellipsoid(const G4String&amp; pName,                   
+                     G4double  pxSemiAxis,
+                     G4double  pySemiAxis,
+                     G4double  pzSemiAxis,
+                     G4double  pzBottomCut=0,
+                     G4double  pzTopCut=0)
+    </programlisting>  
+    </informalexample>
+  </entry>
+  <entry valign="top" align="center">
+    <mediaobject>
+    <imageobject  role="fo">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aEllipsoid.jpg"
+                 format="JPG" contentwidth="3.5cm" />
+    </imageobject>
+    <imageobject  role="html">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aEllipsoid.jpg"
+                 format="JPG" />
+    </imageobject>
+    </mediaobject>
+
+    <?JavaScript pic13.html ?>
+    <emphasis role="underline">In the picture</emphasis>:
+    <literal>
+    <para>
+    pxSemiAxis = 10, pySemiAxis = 20, pzSemiAxis = 50, 
+    pzBottomCut = -10, pzTopCut = 40
+    </para>
+    </literal>
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+
+<para>
+A general (or triaxial) ellipsoid is a quadratic surface which is
+given in Cartesian coordinates by:
+
+<informalexample>
+<programlisting>
+   1.0 = (x/pxSemiAxis)**2 + (y/pySemiAxis)**2 + (z/pzSemiAxis)**2
+</programlisting>
+</informalexample>
+
+where:
+
+<informaltable pgwide="0">
+<tgroup cols="2">
+<tbody>
+<row>
+  <entry>
+    <literal>pxSemiAxis</literal>
+  </entry>
+  <entry>
+    Semiaxis in X
+  </entry>
+</row>
+<row>
+  <entry>
+    pySemiAxis
+  </entry>
+  <entry>
+    Semiaxis in Y
+  </entry>
+</row>
+<row>
+  <entry>
+    pzSemiAxis
+  </entry>
+  <entry>
+    Semiaxis in Z
+  </entry>
+</row>
+<row>
+  <entry>
+    pzBottomCut
+  </entry>
+  <entry>
+    lower cut plane level, z
+  </entry>
+</row>
+<row>
+  <entry>
+    pzTopCut
+  </entry>
+  <entry>
+    upper cut plane level, z
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+   
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Cone with Elliptical Cross Section:
+</bridgehead>
+
+<para>  
+A <emphasis role="bold">cone with an elliptical cross section</emphasis> 
+can be defined as follows:
+
+<informaltable frame="none" pgwide="0">
+<tgroup cols="2" colsep="0">
+<tbody>
+<row>
+  <entry valign="top" align="left">
+    <informalexample>
+    <programlisting>  
+   G4EllipticalCone(const G4String&amp; pName,              
+                          G4double  pxSemiAxis,
+                          G4double  pySemiAxis,
+                          G4double  zMax,
+                          G4double  pzTopCut)
+    </programlisting>  
+    </informalexample>
+  </entry>
+  <entry valign="top" align="center">
+    <mediaobject>
+    <imageobject  role="fo">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aEllipticalCone.jpg"
+                 format="JPG" contentwidth="3.5cm" />
+    </imageobject>
+    <imageobject  role="html">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aEllipticalCone.jpg"
+                 format="JPG" />
+    </imageobject>
+    </mediaobject>
+
+    <?JavaScript pic14.html ?>
+    <emphasis role="underline">In the picture</emphasis>:
+    <literal>
+    <para>
+    pxSemiAxis = 30/75, pySemiAxis = 60/75, zMax = 50, pzTopCut = 25
+    </para>
+    </literal>
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+
+<para>
+where:
+
+<informaltable pgwide="0">
+<tgroup cols="2">
+<tbody>
+<row>
+  <entry>
+    pxSemiAxis
+  </entry>
+  <entry>
+    Semiaxis in X
+  </entry>
+</row>
+<row>
+  <entry>
+    pySemiAxis
+  </entry>
+  <entry>
+    Semiaxis in Y
+  </entry>
+</row>
+<row>
+  <entry>
+    zMax
+  </entry>
+  <entry>
+    Height of elliptical cone
+  </entry>
+</row>
+<row>
+  <entry>
+    pzTopCut
+  </entry>
+  <entry>
+    upper cut plane level
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+   
+<para>
+An elliptical cone of height <literal>zMax</literal>, semiaxis
+<literal>pxSemiAxis</literal>, and semiaxis <literal>pySemiAxis</literal> 
+is given by the parametric equations:
+
+<informalexample>
+<programlisting>  
+   x = pxSemiAxis * ( zMax - u ) / u * Cos(v)
+   y = pySemiAxis * ( zMax - u ) / u * Sin(v)
+   z = u
+</programlisting>
+</informalexample>  
+
+Where <literal>v</literal> is between <literal>0</literal> and 
+<literal>2*Pi</literal>, and
+<literal>u</literal> between <literal>0</literal> and 
+<literal>h</literal> respectively.
+</para>
+
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Paraboloid, a solid with parabolic profile:
+</bridgehead>
+
+<para>  
+A <emphasis role="bold">solid with parabolic profile</emphasis> and possible cuts along
+the <literal>Z</literal> axis can be defined as follows:
+
+<informaltable frame="none" pgwide="0">
+<tgroup cols="2" colsep="0">
+<tbody>
+<row>
+  <entry valign="top" align="left">
+    <informalexample>
+    <programlisting>  
+   G4Paraboloid(const G4String&amp; pName,                   
+                     G4double  Dz,
+                     G4double  R1,
+                     G4double  R2)
+    </programlisting>  
+    </informalexample>
+
+    The equation for the solid is:
+<informalexample>
+<programlisting>  
+   rho**2 &lt;= k1 * z + k2;
+       -dz &lt;= z &lt;= dz
+   r1**2 = k1 * (-dz) + k2
+   r2**2 = k1 * ( dz) + k2
+</programlisting>
+</informalexample>  
+
+  </entry>
+  <entry valign="top" align="center">
+    <mediaobject>
+    <imageobject  role="fo">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aParaboloid.jpg"
+                 format="JPG" contentwidth="3.5cm" />
+    </imageobject>
+    <imageobject  role="html">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aParaboloid.jpg"
+                 format="JPG" />
+    </imageobject>
+    </mediaobject>
+
+    <?JavaScript pic21.html ?>
+    <emphasis role="underline">In the picture</emphasis>:
+    <literal>
+    <para>
+    R1 = 20, R2 = 35, Dz = 20
+    </para>
+    </literal>
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+
+<para>
+<informaltable pgwide="0">
+<tgroup cols="6">
+<tbody>
+<row>
+  <entry>
+    Dz
+  </entry>
+  <entry>
+    Half length Z
+  </entry>
+  <entry>
+    R1
+  </entry>
+  <entry>
+    Radius at -Dz
+  </entry>
+  <entry>
+    R2
+  </entry>
+  <entry>
+    Radius at +Dz greater than R1
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+   
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Tube with Hyperbolic Profile:
+</bridgehead>
+
+<para>  
+A <emphasis role="bold">tube with a hyperbolic
+profile</emphasis> (HYPE) can be defined as follows:
+
+<informaltable frame="none" pgwide="0">
+<tgroup cols="2" colsep="0">
+<tbody>
+<row>
+  <entry valign="top" align="left">
+    <informalexample>
+    <programlisting>  
+   G4Hype(const G4String&amp; pName,                        
+                G4double  innerRadius,
+                G4double  outerRadius,
+                G4double  innerStereo,
+                G4double  outerStereo,
+                G4double  halfLenZ)
+    </programlisting>  
+    </informalexample>
+  </entry>
+  <entry valign="top" align="center">
+    <mediaobject>
+    <imageobject  role="fo">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aHyperboloid.jpg"
+                 format="JPG" contentwidth="3.5cm" />
+    </imageobject>
+    <imageobject  role="html">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aHyperboloid.jpg"
+                 format="JPG" />
+    </imageobject>
+    </mediaobject>
+
+    <?JavaScript pic15.html ?>
+    <emphasis role="underline">In the picture</emphasis>:
+    <literal>
+    <para>
+    innerStereo = 0.7, outerStereo = 0.7,
+    halfLenZ = 50,
+    innerRadius = 20, outerRadius = 30
+    </para>
+    </literal>
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+
+<para>
+<literal>G4Hype</literal> is shaped with curved sides parallel to the
+<literal>z</literal>-axis, has a specified half-length along the <literal>z</literal>
+axis about which it is centred, and a given minimum and maximum
+radius.
+</para>
+
+<para>
+A minimum radius of <literal>0</literal> defines a filled Hype (with
+hyperbolic inner surface), i.e. inner radius = 0 AND inner stereo
+angle = 0.
+</para>
+
+<para>
+The inner and outer hyperbolic surfaces can have different stereo
+angles. A stereo angle of <literal>0</literal> gives a cylindrical
+surface:
+
+<informaltable pgwide="0">
+<tgroup cols="2">
+<tbody>
+<row>
+  <entry>
+    <literal>innerRadius</literal>
+  </entry>
+  <entry>
+    Inner radius
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>outerRadius</literal>
+  </entry>
+  <entry>
+    Outer radius
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>innerStereo</literal>
+  </entry>
+  <entry>
+    Inner stereo angle in radians
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>outerStereo</literal>
+  </entry>
+  <entry>
+    Outer stereo angle in radians
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>halfLenZ</literal>
+  </entry>
+  <entry>
+    Half length in Z
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+   
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Tetrahedra:
+</bridgehead>
+
+<para>  
+A <emphasis role="bold">tetrahedra</emphasis> solid can be
+defined as follows:
+
+<informaltable frame="none" pgwide="0">
+<tgroup cols="2" colsep="0">
+<tbody>
+<row>
+  <entry valign="top" align="left">
+    <informalexample>
+    <programlisting>  
+   G4Tet(const G4String&amp; pName,                         
+               G4ThreeVector  anchor,
+               G4ThreeVector  p2,
+               G4ThreeVector  p3,
+               G4ThreeVector  p4,
+               G4bool         *degeneracyFlag=0)
+    </programlisting>  
+    </informalexample>
+  </entry>
+  <entry valign="top" align="center">
+    <mediaobject>
+    <imageobject  role="fo">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aTet.jpg"
+                 format="JPG" contentwidth="3.5cm" />
+    </imageobject>
+    <imageobject  role="html">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aTet.jpg"
+                 format="JPG" />
+    </imageobject>
+    </mediaobject>
+
+    <?JavaScript pic16.html ?>
+    <emphasis role="underline">In the picture</emphasis>:
+    <literal>
+    <para>
+    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) }
+    </para>
+    </literal>
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+
+<para>
+The solid is defined by 4 points in space:
+
+<informaltable pgwide="0">
+<tgroup cols="2">
+<tbody>
+<row>
+  <entry>
+    <literal>anchor</literal>
+  </entry>
+  <entry>
+    Anchor point
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>p2</literal>
+  </entry>
+  <entry>
+    Point 2
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>p3</literal>
+  </entry>
+  <entry>
+    Point 3
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>p4</literal>
+  </entry>
+  <entry>
+    Point 4
+  </entry>
+</row>
+<row>
+  <entry>
+    degeneracyFlag
+  </entry>
+  <entry>
+    Flag indicating degeneracy of points
+  </entry>
+</row>
+<row>
+  <entry>
+    
+  </entry>
+  <entry>
+    
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Extruded Polygon:
+</bridgehead>
+
+<para>
+The extrusion of an arbitrary polygon
+(<emphasis role="bold">extruded solid</emphasis>) with fixed outline
+in the defined <literal>Z</literal> sections can be defined as follows
+(in a general way, or as special construct with two <literal>Z</literal>
+sections):
+
+<informaltable frame="none" pgwide="0">
+<tgroup cols="2" colsep="0">
+<tbody>
+<row>
+  <entry valign="top" align="left">
+    <informalexample>
+    <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)
+    </programlisting>  
+    </informalexample>
+  </entry>
+  <entry valign="top" align="center">
+    <mediaobject>
+    <imageobject  role="fo">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aExtrudedSolid.jpg"
+                 format="JPG" contentwidth="3.5cm" />
+    </imageobject>
+    <imageobject  role="html">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aExtrudedSolid.jpg"
+                 format="JPG" />
+    </imageobject>
+    </mediaobject>
+
+    <?JavaScript pic22.html ?>
+    <emphasis role="underline">In the picture</emphasis>:
+    <literal>
+    <para>
+    poligon = {-30,-30},{-30,30},{30,30},{30,-30},
+              {15,-30},{15,15},{-15,15},{-15,-30}</para>
+    <para>
+    zsections = [-60,{0,30},0.8], [-15, {0,-30},1.],
+                [10,{0,0},0.6], [60,{0,30},1.2]</para>
+    </literal>
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+
+<para>
+The z-sides of the solid are the scaled versions of the same polygon.
+
+<informaltable pgwide="0">
+<tgroup cols="2">
+<tbody>
+<row>
+  <entry>
+    <literal>polygon</literal>
+  </entry>
+  <entry>
+    the vertices of the outlined polygon defined in clock-wise order
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>zsections</literal>
+  </entry>
+  <entry>
+     the z-sections defined by z position in increasing order
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>hz</literal>
+  </entry>
+  <entry>
+    Half length in Z
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>off1, off2</literal>
+  </entry>
+  <entry>
+    Offset of the side in -hz and +hz respectively
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>scale1, scale2</literal>
+  </entry>
+  <entry>
+    Scale of the side in -hz and +hz respectively
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Box Twisted:
+</bridgehead>
+
+<para>  
+A <emphasis role="bold">box twisted</emphasis> along one axis
+can be defined as follows:
+
+<informaltable frame="none" pgwide="0">
+<tgroup cols="2" colsep="0">
+<tbody>
+<row>
+  <entry valign="top" align="left">
+    <informalexample>
+    <programlisting>  
+   G4TwistedBox(const G4String&amp; pName,                  
+                      G4double  twistedangle,
+                      G4double  pDx,
+                      G4double  pDy,
+                      G4double  pDz)
+    </programlisting>  
+    </informalexample>
+  </entry>
+  <entry valign="top" align="center">
+    <mediaobject>
+    <imageobject  role="fo">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aTwistedBox.jpg"
+                 format="JPG" contentwidth="3.5cm" />
+    </imageobject>
+    <imageobject  role="html">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aTwistedBox.jpg"
+                 format="JPG" />
+    </imageobject>
+    </mediaobject>
+
+    <?JavaScript pic17.html ?>
+    <emphasis role="underline">In the picture</emphasis>:
+    <literal>
+    <para>
+    twistedangle = 30*Degree, pDx = 30, pDy =40, pDz = 60
+    </para>
+    </literal>
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+
+<para>
+<literal>G4TwistedBox</literal> is a box twisted along the z-axis. The
+twist angle cannot be greater than 90 degrees:
+
+<informaltable pgwide="0">
+<tgroup cols="2">
+<tbody>
+<row>
+  <entry>
+    <literal>twistedangle</literal>
+  </entry>
+  <entry>
+    Twist angle
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pDx</literal>
+  </entry>
+  <entry>
+    Half x length
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pDy</literal>
+  </entry>
+  <entry>
+    Half y length
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pDz</literal>
+  </entry>
+  <entry>
+    Half z length
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+   
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Trapezoid Twisted along One Axis:
+</bridgehead>
+
+<para>  
+<emphasis>trapezoid twisted</emphasis> along one axis can be defined as
+follows:
+
+<informaltable frame="none" pgwide="0">
+<tgroup cols="2" colsep="0">
+<tbody>
+<row>
+  <entry valign="top" align="left">
+    <informalexample>
+    <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)
+    </programlisting>  
+    </informalexample>
+  </entry>
+  <entry valign="top" align="center">
+    <mediaobject>
+    <imageobject  role="fo">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aTwistedTrap.jpg"
+                 format="JPG" contentwidth="3.5cm" />
+    </imageobject>
+    <imageobject  role="html">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aTwistedTrap.jpg"
+                 format="JPG" />
+    </imageobject>
+    </mediaobject>
+
+    <?JavaScript pic18.html ?>
+    <emphasis role="underline">In the picture</emphasis>:
+    <literal>
+    <para>
+    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
+    </para>
+    </literal>
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+
+<para>
+The first constructor of <literal>G4TwistedTrap</literal> produces a
+regular trapezoid twisted along the <literal>z</literal>-axis, where the caps
+of the trapezoid are of the same shape and size.
+</para>
+
+<para>
+The second constructor produces a generic trapezoid with polar,
+azimuthal and tilt angles.
+</para>
+
+<para>
+The twist angle cannot be greater than 90 degrees:
+
+<informaltable pgwide="0">
+<tgroup cols="2">
+<tbody>
+<row>
+  <entry>
+    <literal>twistedangle</literal>
+  </entry>
+  <entry>
+    Twisted angle
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pDx1</literal>
+  </entry>
+  <entry>
+    Half x length at y=-pDy
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pDx2</literal>
+  </entry>
+  <entry>
+    Half x length at y=+pDy
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pDy</literal>
+  </entry>
+  <entry>
+    Half y length
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pDz</literal>
+  </entry>
+  <entry>
+    Half z length
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pTheta</literal>
+  </entry>
+  <entry>
+    Polar angle of the line joining the centres of the faces at -/+pDz
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pDy1</literal>
+  </entry>
+  <entry>
+    Half y length at -pDz
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pDx1</literal>
+  </entry>
+  <entry>
+    Half x length at -pDz, y=-pDy1
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pDx2</literal>
+  </entry>
+  <entry>
+    Half x length at -pDz, y=+pDy1
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pDy2</literal>
+  </entry>
+  <entry>
+    Half y length at +pDz
+
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pDx3</literal>
+  </entry>
+  <entry>
+    Half x length at +pDz, y=-pDy2
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pDx4</literal>
+  </entry>
+  <entry>
+    Half x length at +pDz, y=+pDy2
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pAlph</literal>
+  </entry>
+  <entry>
+    Angle with respect to the y axis from the centre of the side
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Twisted Trapezoid with <literal>x</literal> and <literal>y</literal> dimensions 
+varying along <literal>z</literal>:
+</bridgehead>
+
+<para>  
+A <emphasis role="bold">twisted trapezoid</emphasis> with the
+<literal>x</literal> and <literal>y</literal> dimensions 
+<emphasis role="bold">varying along <literal>z</literal></emphasis> can be
+defined as follows:
+
+<informaltable frame="none" pgwide="0">
+<tgroup cols="2" colsep="0">
+<tbody>
+<row>
+  <entry valign="top" align="left">
+    <informalexample>
+    <programlisting>  
+   G4TwistedTrd(const G4String&amp; pName,                  
+                      G4double  pDx1,
+                      G4double  pDx2,
+                      G4double  pDy1,
+                      G4double  pDy2,
+                      G4double  pDz,
+                      G4double  twistedangle)
+    </programlisting>  
+    </informalexample>
+  </entry>
+  <entry valign="top" align="center">
+    <mediaobject>
+    <imageobject  role="fo">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aTwistedTrd.jpg"
+                 format="JPG" contentwidth="3.5cm" />
+    </imageobject>
+    <imageobject  role="html">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aTwistedTrd.jpg"
+                 format="JPG" />
+    </imageobject>
+    </mediaobject>
+
+    <?JavaScript pic19.html ?>
+    <emphasis role="underline">In the picture</emphasis>:
+    <literal>
+    <para>
+    dx1 = 30, dx2 = 10,
+    dy1 = 40, dy2 = 15,
+    dz = 60, twistedangle = 30*Degree
+    </para>
+    </literal>
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+
+<para>
+where:
+<informaltable pgwide="0">
+<tgroup cols="2">
+<tbody>
+<row>
+  <entry>
+    <literal>pDx1</literal>
+  </entry>
+  <entry>
+    Half x length at the surface positioned at -dz
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pDx2</literal>
+  </entry>
+  <entry>
+    Half x length at the surface positioned at +dz
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pDy1</literal>
+  </entry>
+  <entry>
+    Half y length at the surface positioned at -dz
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pDy2</literal>
+  </entry>
+  <entry>
+    Half y length at the surface positioned at +dz
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>pDz</literal>
+  </entry>
+  <entry>
+    Half z length
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>twistedangle</literal>
+  </entry>
+  <entry>
+    Twisted angle
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+   
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Tube Section Twisted along Its Axis:
+</bridgehead>
+
+<para>  
+A <emphasis role="bold">tube section twisted</emphasis> along
+its axis can be defined as follows:
+
+<informaltable frame="none" pgwide="0">
+<tgroup cols="2" colsep="0">
+<tbody>
+<row>
+  <entry valign="top" align="left">
+    <informalexample>
+    <programlisting>  
+   G4TwistedTubs(const G4String&amp; pName,                 
+                       G4double  twistedangle,
+                       G4double  endinnerrad,
+                       G4double  endouterrad,
+                       G4double  halfzlen,
+                       G4double  dphi)
+    </programlisting>  
+    </informalexample>
+  </entry>
+  <entry valign="top" align="center">
+    <mediaobject>
+    <imageobject  role="fo">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aTwistedTubs.jpg"
+                 format="JPG" contentwidth="3.5cm" />
+    </imageobject>
+    <imageobject  role="html">
+      <imagedata fileref="./AllResources/Detector/geometry.src/aTwistedTubs.jpg"
+                 format="JPG" />
+    </imageobject>
+    </mediaobject>
+
+    <?JavaScript pic20.html ?>
+    <emphasis role="underline">In the picture</emphasis>:
+    <literal>
+    <para>
+    endinnerrad = 10, endouterrad = 15,
+    halfzlen = 20, dphi = 90*Degree,
+    twistedangle = 60*Degree
+    </para>
+    </literal>
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+
+<para>
+<literal>G4TwistedTubs</literal> is a sort of twisted cylinder which,
+placed along the <literal>z</literal>-axis and divided into
+<literal>phi</literal>-segments is shaped like an hyperboloid, where each of
+its segmented pieces can be tilted with a stereo angle.
+</para>
+
+<para>
+It can have inner and outer surfaces with the same stereo angle:
+<informaltable pgwide="0">
+<tgroup cols="2">
+<tbody>
+<row>
+  <entry>
+    <literal>twistedangle</literal>
+  </entry>
+  <entry>
+    Twisted angle
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>endinnerrad</literal>
+  </entry>
+  <entry>
+    Inner radius at endcap
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>endouterrad</literal>
+  </entry>
+  <entry>
+    Outer radius at endcap
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>halfzlen</literal>
+  </entry>
+  <entry>
+    Half z length
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>dphi</literal>
+  </entry>
+  <entry>
+    Phi angle of a segment
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+   
+<para>
+Additional constructors are provided, allowing the shape to be
+specified either as:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    the number of segments in <literal>phi</literal> and the total angle for
+    all segments, or
+  </para></listitem>
+  <listitem><para>
+    a combination of the above constructors providing instead the
+    inner and outer radii at <literal>z=0</literal> with different
+    <literal>z</literal>-lengths along negative and positive
+    <literal>z</literal>-axis.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect3>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Geom.Solids.BoolOp">
+<title>
+Solids made by Boolean operations
+</title>
+
+<para>
+Simple solids can be combined using Boolean operations. For
+example, a cylinder and a half-sphere can be combined with the
+union Boolean operation.
+</para>
+
+<para>
+Creating such a new <emphasis>Boolean</emphasis> solid, requires:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Two solids
+  </para></listitem>
+  <listitem><para>
+    A Boolean operation: union, intersection or subtraction.
+  </para></listitem>
+  <listitem><para>
+    Optionally a transformation for the second solid.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+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.
+</para>
+
+<note><title></title>
+<para>
+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.
+</para>
+</note>
+
+<note><title></title>
+<para>
+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.
+</para>
+</note>
+
+<para>
+Examples of the creation of the simplest Boolean solids are
+given below:
+
+<informalexample>
+<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);
+ </programlisting>
+</informalexample>
+
+where the union, intersection and subtraction of a box and cylinder
+are constructed.
+</para>
+
+<para>
+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:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    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
+    <emphasis>passive</emphasis> method.
+  </para></listitem>
+  <listitem><para>
+    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 
+    <emphasis>active</emphasis> method.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+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.
+
+<informalexample>
+<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);
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Note that the first constructor that takes a pointer to the
+rotation-matrix (<literal>G4RotationMatrix*</literal>), does NOT copy it.
+Therefore once used a rotation-matrix to construct a Boolean solid,
+it must NOT be modified.
+</para>
+
+<para>
+In contrast, with the alternative method shown, a
+<literal>G4Transform3D</literal> is provided to the constructor by value, and
+its transformation is stored by the Boolean solid. The user may
+modify the <literal>G4Transform3D</literal> and eventually use it again.
+</para>
+
+<para>
+When positioning a volume associated to a Boolean solid, the
+relative center of coordinates considered for the positioning is
+the one related to the <emphasis>first</emphasis> of the two constituent
+solids.
+</para>
+
+</sect3>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Geom.Solids.BREPS">
+<title>
+Boundary Represented (BREPS) Solids
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+
+<note><title></title>
+<para>
+Currently, the implementation for surfaces
+generated by Beziers, B-Splines or NURBS is only at the level of
+prototype and not fully functional.
+</para>
+
+<para>
+Extensions in this area are foreseen in future.
+</para>
+</note>
+
+<para>
+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.
+</para>
+
+<para>
+Most BREPS Solids are however defined by creating each surface
+separately and tying them together.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Specific BREP Solids:
+</bridgehead>
+
+<para>
+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.
+</para>
+
+<para>
+The polyconical solid <literal>G4BREPSolidPCone</literal> 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.
+</para>
+
+<informalexample>
+<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[]  )
+</programlisting>
+</informalexample>  
+
+<para>
+The conical sections do not need to fill 360 degrees, but can have
+a common start and opening angle.
+</para>
+
+<informaltable pgwide="0">
+<tgroup cols="2">
+<tbody>
+<row>
+  <entry>
+    <literal>start_angle</literal>
+  </entry>
+  <entry>
+    starting angle
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>opening_angle</literal>
+  </entry>
+  <entry>
+    opening angle
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>num_z_planes</literal>
+  </entry>
+  <entry>
+    number of planes perpendicular to the z-axis used.
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>z_start</literal>
+  </entry>
+  <entry>
+    starting value of z
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>z_values</literal>
+  </entry>
+  <entry>
+    z coordinates of each plane
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>RMIN</literal>
+  </entry>
+  <entry>
+    radius of inner cone at each plane
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>RMAX</literal>
+  </entry>
+  <entry>
+    radius of outer cone at each plane
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+   
+<para>
+The polygonal solid <literal>G4BREPSolidPolyhedra</literal> 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 (<literal>sides</literal>) and are defined at the same Z
+planes for both inner and outer polygonal surfaces.
+</para>
+
+<para>
+The polygons do not need to fill 360 degrees, but have a start
+and opening angle.
+</para>
+
+<para>
+The constructor takes the following parameters:
+
+<informalexample>
+<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[]  )
+</programlisting>
+</informalexample>  
+
+which in addition to its name have the following meaning:
+
+<informaltable pgwide="0">
+<tgroup cols="2">
+<tbody>
+<row>
+  <entry>
+    <literal>start_angle</literal>
+  </entry>
+  <entry>
+    starting angle
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>opening_angle</literal>
+  </entry>
+  <entry>
+    opening angle
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>sides</literal>
+  </entry>
+  <entry>
+    number of sides of each polygon in the x-y plane
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>num_z_planes</literal>
+  </entry>
+  <entry>
+    number of planes perpendicular to the z-axis used.
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>z_start</literal>
+  </entry>
+  <entry>
+    starting value of z
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>z_values</literal>
+  </entry>
+  <entry>
+    z coordinates of each plane
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>RMIN</literal>
+  </entry>
+  <entry>
+    radius of inner polygon at each corner
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>RMAX</literal>
+  </entry>
+  <entry>
+    radius of outer polygon at each corner
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+   
+the shape is defined by the number of sides <literal>sides</literal> of
+the polygon in the plane perpendicular to the z-axis.
+</para>
+
+</sect3>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Geom.Solids.Tessel">
+<title>
+Tessellated Solids
+</title>
+
+<para>
+In Geant4 it is also implemented a class
+<literal>G4TessellatedSolid</literal> which can be used to generate a generic
+solid defined by a number of facets (<literal>G4VFacet</literal>). 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 <xref linkend="fig.Geom.Solid_1" />).
+
+<figure id="fig.Geom.Solid_1">
+<title>
+  Example of geometries imported from CAD system and converted to
+  tessellated solids.
+</title>
+
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="./AllResources/Detector/geometry.src/cad-tess-combined.jpg" 
+               format="JPG" width="12.0cm" align="center" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/Detector/geometry.src/cad-tess-combined.jpg" 
+               format="JPG" align="center" />
+  </imageobject>
+</mediaobject>
+</figure>
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+Two types of facet can be used for the construction of a
+<literal>G4TessellatedSolid</literal>: a triangular facet
+(<literal>G4TriangularFacet</literal>) and a quadrangular facet
+(<literal>G4QuadrangularFacet</literal>).
+</para>
+
+<para>
+An example on how to generate a simple tessellated shape is
+given below.
+
+<example id="programlist_Geom_1">
+<title>
+An example of a simple tessellated solid with
+<literal>G4TessellatedSolid</literal>.
+</title>
+
+<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);
+</programlisting>
+</example>
+</para>
+
+<para>
+The <literal>G4TriangularFacet</literal> class is used for the contruction
+of <literal>G4TessellatedSolid</literal>. It is defined by three vertices,
+which shall be supplied in <emphasis>anti-clockwise order</emphasis> looking from
+the outside of the solid where it belongs. Its constructor looks
+like:
+
+<informalexample>
+<programlisting>
+        G4TriangularFacet ( const G4ThreeVector     Pt0,
+                            const G4ThreeVector     vt1,
+                            const G4ThreeVector     vt2,
+                                  G4FacetVertexType fType )
+</programlisting>
+</informalexample> 
+
+i.e., it takes 4 parameters to define the three vertices:
+
+<informaltable pgwide="0">
+<tgroup cols="2">
+<tbody>
+<row>
+  <entry>
+    <literal>G4FacetVertexType</literal>
+  </entry>
+  <entry>
+    <literal>ABSOLUTE</literal> in which case <literal>Pt0</literal>, 
+    <literal>vt1</literal> and <literal>vt2</literal> 
+    are the three vertices in anti-clockwise order looking from the outside.
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>G4FacetVertexType</literal>
+  </entry>
+  <entry>
+    <literal>RELATIVE</literal> in which case the first vertex is
+    <literal>Pt0</literal>, the second vertex is <literal>Pt0+vt1</literal> and 
+    the third vertex is <literal>Pt0+vt2</literal>, all in anti-clockwise order 
+    when looking from the outside.
+</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+
+<para>
+The <literal>G4QuadrangularFacet</literal> class can be used for the
+contruction of <literal>G4TessellatedSolid</literal> as well. It is defined
+by four vertices, which shall be in the same plane and be supplied
+in <emphasis>anti-clockwise order</emphasis> looking from the outside of the
+solid where it belongs. Its constructor looks like:
+
+<informalexample>
+<programlisting>
+        G4QuadrangularFacet ( const G4ThreeVector     Pt0,
+                              const G4ThreeVector     vt1,
+                              const G4ThreeVector     vt2,
+                              const G4ThreeVector     vt3,
+                                    G4FacetVertexType fType )
+</programlisting>
+</informalexample>
+
+i.e., it takes 5 parameters to define the four vertices:
+
+<informaltable pgwide="0">
+<tgroup cols="2">
+<tbody>
+<row>
+  <entry>
+    <literal>G4FacetVertexType</literal>
+  </entry>
+  <entry>
+    <literal>ABSOLUTE</literal> in which case <literal>Pt0</literal>, 
+    <literal>vt1</literal>, <literal>vt2</literal> and <literal>vt3</literal> 
+    are the four vertices required in anti-clockwise order when looking 
+    from the outside.
+  </entry>
+</row>
+<row>
+  <entry>
+    <literal>G4FacetVertexType</literal>
+  </entry>
+  <entry>
+    <literal>RELATIVE</literal> in which case the first vertex is
+    <literal>Pt0</literal>, the second vertex is <literal>Pt0+vt</literal>, 
+    the third vertex is <literal>Pt0+vt2</literal> and the fourth vertex is
+    <literal>Pt0+vt3</literal>, in anti-clockwise order when looking from the
+    outside.
+  </entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Importing CAD models as tessellated shapes
+</bridgehead>
+
+<para>
+Tessellated solids can also be used to import geometrical models from CAD
+systems (see <xref linkend="fig.Geom.Solid_1" />). 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
+<ulink url="http://www.steptools.com/products/stviewer/">STViewer</ulink> or
+<ulink url="http://www.trad.fr/en/">FASTRAD</ulink> 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 <ulink url="http://cern.ch/gdml/">GDML (Geometry Description
+Markup Language)</ulink> into Geant4 and be represented as
+<literal>G4TessellatedSolid</literal> shapes.
+</para>
+
+</sect3>
+</sect2>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomTouch.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomTouch.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomTouch.xml	(revision 904)
@@ -0,0 +1,211 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--    Changed by: Gabriele Cosmo, 18-Apr-2005               -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Geom.Touch">
+<title>
+Touchables: Uniquely Identifying a Volume
+</title>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Geom.Touch.Intro">
+<title>
+Introduction to Touchables
+</title>
+
+<para>
+A <emphasis>touchable</emphasis> 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 <emphasis>touchable volume</emphasis>, 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.
+</para>
+
+<para>
+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.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Geom.Touch.WhatCan">
+<title>
+What can a Touchable do?
+</title>
+
+<para>
+All <literal>G4VTouchable</literal> implementations must respond to the
+two following "requests", where in all cases, by <literal>depth</literal> it
+is meant the number of levels <emphasis>up</emphasis> in the tree to be
+considered (the default and current one is <literal>0</literal>):
+
+<orderedlist spacing="compact">
+  <listitem><para>
+    <literal>GetTranslation(depth)</literal>
+  </para></listitem>
+  <listitem><para>
+    <literal>GetRotation(depth)</literal>
+  </para></listitem>
+</orderedlist>
+
+that return the components of the volume's transformation.
+</para>
+
+<para>
+Additional capabilities are available from implementations with
+more information. These have a default implementation that causes
+an exception.
+</para>
+
+<para>
+Several capabilities are available from touchables with physical
+volumes:
+
+<orderedlist continuation="continues" >
+  <listitem><para>
+    <literal>GetSolid(depth)</literal> gives the solid associated to the
+    touchable.
+  </para></listitem>
+  <listitem><para>
+    <literal>GetVolume(depth)</literal> gives the physical volume.
+  </para></listitem>
+  <listitem><para>
+    <literal>GetReplicaNumber(depth)</literal> or
+    <literal>GetCopyNumber(depth)</literal> which return the copy number of the
+    physical volume (replicated or not).
+  </para></listitem>
+</orderedlist>
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+The top of the history tree is, by convention, the world
+volume.
+
+<orderedlist continuation="continues" >
+  <listitem><para>
+    <literal>GetHistoryDepth()</literal> gives the depth of the history
+    tree.
+  </para></listitem>
+  <listitem><para>
+    <para>
+    <literal>MoveUpHistory(num)</literal> moves the current pointer inside
+    the touchable to point <literal>num</literal> levels up the history tree.
+    Thus, e.g., calling it with <literal>num=1</literal> will cause the internal
+    pointer to move to the mother of the current volume.
+    </para>
+    <para>
+    WARNING: this function changes the state of the touchable and can
+    cause errors in tracking if applied to Pre/Post step
+    touchables.
+    </para>
+  </para></listitem>
+</orderedlist>
+</para>
+
+<para>
+These methods are valid only for the <emphasis>touchable-history</emphasis> type,
+as specified also below.
+</para>
+
+<para>
+An update method, with different arguments is available, so that
+the information in a touchable can be updated:
+
+<orderedlist continuation="continues" >
+  <listitem><para>
+    <literal>UpdateYourself(vol, history)</literal> takes a physical volume
+    pointer and can additionally take a <literal>NavigationHistory</literal>
+    pointer.
+  </para></listitem>
+</orderedlist>
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Geom.Touch.History">
+<title>
+Touchable history holds stack of geometry data
+</title>
+
+<para>
+As shown in Sections 
+<xref linkend="sect.Geom.LogVol" /> and <xref linkend="sect.Geom.PhysVol" />, 
+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
+<literal>G4TouchableHistory</literal>. 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 <literal>G4VUserSteppingAction</literal>.
+</para>
+
+<para>
+To create/access a <literal>G4TouchableHistory</literal> the user must
+message <literal>G4Navigator</literal> which provides the method
+<literal>CreateTouchableHistoryHandle()</literal>:
+
+<informalexample>
+<programlisting>
+  G4TouchableHistoryHandle CreateTouchableHistoryHandle() const;
+</programlisting>
+</informalexample>
+
+this will return a handle to the touchable.
+</para>
+
+<para>
+The methods that differentiate the touchable-history from other
+touchables (since they have meaning only for this type...),
+are:
+
+<informalexample>
+<programlisting>
+  G4int GetHistoryDepth()  const;
+  G4int MoveUpHistory( G4int num_levels = 1 );
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+As mentioned above, <literal>MoveUpHistory(num)</literal> significantly
+modifies the state of a touchable.
+</para>
+
+
+</sect3>
+</sect2>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomXML.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomXML.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geomXML.xml	(revision 904)
@@ -0,0 +1,38 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--    Changed by: Gabriele Cosmo, 04-Dec-2007               -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Geom.GDML">
+<title>
+Importing XML Models Using GDML
+</title>
+
+<para>
+Geometry Description Markup Language (<ulink url="http://cern.ch/gdml/">GDML</ulink>)
+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
+<emphasis>human-readable</emphasis> XML-based description and structured
+formatting.
+</para>
+<para>
+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
+<ulink url="http://cern.ch/gdml/doc/GDMLmanual.pdf">GDML documentation</ulink>.
+The installation of the plugin is optional and requires the installation of the
+<ulink url="http://xerces.apache.org/xerces-c/">XercesC</ulink> DOM parser.
+</para>
+<para>
+Examples of how to import and export a detector description model based on
+<ulink url="http://cern.ch/gdml/"><emphasis role="bold">GDML</emphasis></ulink>,
+and also how to extend the GDML schema, are provided and can be found in
+<literal>examples/extended/persistency/gdml</literal>. 
+</para>
+
+</sect2>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geometry.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geometry.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/geometry.xml	(revision 904)
@@ -0,0 +1,36 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  This is the top file for the top section. It includes   -->
+<!--  sub-section files under the top section.                -->
+<!--                                                          -->
+<!--  [Note]                                                  -->
+<!--    Created by Katsuya Amako, Aug-2006                    -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************** Top of Section ******************** -->
+<sect1 id="sect.Geom">
+<title>
+Geometry
+</title>
+
+<!-- *************** Inclusion of Sections ****************** -->
+&geomIntro;
+&geomSolids;
+&geomLogical;
+&geomPhysical;
+&geomTouch;
+&geomAssembly;
+&geomReflection;
+&geomNav;
+&geomEditor;
+&geomG3toG4;
+&geomOverlap;
+&geomDynamic;
+&geomXML;
+&geomASCII;
+&geomPersistency;
+
+</sect1>
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/hit.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/hit.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/hit.xml	(revision 904)
@@ -0,0 +1,1245 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--    Changed by: Katsuya Amako, 21-Sep-1998                -->
+<!--    Proof read by: Joe Chuma,  30-Jun-1999                -->
+<!--    Changed by: Dennis Wright, 29-Nov-2001                -->
+<!--    Changed by: Makoto Asai,   30-Nov-2005                -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.Hits">
+<title>
+Hits
+</title>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Hits.Hit">
+<title>
+Hit
+</title>
+
+<para>
+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 <emphasis>G4Step</emphasis> object. This information can be
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    the position and time of the step,
+  </para></listitem>
+  <listitem><para>
+    the momentum and energy of the track,
+  </para></listitem>
+  <listitem><para>
+    the energy deposition of the step,
+  </para></listitem>
+  <listitem><para>
+    geometrical information,
+  </para></listitem>
+</itemizedlist>
+
+or any combination of the above.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+G4VHit
+</bridgehead>
+
+<para>
+<emphasis>G4VHit</emphasis> 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.
+</para>
+
+<para>
+<emphasis>G4VHit</emphasis> has two virtual methods, <literal>Draw()</literal> and
+<literal>Print()</literal>. To draw or print out your concrete hits, these
+methods should be implemented. How to define the drawing method is
+described in <xref linkend="sect.VisPlylMrkTxt" />.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+G4THitsCollection
+</bridgehead>
+
+<para>
+<emphasis>G4VHit</emphasis> is an abstract class from which you derive your
+own concrete classes. During the processing of a given event,
+represented by a <emphasis>G4Event</emphasis> 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 <emphasis>G4VHitsCollection</emphasis>, an abstract
+class which represents a vector collection of user defined
+hits.
+</para>
+
+<para>
+<emphasis>G4THitsCollection</emphasis> is a template class derived from
+<emphasis>G4VHitsCollection</emphasis>, and the concrete hit collection class of
+a particular <emphasis>G4VHit</emphasis> concrete class can be instantiated from
+this template class. Each object of a hit collection must have a
+unique name for each event.
+</para>
+
+<para>
+<emphasis>G4Event</emphasis> has a <emphasis>G4HCofThisEvent</emphasis> 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.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+An example of a concrete hit class
+</bridgehead>
+
+<para>
+<xref linkend="programlist_Hits_1" /> shows an example of a concrete hit class.
+
+<example id="programlist_Hits_1">
+<title>
+An example of a concrete hit class.
+</title>
+
+<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
+</programlisting>
+</example>
+</para>
+
+<para>
+<emphasis>G4Allocator</emphasis> is a class for fast allocation of objects to
+the heap through the paging mechanism. For details of
+<emphasis>G4Allocator</emphasis>, refer to <xref linkend="sect.GeneManage" />. 
+Use of <emphasis>G4Allocator</emphasis>
+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 <emphasis>G4Allocator</emphasis> is to be used 
+<emphasis role="bold">only</emphasis> for the concrete
+class that is <emphasis role="bold">not</emphasis> used as a base 
+class of any other classes.
+For example, do <emphasis role="bold">not</emphasis> use the 
+<emphasis>G4Trajectory</emphasis> class as a
+base class for a customized trajectory class, since
+<emphasis>G4Trajectory</emphasis> uses <emphasis>G4Allocator</emphasis>.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+G4THitsMap
+</bridgehead>
+
+<para>
+<emphasis>G4THitsMap</emphasis> is an alternative to 
+<emphasis>G4THitsCollection</emphasis>.
+<emphasis>G4THitsMap</emphasis> does not demand <emphasis>G4VHit</emphasis>, 
+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.
+<emphasis>G4THitsMap</emphasis> is convenient for applications which do not need
+to output event-by-event data but instead just accumulate them. All
+the <emphasis>G4VPrimitiveScorer</emphasis> classes discussed in 
+<xref linkend="sect.Hits.G4Multi" /> use <emphasis>G4THitsMap</emphasis>.
+</para>
+
+<para>
+<emphasis>G4THitsMap</emphasis> is derived from the 
+<emphasis>G4VHitsCollection</emphasis>
+abstract base class and all objects of this class are also stored
+in <emphasis>G4HCofThisEvent</emphasis> at the end of an event. How to access a
+<emphasis>G4THitsMap</emphasis> object is discussed in the 
+following section (<xref linkend="sect.Hits.G4Multi" />).
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Hits.SensDet">
+<title>
+Sensitive detector
+</title>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+G4VSensitiveDetector
+</bridgehead>
+
+<para>
+<emphasis>G4VSensitiveDetector</emphasis> 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 <literal>ProcessHits()</literal> method of
+<emphasis>G4VSensitiveDetector</emphasis> performs this task using 
+<emphasis>G4Step</emphasis>
+objects as input. In the case of a "Readout" geometry (see 
+<xref linkend="sect.Hits.ReadGeom" />), objects of the
+<emphasis>G4TouchableHistory</emphasis> class may be used as an optional input.
+</para>
+
+<para>
+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
+
+<informalexample>
+<programlisting>
+     myEMcal = new MyEMcal("/myDet/myCal/myEMcal");
+</programlisting>
+</informalexample> 
+
+where <literal>myEMcal</literal> is the name of your detector. The pointer to
+your sensitive detector must be set to one or more
+<emphasis>G4LogicalVolume</emphasis> objects to set the sensitivity of these
+volumes. The pointer should also be registered to
+<emphasis>G4SDManager</emphasis>, as described in 
+<xref linkend="sect.Hits.G4SDMan" />.
+</para>
+
+<para>
+<emphasis>G4VSensitiveDetector</emphasis> has three major virtual methods.
+
+<variablelist><title></title>
+  <varlistentry>
+    <term>
+      <literal>ProcessHits()</literal>
+    </term>
+    <listitem><para>
+      This method is invoked by <emphasis>G4SteppingManager</emphasis> when a step
+      is composed in the <emphasis>G4LogicalVolume</emphasis> which has the pointer 
+      to this sensitive detector. The first argument of this method is a
+      <emphasis>G4Step</emphasis> object of the current step. The second argument is a
+      <emphasis>G4TouchableHistory</emphasis> object for the ``Readout geometry''
+      described in the next section. The second argument is <literal>NULL</literal>
+      if ``Readout geometry'' is not assigned to this sensitive detector.
+      In this method, one or more <emphasis>G4VHit</emphasis> objects should be
+      constructed if the current step is meaningful for your
+      detector.
+    </para></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      <literal>Initialize()</literal>
+    </term>
+    <listitem><para>
+      This method is invoked at the beginning of each event. The
+      argument of this method is an object of the <emphasis>G4HCofThisEvent</emphasis>
+      class. Hit collections, where hits produced in this particular
+      event are stored, can be associated with the <emphasis>G4HCofThisEvent</emphasis>
+      object in this method. The hit collections associated with the
+      <emphasis>G4HCofThisEvent</emphasis> object during this method can be used for
+      ``during the event processing'' digitization.
+    </para></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      <literal>EndOfEvent()</literal>
+    </term>
+    <listitem><para>
+      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 <emphasis>G4HCofThisEvent</emphasis> object.
+    </para></listitem>
+  </varlistentry>
+</variablelist>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Hits.ReadGeom">
+<title>
+Readout geometry
+</title>
+
+<para>
+This section describes how a ``Readout geometry'' can be defined. A
+Readout geometry is a virtual, parallel geometry for obtaining the
+channel number.
+</para>
+
+<para>
+As an example, the accordion calorimeter of <emphasis role="bold">ATLAS</emphasis> 
+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.
+
+<figure id="fig.Hits_1">
+<title>
+Association of tracking and readout geometry.
+</title>
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="./AllResources/Detector/hit.src/RO.gif"
+               format="JPG" contentwidth="10.0cm" align="center" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/Detector/hit.src/RO.gif"
+               format="JPG" align="center" />
+  </imageobject>
+</mediaobject>
+</figure>
+</para>
+
+<para>
+<xref linkend="fig.Hits_1" /> 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 
+<xref linkend="sect.Hits.SensDet" />). The next step is to associate your
+<emphasis>G4VReadoutGeometry</emphasis> object to the sensitive detector.
+</para>
+
+<para>
+At tracking time, the base class <emphasis>G4VReadoutGeometry</emphasis> will
+provide to your sensitive detector code the
+<emphasis>G4TouchableHistory</emphasis> in the Readout geometry at the beginning
+of the step position (position of <emphasis>PreStepPoint</emphasis> of
+<emphasis>G4Step</emphasis>) and at this position only.
+</para>
+
+<para>
+This <emphasis>G4TouchableHistory</emphasis> is given to your sensitive
+detector code through the <emphasis>G4VSensitiveDetector</emphasis> virtual
+method:
+
+<informalexample>
+<programlisting>
+        G4bool processHits(G4Step* aStep, G4TouchableHistory* ROhist);
+</programlisting>
+</informalexample>
+
+by the <literal>ROhist</literal> argument.
+</para>
+
+<para>
+Thus, you will be able to use information from both the
+<emphasis>G4Step</emphasis> and the <emphasis>G4TouchableHistory</emphasis> 
+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.
+</para>
+
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Definition of a virtual geometry setup
+</bridgehead>
+
+<para>
+The base class for the implementation of a Readout geometry is
+<emphasis>G4VReadoutGeometry</emphasis>. This class has a single pure virtual
+protected method:
+
+<informalexample>
+<programlisting>
+        virtual G4VPhysicalVolume* build() = 0;
+</programlisting>
+</informalexample>
+
+which you must override in your concrete class. The
+<emphasis>G4VPhysicalVolume</emphasis> pointer you will have to return is of the
+physical world of the Readout geometry.
+</para>
+
+<para>
+The step by step procedure for constructing a Readout geometry is:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    inherit from <emphasis>G4VReadoutGeometry</emphasis> to define a
+    <emphasis>MyROGeom</emphasis> class;
+  </para></listitem>
+  <listitem><para>
+    implement the Readout geometry in the <literal>build()</literal> method,
+    returning the physical world of this geometry.
+    <para>
+    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.
+    </para>
+    <para>
+    In this geometry you need to declare the sensitive parts in the
+    same way as in the tracking geometry: by setting a
+    non-<literal>NULL</literal> <emphasis>G4VSensitiveDetector</emphasis> 
+    pointer in, say, the
+    relevant <emphasis>G4LogicalVolume</emphasis> objects. This sensitive class needs
+    to be there, but will not be used.
+    </para>
+    <para>
+    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 <literal>NULL</literal> pointer in this
+    case of the parallel geometry.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    in the <literal>construct()</literal> method of your concrete
+    <emphasis>G4VUserDetectorConstruction</emphasis> class:
+    <para>
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        instantiate your Readout geometry:
+        <informalexample>
+        <programlisting>
+        MyROGeom* ROgeom = new MyROGeom("ROName");
+        </programlisting>
+        </informalexample>            
+      </para></listitem>
+      <listitem><para>
+        build it:
+        <informalexample>
+        <programlisting>
+        ROgeom-&gt;buildROGeometry();
+        </programlisting>
+        </informalexample>
+        That will invoke your <literal>build()</literal> method.
+      </para></listitem>
+      <listitem><para>
+        Instantiate the sensitive detector which will receive the
+        <literal>ROGeom</literal> pointer, <literal>MySensitive</literal>, 
+        and add this sensitive to the <emphasis>G4SDManager</emphasis>. 
+        Associate this sensitive to
+        the volume(s) of the tracking geometry as usual.
+      </para></listitem>
+      <listitem><para>
+        Associate the sensitive to the Readout geometry:
+        <informalexample>
+        <programlisting>
+        MySensitive-&gt;SetROgeometry(ROgeom);
+        </programlisting>
+        </informalexample>            
+      </para></listitem>
+    </itemizedlist>
+    </para>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Hits.G4SDMan">
+<title>
+G4SDManager
+</title>
+
+<para>
+<emphasis>G4SDManager</emphasis> is the singleton manager class for sensitive
+detectors.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Activation/inactivation of sensitive detectors
+</bridgehead>
+
+<para>
+The user interface commands <literal>activate</literal> and
+<literal>inactivate</literal> are available to control your sensitive
+detectors. For example:
+
+<informalexample>
+<programlisting>
+/hits/activate detector_name
+/hits/inactivate detector_name
+</programlisting>
+</informalexample>
+
+where <literal>detector_name</literal> can be the detector name or the
+category name. 
+</para>
+
+<para>
+For example, if your EM calorimeter is named
+
+<informalexample>
+<programlisting>
+/myDet/myCal/myEMcal
+/hits/inactivate myCal
+</programlisting>
+</informalexample>
+
+will inactivate all detectors belonging to the <literal>myCal</literal>
+category.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Access to the hit collections
+</bridgehead>
+
+
+<para>Hit collections are accessed for various cases.
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Digitization
+  </para></listitem>
+  <listitem><para>
+    Event filtering in <emphasis>G4VUserStackingAction</emphasis>
+  </para></listitem>
+  <listitem><para>
+    ``End of event'' simple analysis
+  </para></listitem>
+  <listitem><para>
+    Drawing / printing hits
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+The following is an example of how to access the hit collection
+of a particular concrete type:
+
+<informalexample>
+<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();
+  <emphasis>MyHitsCollection</emphasis>* myCollection = (<emphasis>MyHitsCollection</emphasis>*)(HC0fEvent-&gt;GetHC(collectionID));
+</programlisting>
+</informalexample> 
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Hits.G4Multi">
+<title>
+<emphasis>G4MultiFunctionalDetector</emphasis> and
+<emphasis>G4VPrimitiveScorer</emphasis>
+</title>
+ 
+<para>
+<emphasis>G4MultiFunctionalDetector</emphasis> is a concrete class derived from
+<emphasis>G4VSensitiveDetector</emphasis>. Instead of implementing a
+user-specific detector class, <emphasis>G4MultiFunctionalDetector</emphasis>
+allows the user to register <emphasis>G4VPrimitiveScorer</emphasis> classes to
+build up the sensitivity. <emphasis>G4MultiFunctionalDetector</emphasis> should
+be instantiated in the users detector construction with its unique
+name and should be assigned to one or more <emphasis>G4LogicalVolume</emphasis>s.
+</para>
+
+<para>
+<emphasis>G4VPrimitiveScorer</emphasis> is an abstract base class representing
+a class to be registered to <emphasis>G4MultiFunctionalDetector</emphasis> that
+creates a <emphasis>G4THitsMap</emphasis> object of one physics quantity for an
+event. Geant4 provides many concrete primitive scorer classes
+listed in <xref linkend="sect.Hits.G4VPrim" />, 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 <emphasis>G4MultiFunctionalDetector</emphasis>.
+Please note that a primitive scorer object must <emphasis role="bold">not</emphasis> be
+shared by more than one <emphasis>G4MultiFunctionalDetector</emphasis>
+object.
+</para>
+
+<para>As mentioned in <xref linkend="sect.Hits.Hit" />, 
+each <emphasis>G4VPrimitiveScorer</emphasis> generates one 
+<emphasis>G4THitsMap</emphasis> 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 <xref linkend="sect.Hits.G4VPrim" /> generates a 
+<emphasis>G4THitsMap&lt;G4double&gt;</emphasis> that maps a 
+<emphasis>G4double</emphasis> value
+to its key integer number. By default, the key is taken as the copy
+number of the <emphasis>G4LogicalVolume</emphasis> to which
+<emphasis>G4MultiFunctionalDetector</emphasis> 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 <emphasis>G4VPrimitiveScorer</emphasis>
+constructor, "<emphasis>depth</emphasis>" 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
+<emphasis>GetIndex(G4Step*)</emphasis> virtual method to return the unique
+key.
+</para>
+
+<para>
+<xref linkend="programlist_Hits_2" /> shows an example of primitive sensitivity
+class definitions.
+
+<example id="programlist_Hits_2">
+<title>
+An example of defining primitive sensitivity classes taken from
+<emphasis>ExN07DetectorConstruction</emphasis>.
+</title>
+<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); }
+   }
+  }
+}
+</programlisting>
+</example>
+</para>
+
+<para>
+Each <emphasis>G4THitsMap</emphasis> object can be accessed from
+<emphasis>G4HCofThisEvent</emphasis> with a unique collection ID number. This ID
+number can be obtained from <emphasis>G4SDManager::GetCollectionID()</emphasis>
+with a name of <emphasis>G4MultiFunctionalDetector</emphasis> and
+<emphasis>G4VPrimitiveScorer</emphasis> connected with a slush ("/").
+<emphasis>G4THitsMap</emphasis> has a [] operator taking the key value as an
+argument and returning <emphasis role="bold">the pointer</emphasis> of the value. 
+Please note that the [] operator returns 
+<emphasis role="bold">the pointer</emphasis> of the value. If
+you get zero from the [] operator, it does <emphasis role="bold">not</emphasis> 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.
+<emphasis>G4THitsMap</emphasis> also has a += operator in order to accumulate
+event data into run data. <xref linkend="programlist_Hits_3" /> shows the use of
+<emphasis>G4THitsMap</emphasis>.
+
+<example id="programlist_Hits_3">
+<title>
+An example of accessing to <emphasis>G4THitsMap</emphasis> objects.
+</title>
+
+<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);
+      }
+    }
+  }
+}
+</programlisting>
+</example>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Hits.G4VPrim">
+<title>
+Concrete classes of <emphasis>G4VPrimitiveScorer</emphasis>
+</title>
+
+<para>
+With Geant4 version 8.0, several concrete primitive scorer classes
+are provided, all of which are derived from the
+<emphasis>G4VPrimitiveScorer</emphasis> abstract base class and which are to be
+registered to <emphasis>G4MultiFunctionalDetector</emphasis>. Each of them
+contains one <emphasis>G4THitsMap</emphasis> object and scores a simple double
+value for each key.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Track length scorers
+</bridgehead>
+
+<para>
+<variablelist><title></title>
+  <varlistentry>
+    <term>
+      G4PSTrackLength
+    </term>
+    <listitem><para>
+      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 <emphasis>Weighted()</emphasis> method of this class object is
+      invoked.
+    </para></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      G4PSPassageTrackLength
+    </term>
+    <listitem><para>
+      The passage track length is the same as the track length in
+      <emphasis>G4PSTrackLength</emphasis>, 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
+      <emphasis>Weighted()</emphasis> method of this class object is invoked.
+    </para></listitem>
+  </varlistentry>
+</variablelist>
+</para>
+
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+<emphasis role="bold">Deposited energy scorers</emphasis>
+</bridgehead>
+
+<para>
+<variablelist><title></title>
+  <varlistentry>
+    <term>
+      G4PSEnergyDeposit
+    </term>
+    <listitem><para>
+      This scorer stores a sum of particles' energy deposits at each
+      step in the cell. The particle weight is multiplied at each
+      step.
+    </para></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      G4PSDoseDeposit
+    </term>
+    <listitem><para>
+      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 <emphasis>G4VSolid</emphasis> and 
+      <emphasis>G4LogicalVolume</emphasis>. The particle
+      weight is multiplied at each step.
+    </para></listitem>
+  </varlistentry>
+</variablelist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+<emphasis role="bold">Current and flux scorers</emphasis>
+</bridgehead>
+
+<para>
+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.
+</para>
+
+<para>
+<variablelist><title></title>
+  <varlistentry>
+    <term>
+      G4PSFlatSurfaceCurrent
+    </term>
+    <listitem><para>
+      Flat surface current is a surface based scorer. The present
+      implementation is limited to scoring only at the -Z surface of a
+      <emphasis>G4Box</emphasis> 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.
+    </para></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      G4PSSphereSurfaceCurrent
+    </term>
+    <listitem><para>
+      Sphere surface current is a surface based scorer, and similar
+      to the G4PSFlatSurfaceCurrent. The only difference is that the
+      surface is defined at the <emphasis role="bold">inner surface</emphasis> 
+      of a G4Sphere solid.
+    </para></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      G4PSPassageCurrent
+    </term>
+    <listitem><para>
+      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.
+    </para></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      G4PSFlatSurfaceFlux
+    </term>
+    <listitem><para>
+      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.
+    </para></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      G4PSCellFlux
+    </term>
+    <listitem><para>
+      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.
+    </para></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      G4PSPassageCellFlux
+    </term>
+    <listitem><para>
+      Passage cell flux is a volume based scorer similar to
+      <emphasis>G4PSCellFlux</emphasis>. 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.
+    </para></listitem>
+  </varlistentry>
+</variablelist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+<emphasis role="bold">Other scorers</emphasis>
+</bridgehead>
+
+<para>
+<variablelist><title></title>
+  <varlistentry>
+    <term>
+      G4PSMinKinEAtGeneration
+    </term>
+    <listitem><para>
+      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.
+    </para></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      G4PSNofSecondary
+    </term>
+    <listitem><para>
+      This class scores the number of secondary particles generated
+      in the volume. The weight of the secondary track is taken into
+      account.
+    </para></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      G4PSNofStep
+    </term>
+    <listitem><para>
+      This class scores the number of steps in the cell. A particle
+      weight is not applied.
+    </para></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      G4PSCellCharge
+    </term>
+    <listitem><para>
+      This class scored the total charge of particles which has stoped 
+      in the volume.
+    </para></listitem>
+  </varlistentry>
+</variablelist>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Hits.G4VSDFil">
+<title>
+<emphasis>G4VSDFilter</emphasis> and its derived classes
+</title>
+
+<para>
+<emphasis>G4VSDFilter</emphasis> is an abstract class that represents a track
+filter to be associated with <emphasis>G4VSensitiveDetector</emphasis> or
+<emphasis>G4VPrimitiveScorer</emphasis>. It defines a virtual method
+
+<informalexample>
+<programlisting>
+  <emphasis>G4bool Accept(const G4Step*)</emphasis>
+</programlisting>
+</informalexample>
+
+that should return <emphasis>true</emphasis> if this particular step should be
+scored by the <emphasis>G4VSensitiveDetector</emphasis> or
+<emphasis>G4VPrimitiveScorer</emphasis>.
+</para>
+
+<para>
+While the user can implement his/her own filter class, Geant4
+version 8.0 provides the following concrete filter classes:
+
+<variablelist><title></title>
+  <varlistentry>
+    <term>
+      G4SDChargedFilter
+    </term>
+    <listitem><para>
+      All charged particles are accepted.
+    </para></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      G4SDNeutralFilter
+    </term>
+    <listitem><para>
+      All neutral particles are accepted.
+    </para></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      G4SDParticleFilter
+    </term>
+    <listitem><para>
+      Particle species which are registered to this filter object by
+      <emphasis>Add("particle_name")</emphasis> are accepted. More than one 
+      species can be registered.
+    </para></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      G4SDKineticEnergyFilter
+    </term>
+    <listitem><para>
+      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.
+    </para></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      G4SDParticleWithEnergyFilter
+    </term>
+    <listitem><para>
+      Combination of <emphasis>G4SDParticleFilter</emphasis> and
+      <emphasis>G4SDParticleWithEnergyFilter</emphasis>.
+    </para></listitem>
+  </varlistentry>
+</variablelist>
+</para>
+
+<para>
+The use of the <emphasis>G4SDParticleFilter</emphasis> class is demonstrated
+in <xref linkend="programlist_Hits_2" />, where filters which accept gamma,
+electron, positron and electron/positron are defined.
+</para>
+
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.EvtBias.ScorImpRoul.Scor">
+<title>
+Scoring for Event Biasing
+</title>
+
+<para>
+Scoring for Event Biasing (described in <xref linkend="sect.EvtBias" />) is a
+very specific use case whereby particle weights and fluxes through importance 
+cells are required.  The goals of the scoring technique are to:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    appraise particle quantities related to special regions or
+    surfaces,
+  </para></listitem>
+  <listitem><para>
+    be applicable to all "cells" (physical volumes or replicas) of
+    a given geometry,
+  </para></listitem>
+  <listitem><para>
+    be customizable.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+A number of scorers have been created for this specific appliction:
+</para>
+
+<para>
+<variablelist><title></title>
+  <varlistentry>
+    <term>
+      G4PSNofCollision
+    </term>
+    <listitem><para>
+    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:
+<informalexample>
+<programlisting>
+  G4PSNofCollision*   scorer1 = new G4PSNofCollision(psName="CollWeight");  
+  scorer1->Weighted(true);
+</programlisting>
+</informalexample>
+      </para></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      G4PSPopulation
+    </term>
+    <listitem><para>
+      This scores the number of tracks within in a given cell per event.
+   </para></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      G4PSTrackLength
+    </term>
+    <listitem><para>
+      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:
+<informalexample>
+<programlisting>
+  G4PSTrackLength* scorer5 = new G4PSTrackLength(psName="SLW");  
+  scorer5->Weighted(true);
+</programlisting>
+</informalexample>
+  Further if the energy track flux is required then the following should be
+  implemented:
+<informalexample>
+<programlisting>
+  G4PSTrackLength* scorer6 = new G4PSTrackLength(psName="SLWE");  
+  scorer6->Weighted(true);
+  scorer6->MultiplyKineticEnergy(true);
+  MFDet->RegisterPrimitive(scorer6);
+</programlisting>
+</informalexample>
+
+     Alternatively to measure the flux per unit velocity then:
+<informalexample>
+<programlisting>
+  G4PSTrackLength* scorer7 = new G4PSTrackLength(psName="SLW_V");  
+  scorer7->Weighted(true);
+  scorer7->DivideByVelocity(true);
+  MFDet->RegisterPrimitive(scorer7);
+</programlisting>
+</informalexample>
+
+   Finally to measure the flux energy per unit velocity then:
+<informalexample>
+<programlisting>
+  G4PSTrackLength* scorer8 = new G4PSTrackLength(psName="SLWE_V");  
+  scorer8->Weighted(true);
+  scorer8->MultiplyKineticEnergy(true);
+  scorer8->DivideByVelocity(true);
+  MFDet->RegisterPrimitive(scorer8);
+</programlisting>
+</informalexample>
+    </para></listitem>
+  </varlistentry>
+</variablelist>
+</para>
+
+
+</sect2>
+
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/material.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/material.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/material.xml	(revision 904)
@@ -0,0 +1,530 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--    Changed by: Katsuya Amako, 14-Jul-1998                -->
+<!--    Proof read by: Joe Chuma,  29-Jun-1999                -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.Mate">
+<title>
+Material
+</title>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Mate.GenCons">
+<title>
+General considerations
+</title>
+
+<para>
+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.
+
+<variablelist><title></title>
+<varlistentry>
+  <term>
+    <emphasis>G4Isotope</emphasis>
+  </term>
+  <listitem><para>
+    This class describes the properties of atoms: atomic number,
+    number of nucleons, mass per mole, etc.
+  </para></listitem>
+</varlistentry>
+<varlistentry>
+  <term>
+    <emphasis>G4Element</emphasis>
+  </term>
+  <listitem><para>
+    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.
+  </para></listitem>
+</varlistentry>
+<varlistentry>
+  <term>
+    <emphasis>G4Material</emphasis>
+  </term>
+  <listitem><para>
+    This class describes the macroscopic properties of matter:
+    density, state, temperature, pressure, and macroscopic quantities
+    like radiation length, mean free path, dE/dx, etc.
+  </para></listitem>
+</varlistentry>
+</variablelist>
+</para>
+
+<para>
+Only the <emphasis>G4Material</emphasis> 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.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Mate.Intro">
+<title>
+Introduction to the Classes
+</title>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Mate.Intro.Iso">
+<title>
+G4Isotope
+</title>
+
+<para>
+A <emphasis>G4Isotope</emphasis> 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.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Mate.Intro.Ele">
+<title>
+G4Element
+</title>
+
+<para>
+A <emphasis>G4Element</emphasis> 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.
+</para>
+
+<para>
+A <emphasis>G4Element</emphasis> 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 <emphasis>G4Element</emphasis> 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
+<emphasis>G4Isotopes</emphasis> 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.
+</para>
+
+<para>
+A few quantities, with physical meaning or not, which are
+constant in a given element, are computed and stored here as
+"derived data members".
+</para>
+
+<para>
+Using the internal Geant4 database, a <emphasis>G4Element</emphasis> can be accessed
+by atomic number or by atomic symbol ("Al", "Fe", "Pb"...). In that
+case <emphasis>G4Element</emphasis> will be found from the list of existing elements or
+will be constructed using data from the Geant4 database, which is
+derived from the
+<ulink url="http://physics.nist.gov/PhysRefData/Compositions/index.html">NIST database
+of elements and isotope compositions</ulink>.
+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.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Mate.Intro.Mate">
+<title>
+G4Material
+</title>
+
+<para>
+A <emphasis>G4Material</emphasis> 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.
+</para>
+
+<para>
+A <emphasis>G4Material</emphasis> 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 <emphasis>G4Material</emphasis> 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
+<emphasis>G4Element</emphasis> 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.
+</para>
+
+<para>
+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".
+</para>
+
+<para>
+Some materials are included in the internal Geant4 database,
+which were derived from the
+<ulink url="http://physics.nist.gov/PhysRefData/Star/Text/method.html">NIST database
+of material properties</ulink>.
+Additionally a number of materials friquently used in HEP is
+included in the database. Materials are interrogated or constructed
+by their <emphasis>names</emphasis> (<xref linkend="sect.G4MatrDb" />).  
+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. 
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Mate.Intro.Fin">
+<title>
+Final Considerations
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+</sect3>
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Mate.Recep">
+<title>
+Recipes for Building Elements and Materials
+</title>
+
+<para>
+<xref linkend="programlist_Mate_1" /> illustrates the different ways to define
+materials.
+</para>
+
+<example id="programlist_Mate_1">
+<title>
+A program which illustrates the different ways to define materials.
+</title>
+
+<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;
+</programlisting>
+</example>
+<informalexample>
+<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);
+</programlisting>
+</informalexample>
+<informalexample>
+<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;
+}
+</programlisting>
+</informalexample>
+<para>
+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).
+</para>
+
+<para>
+In the case of a gas, one may specify the temperature and
+pressure. The defaults are STP conditions defined in
+<literal>PhysicalConstants.hh</literal>.
+</para>
+
+<para>
+An element must have the number of nucleons &gt;= number of
+protons &gt;= 1.
+</para>
+
+<para>
+A material must have non-zero values of density, temperature and
+pressure.
+</para>
+
+<para>
+Materials can also be defined using the internal Geant4
+database. <xref linkend="programlist_Mate_2" /> illustrates 
+how to do this for the same materials used in 
+<xref linkend="programlist_Mate_1" />. 
+There are also UI commands which allow the database to be accessed. 
+<emphasis>The list of currently avalable material names</emphasis>
+(<xref linkend="sect.G4MatrDb" />) is extended permanetly.
+</para>
+
+<example id="programlist_Mate_2">
+<title>
+A program which shows how to define materials from the internal database.
+</title>
+
+<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;
+}
+</programlisting>
+</example>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Mate.Tables">
+<title>
+The Tables
+</title>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Mate.Tables.PrintCons">
+<title>
+Print a constituent
+</title>
+
+<para>
+The following shows how to print a constituent:
+
+<informalexample>
+<programlisting>
+  G4cout &lt;&lt; elU &lt;&lt; endl;
+  G4cout &lt;&lt; Air &lt;&lt; endl;
+</programlisting>
+</informalexample>
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Mate.Tables.PrintTab">
+<title>
+Print the table of materials
+</title>
+
+<para>
+The following shows how to print the table of materials:
+
+<informalexample>
+<programlisting>
+  G4cout &lt;&lt; *(G4Material::GetMaterialTable()) &lt;&lt; endl;
+</programlisting>
+</informalexample>
+</para>
+
+
+</sect3>
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/parallelWorld.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/parallelWorld.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/parallelWorld.xml	(revision 904)
@@ -0,0 +1,266 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Created by: Makoto Asai,   24-Nov-2006                -->
+<!--    Converted to DocBook: Katsuya Amako, Dec-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.ParaGeom">
+<title>
+Parallel Geometries
+</title>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ParaGeom.ParaWrld">
+<title>
+A parallel world
+</title>
+
+<para>
+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 parallel navigation functionality
+introduced since release 8.2 of Geant4, allows the user to define
+more than one worlds simultaneously.
+The <literal>G4Transportation</literal> process will see all worlds
+simultaneously; steps will be limited by both boundaries of the
+mass and parallel geometries.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+Here are restrictions to be considered for the parallel
+geometry:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Materials, production thresholds and EM field are used only
+    from the mass geometry. Even if such <emphasis>physical</emphasis> 
+    quantities are defined in a parallel world, they do not affect to the
+    simulation.
+  </para></listitem>
+  <listitem><para>
+    Although all worlds will be comprehensively taken care by the
+    <literal>G4Transportation</literal> 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 <literal>G4SteppingManager</literal>
+    treats only the detectors in the mass geometry. For this case of
+    detector sensitivity defined in a parallel world, a
+    <literal>G4ParallelWorldScoringProcess</literal> process must be defined 
+    in the physics list (see 
+    <xref linkend="sect.ParaGeom.SenstivParaWrld" />).
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ParaGeom.DefParaWrld">
+<title>
+Defining a parallel world
+</title>
+
+<para>
+A parallel world should be defined in the <literal>Construct()</literal>
+virtual method of the user's class derived from the abstract base
+class <emphasis>G4VUserParallelWorld</emphasis>.
+
+<example>
+<title>
+An example header file of a concrete user parallel world class.
+</title>
+<programlisting>
+#ifndef MyParallelWorld_h
+#define MyParallelWorld_h 1
+
+#include "globals.hh"
+#include "G4VUserParallelWorld.hh"
+
+class MyParallelWorld : <emphasis role="color_red">public G4VUserParallelWorld</emphasis>
+{
+  public:
+    MyParallelWorld(G4String worldName);
+    virtual ~MyParallelWorld();
+
+  public:
+    <emphasis role="color_red">virtual void Construct();</emphasis>
+};
+
+#endif
+</programlisting>
+</example>
+</para>    
+
+<para>
+A parallel world must have its unique name, which should be set
+to the <literal>G4VUserParallelWorld</literal> base class as an argument of
+the base class constructor.
+</para>
+
+<para>
+The world physical volume of the parallel world is provided by
+the <literal>G4RunManager</literal> as a clone of the mass geometry. In the
+<literal>Construct()</literal> virtual method of the user's class, the
+pointer to this cloned world physical volume is available through
+the <literal>GetWorld()</literal> 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 <literal>0</literal>. Even if specified a
+valid material pointer, it will not be taken into account by any
+physics process.
+
+
+<example>
+<title>
+An example source code of a concrete user parallel world class.
+</title>
+<programlisting>
+#include "MyParallelWorld.hh"
+#include "G4LogicalVolume.hh"
+#include "G4VPhysicalVolume.hh"
+#include "G4Box.hh"
+#include "G4PVPlacement.hh"
+
+MyParallelWorld::MyParallelWorld(G4String worldName)
+<emphasis role="color_red">:G4VUserParallelWorld(worldName)</emphasis>
+{;}
+
+MyParallelWorld::~MyParallelWorld() 
+{;}
+
+void MyParallelWorld::Construct() 
+{
+  G4VPhysicalVolume* ghostWorld = <emphasis role="color_red">GetWorld();</emphasis>
+  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);
+}
+</programlisting>
+</example>
+</para>    
+
+<para>
+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 <literal>RegisterParallelWorld()</literal> available through
+the class <literal>G4VUserDetectorConstruction</literal>. The registration
+must be done -before- the mass world is registed to the
+<literal>G4RunManager</literal>.
+
+<example>
+<title>
+Typical implementation in the <literal>main()</literal> to define a parallel
+world.
+</title>
+<programlisting>
+  // RunManager construction
+  //
+  G4RunManager* runManager = new G4RunManager;
+
+  // mass world
+  //
+  MyDetectorConstruction* massWorld = new MyDetectorConstruction;
+
+  // parallel world
+  //
+  massWorld-&gt;<emphasis role="color_red">RegisterParallelWorld</emphasis>(new MyParallelWorld("ParallelScoringWorld"));
+
+  // set mass world to run manager
+  //
+  runManager-&gt;SetUserInitialization(massWorld);
+</programlisting>
+</example>
+</para>    
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ParaGeom.SenstivParaWrld">
+<title>
+Detector sensitivity in a parallel world
+</title>
+
+<para>
+Any kind of <literal>G4VSensitiveDetector</literal> 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.
+</para>
+
+<para>
+The <literal>G4ParallelWorldScoringProcess</literal> 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
+<emphasis role="color_red">
+just after <literal>G4Transporation</literal> and prior
+to any other physics processes</emphasis>. The name of the parallel
+world where the <literal>G4ParallelWorldScoringProcess</literal> is
+responsible for, must be defined through the method
+<literal>SetParallelWorld()</literal> available from the class
+<literal>G4ParallelWorldScoringProcess</literal>. If the user has more than
+one parallel worlds with detectors, for each of the parallel
+worlds, dedicated <literal>G4ParallelWorldScoringProcess</literal> objects
+must be instantiated with the name of each parallel world
+respectively and registered to the particles.
+
+<example>
+<title>
+Define <literal>G4ParallelWorldScoringProcess</literal>.
+</title>
+<programlisting>
+  // Add parallel world scoring process
+  //
+  G4ParallelWorldScoringProcess* theParallelWorldScoringProcess 
+      = new <emphasis role="color_red">G4ParallelWorldScoringProcess</emphasis>("ParaWorldScoringProc");
+  theParallelWorldScoringProcess-&gt;<emphasis role="color_red">SetParallelWorld</emphasis>("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);
+    }
+  }
+</programlisting>
+</example>
+</para>    
+
+<para>
+At the end of processing an event, all hits collections made for
+the parallel world are stored in <literal>G4HCofThisEvent</literal> as well
+as those for the mass geometry.
+</para>
+
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/persistency.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/persistency.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Detector/persistency.xml	(revision 904)
@@ -0,0 +1,123 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--    Changed by: Katsuya Amako,  4-Aug-1998                -->
+<!--    Changed by: Dennis Wright, 27-Nov-2001                -->
+<!--    Proof read by: Joe Chuma,  30-Jun-1999                -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.ObjPers">
+<title>
+Object Persistency
+</title>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ObjPers.PersG4">
+<title>
+Persistency in Geant4
+</title>
+
+<para>
+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).
+</para>
+
+<para>
+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).
+
+<figure id="fig.ObjPers_1">
+<title>
+Persistent object.
+</title>
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="./AllResources/Detector/persistency.src/pobject.gif" 
+               format="JPG" contentwidth="7.0cm" align="center" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/Detector/persistency.src/pobject.gif" 
+               format="JPG" align="center" />
+  </imageobject>
+</mediaobject>
+</figure>
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+Two examples demonstrating an implementation of object
+persistency using one of the tools accessible through the available
+interface, is provided in
+<literal>examples/extended/persistency</literal>.
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ObjPers.Reflex">
+<title>
+Using Reflex for persistency of Geant4 objects
+</title>
+
+<para>
+Object persistency of Geant4 objects is also possible by the
+mean of the <ulink url="http://cern.ch/seal-reflex/">
+Reflex library</ulink>. 
+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 
+<ulink url="http://root.cern.ch/">
+ROOT</ulink> (since release <literal>v5.08</literal>).
+</para>
+
+<para>
+The basic steps that one needs to do in order to use Reflex with
+ROOT I/O for arbitrary C++ classes is:
+
+<orderedlist spacing="compact">
+  <listitem><para>
+    Generate the dictionary for the given classes using the
+    <literal>genreflex</literal> tool from ROOT (this usually is done by adding
+    the appropriate command to the makefile)
+  </para></listitem>
+  <listitem><para>
+    Add initialization of ROOT I/O and loading of the generated
+    dictionary for the given classes in the appropriate part of the
+    code
+  </para></listitem>
+  <listitem><para>
+    Whenever the objects to be persistified are available, call the
+    <literal>WriteObject</literal> method of <literal>TFile</literal> with 
+    the pointer to the appropriate object as argument (usually it is some sort 
+    of container, like <literal>std::vector</literal> containing the collection 
+    of objects to be persistified)
+  </para></listitem>
+</orderedlist>
+</para>
+
+<para>
+The two examples (<literal>P01</literal> and <literal>P02</literal>) provided
+in <literal>examples/extended/persistency</literal>
+demonstrate how to perform object persistency using the
+Reflex mechanism in ROOT I/O for storing hits and geometry description.
+</para>
+
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Examples/AdvancedCodes.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Examples/AdvancedCodes.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Examples/AdvancedCodes.xml	(revision 904)
@@ -0,0 +1,197 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.ExmpAdv">
+<title>
+Advanced Examples
+</title>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ExmpAdv.AdvExmp">
+<title>
+Advanced Examples
+</title>
+
+<para>
+Geant4 advanced examples illustrate realistic applications of
+Geant4 in typical experimental environments. Most of them also show
+the usage of analysis tools (such as histograms, ntuples and plotting),
+various visualization features and advanced user interface facilities,
+together with the simulation core.
+</para>
+
+<para>
+<emphasis role="bold">Note</emphasis>: 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.
+</para>
+
+<para>
+The advanced examples include:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <ulink url="http://geant4advancedexampleswg.wikispaces.com/ExamplesDocumentation/">
+    <emphasis role="bold">air_shower</emphasis>
+    </ulink>
+    , a simulation of the ULTRA detector with Fresnel lenses 
+    for UV and charged particles detection in cosmic rays.
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://geant4advancedexampleswg.wikispaces.com/brachytherapyExample/">
+    <emphasis role="bold">brachytherapy</emphasis>
+    </ulink>
+    , illustrating a typical medical physics application simulating
+    energy deposit in a Phantom filled with soft tissue.
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://geant4advancedexampleswg.wikispaces.com/hadrontherapyExample/">
+    <emphasis role="bold">hadrontherapy</emphasis>
+    </ulink>
+    , illustrating a application simulating an hadron therapy beam line
+    for medical physics.
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://geant4advancedexampleswg.wikispaces.com/ExamplesDocumentation/">
+    <emphasis role="bold">human_phantom</emphasis>
+    </ulink>
+    , implementing an Anthropomorphic Phantom body built importing the 
+    description from a 
+    <ulink url="http://cern.ch/gdml/">GDML</ulink> representation.
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://geant4advancedexampleswg.wikispaces.com/MedicalLinac/">
+    <emphasis role="bold">medical_linac</emphasis>
+    </ulink>
+    , 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.
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://geant4advancedexampleswg.wikispaces.com/microbeamExample/">
+    <emphasis role="bold">microbeam</emphasis>
+    </ulink>
+    , simulates the cellular irradiation beam line installed on the
+    AIFIRA electrostatic accelerator facility located at CENBG,
+    Bordeaux-Gradignan, France.
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://geant4advancedexampleswg.wikispaces.com/microdosimetryExample/">
+    <emphasis role="bold">microdosimetry</emphasis>
+    </ulink>
+    , simulates the track of a 10 keV Helium+ (positive charge is +e) particle
+    in liquid water using very low energy electromagnetic Geant4 DNA processes.
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://geant4advancedexampleswg.wikispaces.com/nanobeamExample/">
+    <emphasis role="bold">nanobeam</emphasis>
+    </ulink>
+    , simulates the beam optics of the "nanobeam line" installed on the AIFIRA
+    electrostatic accelerator facility located at CENBG, Bordeaux-Gradignan,
+    France.
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://geant4advancedexampleswg.wikispaces.com/ExamplesDocumentation/">
+    <emphasis role="bold">purging_magnet</emphasis>
+    </ulink>
+    , 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.
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://geant4advancedexampleswg.wikispaces.com/RadiationMonitor/">
+    <emphasis role="bold">radiation_monitor</emphasis>
+    </ulink>
+    , illustrating an application for the study of the effects of a chip
+    carrier on silicon radiation monitoring devices used in the LHC
+    environment.
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://geant4advancedexampleswg.wikispaces.com/Radioprotection/">
+    <emphasis role="bold">radioprotection</emphasis>
+    </ulink>
+    , illustrating an application to evaluate the dose in astronauts, in
+    vehicle concepts and Moon surface habitat configurations, in a
+    defined interplanetary space radiation environment.
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://geant4advancedexampleswg.wikispaces.com/Gamma-rayTelescope/">
+    <emphasis role="bold">gammaray_telescope</emphasis>
+    </ulink>
+    , illustrating an application to typical gamma ray telescopes with a
+    flexible configuration.
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://geant4advancedexampleswg.wikispaces.com/X-rayTelescope/">
+    <emphasis role="bold">xray_telescope</emphasis>
+    </ulink>
+    , illustrating an application for the study of the radiation
+    background in a typical X-ray telescope.
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://geant4advancedexampleswg.wikispaces.com/X-rayFluorescence/">
+    <emphasis role="bold">xray_fluorescence</emphasis>
+    </ulink>
+    , illustrating the emission of X-ray fluorescence and PIXE.
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://geant4advancedexampleswg.wikispaces.com/ExamplesDocumentation/UndergroundPhysics/">
+    <emphasis role="bold">underground_physics</emphasis>
+    </ulink>
+    , illustrating an underground detector for dark matter searches.
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://geant4advancedexampleswg.wikispaces.com/CosmicrayCharging/">
+    <emphasis role="bold">cosmicray_charging</emphasis>
+    </ulink>
+    , 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.
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://geant4advancedexampleswg.wikispaces.com/CompositeCalorimeter/">
+    <emphasis role="bold">composite_calorimeter</emphasis>
+    </ulink>
+    , test-beam simulation of the CMS Hadron calorimeter at LHC.
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://geant4advancedexampleswg.wikispaces.com/ExamplesDocumentation/lArCalorimeter/">
+    <emphasis role="bold">lAr_calorimeter</emphasis>
+    </ulink>
+    , simulating the Forward Liquid Argon Calorimeter (FCAL) of the ATLAS
+    Detector at LHC.
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://geant4advancedexampleswg.wikispaces.com/ExamplesDocumentation/Rich/">
+    <emphasis role="bold">Rich</emphasis>
+    </ulink>
+    , simulating the TestBeam Setup of the Rich detector at the LHCb
+    experiment, testing the performance of the aerogel radiator
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://geant4advancedexampleswg.wikispaces.com/ExamplesDocumentation/Tiara/">
+    <emphasis role="bold">Tiara</emphasis>
+    </ulink>
+    , a simulation of the neutron shielding experiment TIARA providing a
+    realistic example for applying geometrical importance sampling
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+For documentation about the analysis tools used in these
+examples, see Appendix <xref linkend="sect.Hst" /> of this manual.
+</para>
+
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Examples/ChapExamples.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Examples/ChapExamples.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Examples/ChapExamples.xml	(revision 904)
@@ -0,0 +1,25 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  This is the top file for the present chapter. It        -->
+<!--  includes all section files which belong to the chapter. -->
+<!--  Entities names used below are defined in                -->
+<!--  ChapXXEntityDef.dtd in the current directory.           -->
+<!--                                                          -->
+<!--  [Note]                                                  -->
+<!--    Created by Katsuya Amako, Aug-2006                    -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!-- ******************** Top of Chapter ******************** -->
+<chapter id="chap.Examples">
+<title>
+Examples
+</title>
+
+<!-- *************** Inclusion of Sections ****************** -->
+&noviceCodes;
+&extendedCodes;
+&advancedCodes;
+
+</chapter>
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Examples/ChapExamplesEntityDef.dtd
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Examples/ChapExamplesEntityDef.dtd	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Examples/ChapExamplesEntityDef.dtd	(revision 904)
@@ -0,0 +1,18 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  In this file you need to define entities of all xml     -->
+<!--  section files you want to include from the current      -->
+<!--  directory into the G4 DocBook manual.                   -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Creattion:  Katsuya Amako,  Aug-2006                  -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!ENTITY chapExamples   SYSTEM "./ChapExamples.xml">
+
+<!ENTITY noviceCodes    SYSTEM "./NoviceCodes.xml">
+<!ENTITY extendedCodes  SYSTEM "./ExtendedCodes.xml">
+<!ENTITY advancedCodes  SYSTEM "./AdvancedCodes.xml">
+
+ 
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Examples/ExtendedCodes.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Examples/ExtendedCodes.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Examples/ExtendedCodes.xml	(revision 904)
@@ -0,0 +1,887 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.ExmpExt">
+<title>
+Extended Examples
+</title>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ExmpExt.Smmry">
+<title>
+Extended Example Summary
+</title>
+
+<para>
+Geant4 extended examples serve three purposes:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    testing and validation of processes and tracking,
+  </para></listitem>
+  <listitem><para>
+    demonstration of Geant4 tools, and
+  </para></listitem>
+  <listitem><para>
+    extending the functionality of Geant4.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+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.
+</para>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.ExmpExt.Smmry.Anly">
+<title>
+Analysis
+</title>
+
+<para>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/analysis/A01/README">
+    A01
+    </ulink>
+    - hit-scoring and histogramming using the AIDA interface
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/analysis/AnaEx01/README">
+    AnaEx01
+    </ulink>
+     - histogram and tuple manipulations using an AIDA
+       compliant system
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/analysis/N03Con/README">
+    N03Con
+    </ulink>
+     - modified novice example N03 showing how to use a Convergence Tester
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.ExmpExt.Smmry.Elct">
+<title>
+Electromagnetic
+</title>
+<para>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm0/README">
+    TestEm0
+    </ulink>
+    - how to print cross-sections and stopping power used
+      in input by the standard EM package</para></listitem>
+    <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm1/README">
+    TestEm1
+    </ulink>
+    - how to count processes, activate/inactivate them and survey the 
+      range of charged particles. How to define a maximum step size
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm2/README">
+    TestEm2
+    </ulink>
+     - shower development in an homogeneous material :
+       longitudinal and lateral profiles
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm3/README">
+    TestEm3
+    </ulink>
+     - shower development in a sampling calorimeter :
+       collect energy deposited, survey energy flow and print stopping power
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm4/README">
+    TestEm4
+    </ulink>
+     - 9 MeV point like photon source: plot spectrum of
+       energy deposited in a single media
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm5/README">
+    TestEm5
+    </ulink>
+     - how to study transmission, absorption and reflection
+       of particles through a single, thin or thick, layer.
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm6/README">
+    TestEm6
+    </ulink>
+    - physics list for rare, high energy, electromagnetic
+      processes: gamma conversion and e+ annihilation into pair of muons
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm7/README">
+    TestEm7
+    </ulink>
+     - how to produce a Bragg curve in water phantom. How to
+       compute dose in tallies
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm8/README">
+    TestEm8
+    </ulink>
+    - test of photo-absorption-ionisation model in thin
+      absorbers, and transition radiation
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm9/README">
+    TestEm9
+    </ulink>
+    - shower development in a crystal calorimeter;
+      cut-per-region
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm10/README">
+    TestEm10
+    </ulink>
+    - XTR transition radiation model, investigation of
+      ionisation in thin absorbers
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm11/README">
+    TestEm11
+    </ulink>
+    - how to plot a depth dose profile in a rectangular box
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm12/README">
+    TestEm12
+    </ulink>
+    - how to plot a depth dose profile in spherical
+     geometry : point like source
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm13/README">
+    TestEm13
+    </ulink>
+    - how to compute cross sections of EM processes from
+      rate of transmission coefficient
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm14/README">
+    TestEm14
+    </ulink>
+    - how to compute cross sections of EM processes from
+      direct evaluation of the mean-free path. How to plot final state
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm15/README">
+    TestEm15
+    </ulink>
+    - compute and plot final state of Multiple Scattering
+      as an isolated process
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm16/README">
+    TestEm16
+    </ulink>
+    - simulation of synchrotron radiation
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm17/README">
+    TestEm17
+    </ulink>
+    - check the cross sections of high energy muon processes
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm18/README">
+    TestEm18
+    </ulink>
+    - energy lost by a charged particle in a single layer, due to ionization and bremsstrahlung
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+<table frame="all">
+<title>
+  TestEm by theme
+</title>
+
+<tgroup cols='2' align='left' colsep='1' rowsep='1'>
+<colspec  colname='c1' />
+<colspec  colname='c2' />
+<spanspec spanname="fullSpan" namest="c1" nameend="c2" />
+
+<tbody>
+  <row>
+    <entry spanname="fullSpan" align="center">
+      Check basic quantities
+    </entry>
+  </row>
+  <row>
+    <entry>
+      Total cross sections, mean free paths ...
+    </entry>
+    <entry>
+      Em0, Em13, Em14
+    </entry>
+  </row>  
+  <row>
+    <entry>
+      Stopping power, particle range ...
+    </entry>
+    <entry>
+      Em0, Em1, Em5, Em11, Em12
+    </entry>
+  </row>  
+  <row>
+    <entry>
+      Final state : energy spectra, angular distributions
+    </entry>
+    <entry>
+      Em14
+    </entry>
+  </row>  
+  <row>
+    <entry>
+      Energy loss fluctuations
+    </entry>
+    <entry>
+      Em18
+    </entry>
+  </row>  
+  <row>
+    <entry spanname="fullSpan" align="center">
+      Multiple Coulomb scattering
+    </entry>
+  </row>
+  <row>
+    <entry>
+      as an isolated mechanism
+    </entry>
+    <entry>
+      Em15
+    </entry>
+  </row>  
+  <row>
+    <entry>
+      as a result of particle transport
+    </entry>
+    <entry>
+      Em5
+    </entry>
+  </row>  
+  <row>
+    <entry spanname="fullSpan" align="center">
+      More global verifications
+    </entry>
+  </row>
+  <row>
+    <entry>
+      Single layer: transmission, absorption, reflexion
+    </entry>
+    <entry>
+      Em5
+    </entry>
+  </row>  
+  <row>
+    <entry>
+      Bragg curve, tallies
+    </entry>
+    <entry>
+      Em7
+    </entry>
+  </row>  
+  <row>
+    <entry>
+      Depth dose distribution
+    </entry>
+    <entry>
+      Em11, Em12
+    </entry>
+  </row>  
+  <row>
+    <entry>
+      Shower shapes, Moliere radius
+    </entry>
+    <entry>
+      Em2
+    </entry>
+  </row>  
+  <row>
+    <entry>
+      Sampling calorimeters, energy flow
+    </entry>
+    <entry>
+      Em3
+    </entry>
+  </row>  
+  <row>
+    <entry>
+      Crystal calorimeters
+    </entry>
+    <entry>
+      Em9
+    </entry>
+  </row>  
+  <row>
+    <entry spanname="fullSpan" align="center">
+      Other specialized programs
+    </entry>
+  </row>
+  <row>
+    <entry>
+      High energy muon physics
+    </entry>
+    <entry>
+      Em17
+    </entry>
+  </row>  
+  <row>
+    <entry>
+      Other rare, high energy processes
+    </entry>
+    <entry>
+      Em6
+    </entry>
+  </row>  
+  <row>
+    <entry>
+      Synchrotron radiation
+    </entry>
+    <entry>
+      Em16
+    </entry>
+  </row>  
+  <row>
+    <entry>
+      Transition radiation
+    </entry>
+    <entry>
+      Em8
+    </entry>
+  </row>  
+  <row>
+    <entry>
+      Photo-absorption-ionization model
+    </entry>
+    <entry>
+      Em10
+    </entry>
+  </row>  
+</tbody>
+</tgroup>
+</table>
+</para>
+
+</sect3>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.ExmpExt.Smmry.Err">
+<title>
+Error Propagation
+</title>
+
+<para>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/errorpropagation/README">
+    Geant4E
+    </ulink>
+    - error propagation utility
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect3>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.ExmpExt.Smmry.EvtBias">
+<title>
+Event Biasing
+</title>
+
+<para>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/biasing/README">
+    General ReadMe
+    </ulink>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect3>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.ExmpExt.Smmry.EvtGnr">
+<title>
+Event Generator
+</title>
+
+<para>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/eventgenerator/HepMC/HepMCEx01/README">
+    HepMCEx01
+    </ulink>
+    - simplified collider detector using HepMC interface and stacking
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/eventgenerator/HepMC/HepMCEx02/README">
+    HepMCEx02
+    </ulink>
+    - connecting primary particles in Geant4 with various
+      event generators using the HepMC interface
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/eventgenerator/HepMC/MCTruth/README">
+    MCTruth    
+    </ulink>
+     - demonstrating a mechanism for Monte Carlo truth handling using 
+       HepMC as the event record
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/eventgenerator/exgps/README">
+    exgps
+    </ulink>
+    - illustrating the usage of the
+      <literal>G4GeneralParticleSource</literal> utility
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/eventgenerator/pythia/README">
+    exgps
+    </ulink>
+    - illustrating the usage of
+      <ulink url="http://www.thep.lu.se/~torbjorn/Pythia.html">Pythia</ulink>
+      as Monte Carlo event generator, interfaced with Geant4, and showing how
+      to implement an external decayer
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect3>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.ExmpExt.Smmry.Exotic">
+<title>
+Exotic Physics
+</title>
+
+<para>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/exoticphysics/monopole/EADME">
+    Monopole
+    </ulink>
+    - illustrating how to measure energy deposition in classical
+      magnetic monopole
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect3>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.ExmpExt.Smmry.Fld">
+<title>
+Fields
+</title>
+
+<para>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/field/BlineTracer/README">
+    BlineTracer    
+    </ulink>
+    - tracing and visualizing magnetic field lines
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/field/field01/README">
+    field01    
+    </ulink>
+    - tracking using magnetic field and field-dependent processes
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/field/field02/README">
+    field02    
+    </ulink>
+    - tracking using electric field and field-dependent processes
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/field/field03/README">
+    field03
+    </ulink>
+    - tracking in a magnetic field where field associated
+      with selected logical volumes varies
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/field/field04/README">
+    field04
+    </ulink>
+    - definition of overlapping fields either magnetic, electric or both
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect3>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.ExmpExt.Smmry.G3G4">
+<title>
+Geant3 to Geant4
+</title>
+
+<para>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/g3tog4/README">
+    General ReadMe
+    </ulink>
+    - converting simple geometries in Geant3.21 to their Geant4 equivalents
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect3>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.ExmpExt.Smmry.Gmt">
+<title>
+Geometry
+</title>
+
+<para>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/geometry/README">
+    ReadMe
+    </ulink>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/geometry/olap/README">
+    OLAP    
+    </ulink>
+    - debugging tool for overlapping geometries
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.ExmpExt.Smmry.Hadron">
+<title>
+Hadronic
+</title>
+
+<para>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/hadronic/Hadr00/README">
+    Hadr00
+    </ulink>
+    - example demonstrating the usage of G4PhysListFactory to build
+      physics lists and usage of G4HadronicProcessStore to access the cross
+      sections
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/hadronic/Hadr01/README">
+    Hadr01
+    </ulink>
+    - 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
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.ExmpExt.Smmry.MdclApp">
+<title>
+Medical Applications
+</title>
+
+<para>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/medical/DICOM/README">
+    DICOM
+    </ulink>
+    - geometry set-up using the Geant4 interface to the DICOM
+      image format
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/medical/GammaTherapy/README">
+    GammaTherapy
+    </ulink>
+    - gamma radiation field formation in water phantom
+      by electron beam hitting different targets
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/medical/fanoCavity/README">
+    fanoCavity
+    </ulink>
+    - dose deposition in an ionization chamber by a monoenergetic photon beam
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/medical/fanoCavity2/README">
+    fanoCavity2
+    </ulink>
+    - dose deposition in an ionization chamber by an extended one-dimensional monoenergetic electron source
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect3>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.ExmpExt.Smmry.OptPht">
+<title>
+Optical Photons
+</title>
+
+<para>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/optical/README">
+    General ReadMe
+    </ulink>
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/optical/LXe/README">
+    LXe
+    </ulink>
+    - optical photons in a liquid xenon scintillator
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect3>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.ExmpExt.Smmry.PrllCmpt">
+<title>
+Parallel Computing
+</title>
+
+<para>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/parallel/README">
+    General ReadMe
+    </ulink>
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/parallel/ExDiane/README">
+    ExDiane
+    </ulink>
+     - example of a medical application run in a distributed
+       environment using the DIANE framework
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/parallel/MPI/README">
+    MPI
+    </ulink>
+     - interface and examples of applications parallelized with
+       different MPI compliant libraries, such as LAM/MPI, MPICH2, OpenMPI, etc.
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/parallel/info/README.html">
+    ParGeant4
+    </ulink>
+     - set of examples (<literal>ParN02</literal> and <literal>ParN04</literal>)
+       derived from <literal>novice</literal> using parallelism at 
+       event level with the
+       <ulink url="http://www.ccs.neu.edu/home/gene/topc.html">TopC</ulink>
+       application
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect3>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.ExmpExt.Smmry.Param">
+<title>
+Parameterisations
+</title>
+
+<para>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/parameterisations/gflash/README">
+    Gflash
+    </ulink>
+    - Demonstrates the use of the GFLASH parameterisation library.
+      It uses the GFLASH equations(hep-ex/0001020, Grindhammer &amp; Peters)
+      to parametrise electromagnetic showers in matter
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect3>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.ExmpExt.Smmry.Prst">
+<title>
+Persistency
+</title>
+
+<para>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/persistency/README">
+    General ReadMe
+    </ulink>
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/persistency/gdml/README">
+    GDML
+    </ulink>
+    - examples set illustrating import and export of a detector geometry with
+      GDML, and how to extend the GDML schema
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/persistency/P01/README">
+    P01
+    </ulink>
+    - storing calorimeter hits using reflection mechanism with Root
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/persistency/P02/README">
+    P02
+    </ulink>
+    - storing detector description using reflection mechanism with Root
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/persistency/P03/README">
+    P03
+    </ulink>
+    - illustrating import and export of a detector geometry using ASCII text
+      description and syntax
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect3>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.ExmpExt.Smmry.Polar">
+<title>
+Polarisation
+</title>
+
+<para>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/polarisation/Pol01/README">
+    Pol01
+    </ulink>
+    - interaction of polarized beam (e.g. circularly polarized
+      photons) with polarized target 
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect3>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.ExmpExt.Smmry.RdDcy">
+<title>
+Radioactive Decay
+</title>
+
+<para>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/radioactivedecay/exrdm/README">
+    Exrdm
+    </ulink>
+    - decays of radioactive isotopes as well as induced radioactivity
+      resulted from nuclear interactions
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect3>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.ExmpExt.Smmry.RnEvt">
+<title>
+Run &amp; Event
+</title>
+
+<para>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/runAndEvent/RE01/README">
+    RE01
+    </ulink>
+    - information between primary particles and hits and usage of
+      user-information classes
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/runAndEvent/RE02/README">
+    RE02
+    </ulink>
+    - simplified fixed target application for demonstration of
+      primitive scorers    
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/runAndEvent/RE03/README">
+    RE03
+    </ulink>
+    - use of UI-command based scoring; showing how to create parallel world(s) for defining
+      scoring mesh(es)
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect3>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.ExmpExt.Smmry.Vis">
+<title>
+Visualization
+</title>
+
+<para>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Examples of customisation for visualization
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect3>
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Examples/NoviceCodes.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Examples/NoviceCodes.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Examples/NoviceCodes.xml	(revision 904)
@@ -0,0 +1,2564 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Changed by: Katsuya Amako,  4-Aug-1998                -->
+<!--    Changed by: Katsuya Amako,  9-Jul-1998                -->
+<!--    Proof read by: Joe Chuma,   5-Jul-1999                -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.ExmpNvc">
+<title>
+Novice Examples
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+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 (<literal>*.in</literal>) and reference output files
+(<literal>*.out</literal>) provided. These examples are run routinely as 
+part of the validation, or testing, of official releases of the Geant4
+toolkit.
+</para>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ExmpNvc.Smmry">
+<title>
+Novice Example Summary
+</title>
+
+<para>
+Descriptions of the 7 novice examples are provided here along with
+links to the code.
+</para>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N01/README">
+<literal>ExampleN01</literal>
+</ulink>
+ 
+<link linkend="sect.ExmpNvc.Exmp01">
+(Description below)
+</link>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Mandatory user classes
+  </para></listitem>
+  <listitem><para>
+    Demonstrates how Geant4 kernel works
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/README">
+<literal>ExampleN02</literal>
+</ulink>
+
+<link linkend="sect.ExmpNvc.Exmp02">
+(Description below)
+</link>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Simplified tracker geometry with uniform magnetic field
+  </para></listitem>
+  <listitem><para>
+    Electromagnetic processes
+  </para></listitem>
+</itemizedlist>
+</para>
+
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N03/README">
+<literal>ExampleN03</literal>
+</ulink>
+
+<link linkend="sect.ExmpNvc.Exmp03">
+(Description below)
+</link>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Simplified calorimeter geometry
+  </para></listitem>
+  <listitem><para>
+    Electromagnetic processes
+  </para></listitem>
+  <listitem><para>
+    Various materials
+  </para></listitem>
+</itemizedlist>
+</para>
+
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/README">
+<literal>ExampleN04</literal>
+</ulink>
+
+<link linkend="sect.ExmpNvc.Exmp04">
+(Description below)
+</link>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Simplified collider detector with a readout geometry
+  </para></listitem>
+  <listitem><para>
+    Full ``ordinary'' processes
+  </para></listitem>
+  <listitem><para>
+    PYTHIA primary events
+  </para></listitem>
+  <listitem><para>
+    Event filtering by stack
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/README">
+<literal>ExampleN05</literal>
+</ulink>
+
+<link linkend="sect.ExmpNvc.Exmp05">
+(Description below)
+</link>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Simplified BaBar calorimeter
+  </para></listitem>
+  <listitem><para>
+    EM shower parametrisation
+  </para></listitem>
+</itemizedlist>
+</para>
+
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N06/README">
+<literal>ExampleN06</literal>
+</ulink>
+
+<link linkend="sect.ExmpNvc.Exmp06">
+(Description below)
+</link>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Optical photon processes
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/README">
+<literal>ExampleN07</literal>
+</ulink>
+
+<link linkend="sect.ExmpNvc.Exmp07">
+(Description below)
+</link>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Geometrical Regions for production thresholds
+  </para></listitem>
+  <listitem><para>
+    Dynamic geometry setups between runs
+  </para></listitem>
+  <listitem><para>
+    Primitive scorer and filter
+  </para></listitem>
+  <listitem><para>
+    Derived run class and run action
+  </para></listitem>
+</itemizedlist>
+</para>
+
+
+<para>
+<xref linkend="table.ExmpNvc_1" />, <xref linkend="table.ExmpNvc_2" /> and 
+<xref linkend="table.ExmpNvc_3" /> display the ``item charts'' for
+the examples currently prepared in the novice level.
+
+<table id="table.ExmpNvc_1">
+<title>
+The ``item chart'' for novice level examples <literal>N01</literal>,
+<literal>N02</literal> and <literal>N03</literal>.
+</title>
+
+<tgroup cols="4">
+<tbody>
+  <row>
+    <entry>
+
+    </entry>
+    <entry>
+      <literal>ExampleN01</literal>
+    </entry>
+    <entry>
+      <literal>ExampleN02</literal>
+    </entry>
+    <entry>
+      <literal>ExampleN03</literal>
+    </entry>
+  </row>
+  <row>
+    <entry>
+      comments
+    </entry>
+    <entry>
+      minimal set for geantino transportation
+    </entry>
+    <entry>
+      fixed target tracker geometry
+    </entry>
+    <entry>
+      EM shower in calorimeter
+    </entry>
+  </row>
+  <row>
+    <entry>
+      Run
+    </entry>
+    <entry>
+      <literal>main()</literal> for hard coded batch
+    </entry>
+    <entry>
+      <literal>main()</literal> for interactive mode
+    </entry>
+    <entry>
+      <itemizedlist spacing="compact">
+      <listitem><para>
+        <literal>main()</literal> for interactive mode
+      </para></listitem>
+      <listitem><para>
+        SetCut and Process On/Off
+      </para></listitem>
+      </itemizedlist>
+    </entry>
+  </row>
+  <row>
+    <entry>
+      Event
+    </entry>
+    <entry>
+      event generator selection (particleGun)
+    </entry>
+    <entry>
+      event generator selection (particleGun)
+    </entry>
+    <entry>
+      <itemizedlist spacing="compact">
+      <listitem><para>
+        event generator selection (particleGun)
+      </para></listitem>
+      <listitem><para>
+        ``end of event'' simple analysis in <emphasis>UserEventAction</emphasis>
+      </para></listitem>
+      </itemizedlist>
+    </entry>
+  </row>
+  <row>
+    <entry>
+      Tracking
+    </entry>
+    <entry>
+      hard coded verbose level setting
+    </entry>
+    <entry>
+      selecting secondaries
+    </entry>
+    <entry>
+      select trajectories
+    </entry>
+  </row>
+  <row>
+    <entry>
+      Geometry
+    </entry>
+    <entry>
+      geometry definition (CSG)
+    </entry>
+    <entry>
+      <itemizedlist spacing="compact">
+      <listitem><para>
+        geometry definition (includes Parametrised volume)
+      </para></listitem>
+      <listitem><para>
+        uniform magnetic field
+      </para></listitem>
+      </itemizedlist>
+    </entry>
+    <entry>
+      <itemizedlist spacing="compact">
+      <listitem><para>
+        geometry definition (includes replica)
+      </para></listitem>
+      <listitem><para>
+        uniform magnetic field
+      </para></listitem>
+      </itemizedlist>
+    </entry>
+  </row>
+  <row>
+    <entry>
+      Hits/Digi
+    </entry>
+    <entry align="center">
+      -
+    </entry>
+    <entry>
+      tracker type hits
+    </entry>
+    <entry>
+      calorimeter-type hits
+    </entry>
+  </row>
+  <row>
+    <entry>
+      PIIM
+    </entry>
+    <entry>
+      <itemizedlist spacing="compact">
+      <listitem><para>
+        minimal particle set
+      </para></listitem>
+      <listitem><para>
+        single element material
+      </para></listitem>
+      </itemizedlist>
+    </entry>
+    <entry>
+      <itemizedlist spacing="compact">
+      <listitem><para>
+        EM particles set
+      </para></listitem>
+      <listitem><para>
+        mixtures and compound elements
+      </para></listitem>
+      </itemizedlist>
+    </entry>
+    <entry>
+      <itemizedlist spacing="compact">
+      <listitem><para>
+        EM particles set
+      </para></listitem>
+      <listitem><para>
+        mixtures and compound elements
+      </para></listitem>
+      </itemizedlist>
+    </entry>
+  </row>
+  <row>
+    <entry>
+      Physics
+    </entry>
+    <entry>
+      transportation
+    </entry>
+    <entry>
+      EM physics
+    </entry>
+    <entry>
+      EM physics
+    </entry>
+  </row>
+  <row>
+    <entry>
+      Vis
+    </entry>
+    <entry align="center">
+      -
+    </entry>
+    <entry>
+      <itemizedlist spacing="compact">
+      <listitem><para>
+        detector &amp; trajectory drawing
+      </para></listitem>
+      <listitem><para>
+        tracker type hits drawing
+      </para></listitem>
+      </itemizedlist>
+    </entry>
+    <entry>
+      detector &amp; trajectory drawing
+    </entry>
+  </row>
+  <row>
+    <entry>
+      (G)UI
+    </entry>
+    <entry align="center">
+      -
+    </entry>
+    <entry>
+      GUI selection
+    </entry>
+    <entry>
+      GUI selection
+    </entry>
+  </row>
+  <row>
+    <entry>
+      Global
+    </entry>
+    <entry align="center">
+      -
+    </entry>
+    <entry  align="center">
+      -
+    </entry>
+    <entry align="center">
+      -
+    </entry>
+  </row>
+  </tbody>
+</tgroup>
+</table>
+</para>
+
+
+<para>
+<table id="table.ExmpNvc_2">
+<title>
+The ``item chart'' for novice level examples <literal>N04</literal>,
+<literal>N05</literal>, and <literal>N06</literal>.
+</title>
+<tgroup cols="4">
+  <tbody>
+  <row>
+    <entry>
+
+    </entry>
+    <entry>
+      <literal>ExampleN04</literal>
+    </entry>
+    <entry>
+      <literal>ExampleN05</literal>
+    </entry>
+    <entry>
+      <literal>ExampleN06</literal>
+    </entry>
+  </row>
+  <row>
+    <entry>
+      comments
+    </entry>
+    <entry>
+      simplified collider geometry
+    </entry>
+    <entry>
+      parametrised shower example
+    </entry>
+    <entry>
+      Optical photon example
+    </entry>
+  </row>
+  <row>
+    <entry>
+      Run
+    </entry>
+    <entry>
+      <literal>main()</literal> for interactive mode
+    </entry>
+    <entry>
+      <literal>main()</literal> for interactive mode
+    </entry>
+    <entry>
+      <literal>main()</literal> for interactive mode
+    </entry>
+  </row>
+  <row>
+    <entry>
+      Event
+    </entry>
+    <entry>
+      <itemizedlist spacing="compact">
+      <listitem><para>
+        event generator selection (HEPEvtInterface)
+      </para></listitem>
+      <listitem><para>
+        Stack control
+      </para></listitem>
+      </itemizedlist>
+    </entry>
+    <entry>
+      event generator selection (HEPEvtInterface)
+    </entry>
+    <entry>
+      event generator selection (particleGun)
+    </entry>
+  </row>
+  <row>
+    <entry>
+      Tracking
+    </entry>
+    <entry>
+      <itemizedlist spacing="compact">
+      <listitem><para>
+        select trajectories
+      </para></listitem>
+      <listitem><para>
+        selecting secondaries
+      </para></listitem>
+      </itemizedlist>
+    </entry>
+    <entry align="center">
+      -
+    </entry>
+    <entry align="center">
+      -
+    </entry>
+  </row>
+  <row>
+    <entry>
+      Geometry
+    </entry>
+    <entry>
+      <itemizedlist spacing="compact">
+      <listitem><para>
+        geometry definition (includes Param/Replica)
+      </para></listitem>
+      <listitem><para>
+        non-uniform magnetic field
+      </para></listitem>
+      </itemizedlist>
+    </entry>
+    <entry>
+      ghost volume for shower parametrisation
+    </entry>
+    <entry>
+      geometry definition (BREP with rotation)
+    </entry>
+  </row>
+  <row>
+    <entry>
+      Hits/Digi
+    </entry>
+    <entry>
+      <itemizedlist spacing="compact">
+      <listitem><para>
+        Tracker/calorimeter/counter types
+      </para></listitem>
+      <listitem><para>
+        ReadOut geometry
+      </para></listitem>
+      </itemizedlist>
+    </entry>
+    <entry>
+      Sensitive detector for shower parametrisation
+    </entry>
+    <entry align="center">
+      -
+    </entry>
+  </row>
+  <row>
+    <entry>
+      PIIM
+    </entry>
+    <entry>
+      <itemizedlist spacing="compact">
+      <listitem><para>
+        Full particle set
+      </para></listitem>
+      <listitem><para>
+        mixtures and compound elements
+      </para></listitem>
+      </itemizedlist>
+    </entry>
+    <entry>
+      <itemizedlist spacing="compact">
+      <listitem><para>
+        EM set
+      </para></listitem>
+      <listitem><para>
+        mixtures and compound elements
+      </para></listitem>
+      </itemizedlist>
+    </entry>
+    <entry>
+      <itemizedlist spacing="compact">
+      <listitem><para>
+        EM set
+      </para></listitem>
+      <listitem><para>
+        mixtures and compound elements
+      </para></listitem>
+      </itemizedlist>
+    </entry>
+  </row>
+  <row>
+    <entry>
+      Physics
+    </entry>
+    <entry>
+      Full physics processes
+    </entry>
+    <entry>
+      Parametrized shower
+    </entry>
+    <entry>
+      Optical photon processes
+    </entry>
+  </row>
+  <row>
+    <entry>
+      Vis
+    </entry>
+    <entry>
+      <itemizedlist spacing="compact">
+      <listitem><para>
+        detector &amp; hit drawing
+      </para></listitem>
+      <listitem><para>
+        calorimeter type hits drawing
+      </para></listitem>
+      </itemizedlist>
+    </entry>
+    <entry>
+      detector &amp; hit drawing
+    </entry>
+    <entry align="center">
+      -
+    </entry>
+  </row>
+  <row>
+    <entry>
+      (G)UI
+    </entry>
+    <entry>
+      define user commands
+    </entry>
+    <entry>
+      define user commands
+    </entry>
+    <entry>
+      define user commands
+    </entry>
+  </row>
+  <row>
+    <entry>
+      Global
+    </entry>
+    <entry align="center">
+      -
+    </entry>
+    <entry align="center">
+      -
+    </entry>
+    <entry>
+      random number engine
+    </entry>
+  </row>
+</tbody>
+</tgroup>
+</table>
+</para>
+
+<para>
+<table id="table.ExmpNvc_3">
+<title>
+The ``item chart'' for novice level example <literal>N07</literal>.
+</title>
+
+<tgroup cols="2">
+  <tbody>
+  <row>
+    <entry>
+ 
+    </entry>
+    <entry>
+      <literal>ExampleN07</literal>
+    </entry>
+  </row>
+  <row>
+    <entry>
+      comments
+    </entry>
+    <entry>
+      Cuts per region
+    </entry>
+  </row>
+  <row>
+    <entry>
+      Run
+    </entry>
+    <entry>
+      <itemizedlist spacing="compact">
+      <listitem><para>
+        <literal>main()</literal> for interactive mode
+      </para></listitem>
+      <listitem><para>
+        Customized run class
+      </para></listitem>
+      </itemizedlist>
+    </entry>
+  </row>
+  <row>
+    <entry>
+      Event
+    </entry>
+    <entry>
+      event generator selection (particleGun)
+    </entry>
+  </row>
+  <row>
+    <entry>
+      Tracking
+    </entry>
+    <entry align="center">
+      -
+    </entry>
+  </row>
+  <row>
+    <entry>
+      Geometry
+    </entry>
+    <entry>
+      <itemizedlist spacing="compact">
+      <listitem><para>
+        geometry definition (includes Replica)
+      </para></listitem>
+      <listitem><para>
+        Region
+      </para></listitem>
+      </itemizedlist>
+    </entry>
+  </row>
+  <row>
+    <entry>
+      Hits/Digi
+    </entry>
+    <entry>
+      <itemizedlist spacing="compact">
+      <listitem><para>
+        Primitive scorer
+      </para></listitem>
+      <listitem><para>
+        Filter
+      </para></listitem>
+      </itemizedlist>
+    </entry>
+  </row>
+  <row>
+    <entry>
+      PIIM
+    </entry>
+    <entry>
+      <itemizedlist spacing="compact">
+      <listitem><para>
+        EM set
+      </para></listitem>
+      <listitem><para>
+        mixtures and compound elements
+      </para></listitem>
+      </itemizedlist>
+    </entry>
+  </row>
+  <row>
+    <entry>
+      Physics
+    </entry>
+    <entry>
+      EM processes
+    </entry>
+  </row>
+  <row>
+    <entry>
+      Vis
+    </entry>
+    <entry>
+      detector &amp; trajectory drawing
+    </entry>
+  </row>
+  <row>
+    <entry>
+      (G)UI
+    </entry>
+    <entry>
+      define user commands
+    </entry>
+  </row>
+  <row>
+    <entry>
+      Global
+    </entry>
+    <entry align="center">
+      -
+    </entry>
+  </row>
+  </tbody>
+</tgroup>
+</table>
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ExmpNvc.Exmp01">
+<title>
+Example N01
+</title>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Basic concepts
+</bridgehead>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+   minimal set for geantino transportation    
+  </para></listitem>
+</itemizedlist>
+
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Classes
+</bridgehead>
+
+<para>
+<literal>main()</literal> 
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N01/exampleN01.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    hard coded batch
+  </para></listitem>
+  <listitem><para>
+    construction and deletion of <emphasis>G4RunManager</emphasis>
+  </para></listitem>
+  <listitem><para>
+    hard coded verbose level setting to <emphasis>G4RunManager</emphasis>,
+    <emphasis>G4EventManager</emphasis> and
+    <emphasis>G4TrackingManager</emphasis>
+  </para></listitem>
+  <listitem><para>
+    construction and set of mandatory user classes
+  </para></listitem>
+  <listitem><para>
+    hard coded <literal>beamOn()</literal>
+  </para></listitem>
+  <listitem><para>
+    Hard coded UI command application
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN01DetectorConstruction
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N01/include/ExN01DetectorConstruction.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N01/src/ExN01DetectorConstruction.cc">
+(source file)
+</ulink>
+ 
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from G4VUserDetectorConstruction
+  </para></listitem>
+  <listitem><para>
+    definitions of single element materials
+  </para></listitem>
+  <listitem><para>
+    CSG solids
+  </para></listitem>
+  <listitem><para>
+    <emphasis>G4PVPlacement</emphasis> without rotation
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN01PhysicsList
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N01/include/ExN01PhysicsList.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N01/src/ExN01PhysicsList.cc">
+(source file)
+</ulink>
+ 
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4VUserPhysicsList</emphasis>
+  </para></listitem>
+  <listitem><para>
+    definition of geantino
+  </para></listitem>
+  <listitem><para>
+    assignment of transportation process
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN01PrimaryGeneratorAction
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N01/include/ExN01PrimaryGeneratorAction.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N01/src/ExN01PrimaryGeneratorAction.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4VPrimaryGeneratorAction</emphasis>
+  </para></listitem>
+  <listitem><para>
+    construction of <emphasis>G4ParticleGun</emphasis>
+  </para></listitem>
+  <listitem><para>
+    primary event generation via particle gun
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ExmpNvc.Exmp02">
+<title>
+Example N02
+</title>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Basic concepts
+</bridgehead>
+
+<para>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Detector: fixed target type
+  </para></listitem>
+  <listitem><para>
+    Processes: EM
+  </para></listitem>
+  <listitem><para>
+    Hits: tracker type hits
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Classes
+</bridgehead>
+
+<para>
+<literal>main()</literal> 
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/exampleN02.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <literal>main()</literal> for interactive mode (and batch mode via macro
+    file)
+  </para></listitem>
+  <listitem><para>
+    construction and deletion of (G)UI session and
+    <emphasis>VisManager</emphasis>
+  </para></listitem>
+  <listitem><para>
+    random number engine
+  </para></listitem>
+  <listitem><para>
+    construction and deletion of <emphasis>G4RunManager</emphasis>
+  </para></listitem>
+  <listitem><para>
+    construction and set of mandatory user classes
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN02DetectorConstruction
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02DetectorConstruction.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02DetectorConstruction.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4VUserDetectorConstruction</emphasis>
+  </para></listitem>
+  <listitem><para>
+    definitions of single-element, mixture and compound materials
+  </para></listitem>
+  <listitem><para>
+    CSG solids
+  </para></listitem>
+  <listitem><para>
+    Uniform magnetic field: construction of
+    <emphasis>ExN02MagneticField</emphasis>
+  </para></listitem>
+  <listitem><para>
+    Physical Volumes
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        <emphasis>G4Placement</emphasis> volumes with &amp; without rotation.
+      </para></listitem>
+      <listitem><para>
+        <emphasis>G4PVParameterised</emphasis> volumes without rotation
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN02MagneticField
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02MagneticField.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02MagneticField.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4MagneticField</emphasis>
+  </para></listitem>
+  <listitem><para>
+    Uniform field. <emphasis>ExN02MagneticField</emphasis>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN02PhysicsList
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02PhysicsList.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02PhysicsList.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4VUserPhysicsList</emphasis>
+  </para></listitem>
+  <listitem><para>
+    definition of geantinos, electrons, positrons, gammas
+  </para></listitem>
+  <listitem><para>
+    utilisation of transportation and 'standard' EM-processes
+  </para></listitem>
+  <listitem><para>
+    Interactivity: chooses processes interactively (=&gt; messenger class)
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN02PrimaryGeneratorAction
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02PrimaryGeneratorAction.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02PrimaryGeneratorAction.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4VPrimaryGeneratorAction</emphasis>
+  </para></listitem>
+  <listitem><para>
+    construction of <emphasis>G4ParticleGun</emphasis>
+  </para></listitem>
+  <listitem><para>
+    primary event generation via particle gun
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN02RunAction
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02RunAction.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02RunAction.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4VUserRunAction</emphasis>
+  </para></listitem>
+  <listitem><para>
+    draw detector
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN02EventAction
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02EventAction.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02EventAction.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4VUserEventAction</emphasis>
+  </para></listitem>
+  <listitem><para>
+    print time information
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN02TrackerSD
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02TrackerSD.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02TrackerSD.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4VSensitiveDetector</emphasis>
+  </para></listitem>
+  <listitem><para>
+    tracker-type hit generation 
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN02TrackerHit
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02TrackerHit.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02TrackerHit.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4VHit</emphasis>
+  </para></listitem>
+  <listitem><para>
+    draw hit point
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ExmpNvc.Exmp03">
+<title>
+Example N03
+</title>
+ 
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Basic concepts
+</bridgehead>
+
+<para>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Visualize Em processes.
+  </para></listitem>
+  <listitem><para>
+    Interactivity: build messenger classes.
+  </para></listitem>
+  <listitem><para>
+    Gun: shoot particle randomly.
+  </para></listitem>
+  <listitem><para>
+    Tracking: collect energy deposition, total track length
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Classes
+</bridgehead>
+
+<para>
+<literal>main()</literal> 
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N03/exampleN03.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <literal>main()</literal> for interactive mode and batch mode via macro
+    file
+  </para></listitem>
+  <listitem><para>
+    construction and deletion of <emphasis>G4RunManager</emphasis>
+  </para></listitem>
+  <listitem><para>
+    construction and deletion of (G)UI session and
+    <emphasis>VisManager</emphasis>
+  </para></listitem>
+  <listitem><para>
+    construction and set of mandatory user classes
+  </para></listitem>
+  <listitem><para>
+    automatic initialization of geometry and visualization via a
+    macro file
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN03DetectorConstruction
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N03/include/ExN03DetectorConstruction.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N03/src/ExN03DetectorConstruction.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4VUserDetectorConstruction</emphasis>
+  </para></listitem>
+  <listitem><para>
+    definitions of single materials and mixtures
+  </para></listitem>
+  <listitem><para>
+    CSG solids
+  </para></listitem>
+  <listitem><para>
+    <emphasis>G4PVPlacement</emphasis> without rotation
+  </para></listitem>
+  <listitem><para>
+    Interactivity: change detector size, material, magnetic field.
+    (=&gt;messenger class)
+  </para></listitem>
+  <listitem><para>
+    visualization
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN03PhysicsList
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N03/include/ExN03PhysicsList.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N03/src/ExN03PhysicsList.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4VUserPhysicsList</emphasis>
+  </para></listitem>
+  <listitem><para>
+    definition of geantinos, gamma, leptons, light mesons barions
+    and ions
+  </para></listitem>
+  <listitem><para>
+    Transportation process, 'standard' Em processes, Decay
+  </para></listitem>
+  <listitem><para>
+    Interactivity: <emphasis>SetCut</emphasis>, process on/off. (=&gt; messenger
+    class)
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN03PrimaryGeneratorAction
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N03/include/ExN03PrimaryGeneratorAction.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N03/src/ExN03PrimaryGeneratorAction.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4VPrimaryGeneratorAction</emphasis>
+  </para></listitem>
+  <listitem><para>
+    construction of <emphasis>G4ParticleGun</emphasis>
+  </para></listitem>
+  <listitem><para>
+    primary event generation via particle gun
+  </para></listitem>
+  <listitem><para>
+    Interactivity: shoot particle randomly. (=&gt; messenger
+    class)
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN03RunAction
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N03/include/ExN03RunAction.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N03/src/ExN03RunAction.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4VUserRunAction</emphasis>
+  </para></listitem>
+  <listitem><para>
+    draw detector and tracks
+  </para></listitem>
+  <listitem><para>
+    Interactivity: <emphasis>SetCut,</emphasis> process on/off.
+  </para></listitem>
+  <listitem><para>
+    Interactivity: change detector size, material, magnetic field.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN03EventAction
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN03EventAction.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN03EventAction.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4VUserEventAction</emphasis>
+  </para></listitem>
+  <listitem><para>
+    store trajectories
+  </para></listitem>
+  <listitem><para>
+    print end of event information (energy deposited, etc.)
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN03SteppingAction
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N03/include/ExN03SteppingAction.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N03/src/ExN03SteppingAction.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4VUserSteppingAction</emphasis>
+  </para></listitem>
+  <listitem><para>
+    collect energy deposition, etc.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ExmpNvc.Exmp04">
+<title>
+Example N04
+</title>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Basic concepts
+</bridgehead>
+
+<para>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Simplified collider experiment geometry
+  </para></listitem>
+  <listitem><para>
+    Full hits/digits/trigger
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Classes
+</bridgehead>
+
+<para>
+<literal>main()</literal> 
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/exampleN04.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    construction and deletion of <emphasis>ExN04RunManager</emphasis>
+  </para></listitem>
+  <listitem><para>
+    construction and deletion of (G)UI session and
+    <emphasis>VisManager</emphasis>
+  </para></listitem>
+  <listitem><para>
+    construction and set of user classes
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN04DetectorConstruction
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04DetectorConstruction.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04DetectorConstruction.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4VUserDetectorConstruction</emphasis>
+  </para></listitem>
+  <listitem><para>
+    construction of <emphasis>ExN04MagneticField</emphasis>
+  </para></listitem>
+  <listitem><para>
+    definitions of mixture and compound materials
+  </para></listitem>
+  <listitem><para>
+    material-dependent CutOff
+  </para></listitem>
+  <listitem><para>
+    simplified collider geometry with Param/Replica
+  </para></listitem>
+  <listitem><para>
+    tracker/muon -- parametrised
+  </para></listitem>
+  <listitem><para>
+    calorimeter -- replica</para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN04TrackerParametrisation
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04TrackerParametrisation.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04TrackerParametrisation.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4VPVParametrisation</emphasis>
+  </para></listitem>
+  <listitem><para>
+    parametrised sizes
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN04CalorimeterParametrisation
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04CalorimeterParametrisation.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04CalorimeterParametrisation.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4VPVParametrisation</emphasis>
+  </para></listitem>
+  <listitem><para>
+    parametrized position/rotation
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN04MagneticField
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04MagneticField.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04MagneticField.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4MagneticField</emphasis>
+  </para></listitem>
+  <listitem><para>
+    solenoid and toroidal fields
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN04TrackerSD
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04TrackerSD.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN04TrackerSD.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4VSensitiveDetector</emphasis>
+  </para></listitem>
+  <listitem><para>
+    tracker-type hit generation
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN04TrackerHit
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04TrackerHit.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04TrackerHit.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4VHit</emphasis>
+  </para></listitem>
+  <listitem><para>
+    draw hit point
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN04CalorimeterSD
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04CalorimeterSD.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04CalorimeterSD.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4VSensitiveDetector</emphasis>
+  </para></listitem>
+  <listitem><para>
+    calorimeter-type hit generation
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN04CalorimeterHit
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04CalorimeterHit.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04CalorimeterHit.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4VHit</emphasis>
+  </para></listitem>
+  <listitem><para>
+    draw physical volume with variable color
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN04MuonSD
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N01/include/ExN04MuonSD.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N01/src/ExN04MuonSD.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4VSensitiveDetector</emphasis>
+  </para></listitem>
+  <listitem><para> 
+    Scintillator-type hit generation
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN04MuonHit
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04MuonHit.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04MuonHit.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4VHit</emphasis>
+  </para></listitem>
+  <listitem><para>
+    draw physical volume with variable color
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN04PrimaryGeneratorAction
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04PrimaryGeneratorAction.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04PrimaryGeneratorAction.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4VPrimaryGeneratorAction</emphasis>
+  </para></listitem>
+  <listitem><para>
+    construction of <emphasis>G4HEPEvtInterface</emphasis>
+  </para></listitem>
+  <listitem><para>
+    primary event generation with PYTHIA event
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN04EventAction
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04EventAction.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04EventAction.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    store the initial seeds
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN04StackingAction
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04StackingAction.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04StackingAction.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4UserStackingAction</emphasis>
+  </para></listitem>
+  <listitem><para>
+    ``stage'' control and priority control
+  </para></listitem>
+  <listitem><para>
+    event abortion
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN04StackingActionMessenger
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04StackingActionMessenger.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04StackingActionMessenger.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4UImessenger</emphasis>
+  </para></listitem>
+  <listitem><para>
+    define abortion conditions
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN04TrackingAction
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04TrackingAction.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04TrackingAction.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4UserTrackingAction</emphasis>
+  </para></listitem>
+  <listitem><para>
+    select trajectories
+  </para></listitem>
+  <listitem><para>
+    select secondaries
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ExmpNvc.Exmp05">
+<title>
+Example N05
+</title>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Basic concepts
+</bridgehead>
+
+<para>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Use of shower parameterisation:
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        definition of an EM shower model
+      </para></listitem>
+      <listitem><para>
+        assignment to a Logical Volume
+      </para></listitem>
+      <listitem><para>
+        (definition of ghost volume when ready)
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    Interactivity: build of messengers classes
+  </para></listitem>
+  <listitem><para>
+    Hits/Digi: filled from detailed and parameterised simulation
+    (calorimeter type hits ?)
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Classes
+</bridgehead>
+
+<para>
+<literal>main()</literal> 
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/exampleN05.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <literal>main()</literal> for interactive mode
+  </para></listitem>
+  <listitem><para>
+    construction and deletion of <emphasis>G4RunManager</emphasis>
+  </para></listitem>
+  <listitem><para>
+    construction and set of mandatory user classes
+  </para></listitem>
+  <listitem><para>
+    construction of the <emphasis>G4GlobalFastSimulationmanager</emphasis>
+  </para></listitem>
+  <listitem><para>
+    construction of a <emphasis>G4FastSimulationManager</emphasis> to assign fast
+    simulation model to a logical volume (envelope)
+  </para></listitem>
+  <listitem><para>
+    (definition of ghost volume for parameterisation)
+  </para></listitem>
+  <listitem><para>
+    construction EM physics shower fast simulation model
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN05EMShowerModel
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05EMShowerModel.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05EMShowerModel.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4VFastSimulationModel</emphasis>
+  </para></listitem>
+  <listitem><para>
+    energy deposition in sensitive detector
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN05PionShowerModel
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05PionShowerModel.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05PionShowerModel.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4VFastSimulationModel</emphasis>
+  </para></listitem>
+  <listitem><para>
+    energy deposition in sensitive detector
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN05DetectorConstruction
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05DetectorConstruction.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05DetectorConstruction.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4VUserDetectorConstruction</emphasis>
+  </para></listitem>
+  <listitem><para>
+    definitions of single materials and mixtures
+  </para></listitem>
+  <listitem><para>
+    CSG solids
+  </para></listitem>
+  <listitem><para>
+    <emphasis>G4PVPlacement</emphasis>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN05PhysicsList
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05PhysicsList.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05PhysicsList.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4VUserPhysicsList</emphasis>
+  </para></listitem>
+  <listitem><para>
+    assignment of <emphasis>G4FastSimulationManagerProcess</emphasis>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN05PrimaryGeneratorAction
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05PrimaryGeneratorAction.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05PrimaryGeneratorAction.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4VPrimaryGeneratorAction</emphasis>
+  </para></listitem>
+  <listitem><para>
+    construction of <emphasis>G4ParticleGun</emphasis>
+  </para></listitem>
+  <listitem><para>
+    primary event generation via particle gun
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN05RunAction
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05RunAction.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05RunAction.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4VUserRunAction</emphasis>
+  </para></listitem>
+  <listitem><para>
+    draw detector
+  </para></listitem>
+  <listitem><para>
+    (activation/deactivation of parameterisation ?)
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN05EventAction
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05EventAction.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05EventAction.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4VUserEventAction</emphasis>
+  </para></listitem>
+  <listitem><para>
+    print time information
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ExmpNvc.Exmp06">
+<title>
+Example N06
+</title>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Basic concepts
+</bridgehead>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Interactivity : build messenger classes.
+  </para></listitem>
+  <listitem><para>
+    Event : Gun, shoot charge particle at Cerenkov Radiator and Scintillator.
+  </para></listitem>
+  <listitem><para>
+    PIIM : material/mixture with optical and scintillation properties.
+  </para></listitem>
+  <listitem><para>
+    Geometry : volumes filled with optical materials and possessing
+    surface properties.
+  </para></listitem>
+  <listitem><para>
+    Physics : define and initialize optical processes.
+  </para></listitem>
+  <listitem><para>
+    Tracking : generate Cerenkov radiation, collect energy
+    deposition to produce scintillation.
+  </para></listitem>
+  <listitem><para>
+    Hits/Digi : PMT as detector.
+  </para></listitem>
+  <listitem><para>
+    Visualization : geometry, optical photon trajectories.
+  </para></listitem>
+</itemizedlist>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Classes
+</bridgehead>
+
+<para>
+<literal>main()</literal> 
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N06/exampleN06.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <literal>main()</literal> for interactive mode and batch mode via macro
+    file
+  </para></listitem>
+  <listitem><para>
+    random number engine
+  </para></listitem>
+  <listitem><para>
+    construction and deletion of <emphasis>G4RunManager</emphasis>
+  </para></listitem>
+  <listitem><para>
+    construction and set of mandatory user classes
+  </para></listitem>
+  <listitem><para>
+    hard coded <literal>beamOn</literal>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN06DetectorConstruction
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N06/include/ExN06DetectorConstruction.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N06/src/ExN06DetectorConstruction.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4VUserDetectorConstruction</emphasis>
+  </para></listitem>
+  <listitem><para>
+    definitions of single materials and mixtures
+  </para></listitem>
+  <listitem><para>
+    generate and add Material Properties Table to materials
+  </para></listitem>
+  <listitem><para>
+    CSG and BREP solids
+  </para></listitem>
+  <listitem><para>
+    <emphasis>G4PVPlacement</emphasis> with rotation
+  </para></listitem>
+  <listitem><para>
+    definition of surfaces
+  </para></listitem>
+  <listitem><para>
+    generate and add Material Properties Table to surfaces
+  </para></listitem>
+  <listitem><para>
+    visualization
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN06PhysicsList
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N06/include/ExN06PhysicsList.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N06/src/ExN06PhysicsList.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4VUserPhysicsList</emphasis>
+  </para></listitem>
+  <listitem><para>
+    definition of gamma, leptons and optical photons
+  </para></listitem>
+  <listitem><para>
+    transportation, 'standard' EM-processes, decay, Cerenkov,
+    scintillation, 'standard' optical and boundary process
+  </para></listitem>
+  <listitem><para>
+    modify/augment optical process parameters
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN06PrimaryGeneratorAction
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N06/include/ExN06PrimaryGeneratorAction.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N06/src/ExN06PrimaryGeneratorAction.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4VPrimaryGeneratorAction</emphasis>
+  </para></listitem>
+  <listitem><para>
+    construction of <emphasis>G4ParticleGun</emphasis>
+  </para></listitem>
+  <listitem><para>
+    primary event generation via particle gun
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN06RunAction
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N06/include/ExN06RunAction.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N06/src/ExN06RunAction.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4VUserRunAction</emphasis>
+  </para></listitem>
+  <listitem><para>
+    draw detector
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ExmpNvc.Exmp07">
+<title>
+Example N07
+</title>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Basic concepts
+</bridgehead>
+
+<para>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Geometry : Changing geometry of three simplified sandwitch
+    calorimeters without re-building a world volume.
+  </para></listitem>
+  <listitem><para>
+    Region : Defining geometrical regions ans setting production
+    thresholds for each region.
+  </para></listitem>
+  <listitem><para>
+    Run : Utilizing a concrete run class derived from G4Run base
+    class for accumulating physics quantities and hits as a run.
+  </para></listitem>
+  <listitem><para>
+    Hits : Demonstrating the use of primitive scorer and filter
+    classes without implementing sensitive detector class.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Classes
+</bridgehead>
+
+<para>
+<literal>main()</literal> 
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/exampleN07.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <literal>main()</literal> for interactive mode and batch mode via macro
+    file
+  </para></listitem>
+  <listitem><para>
+    construction and deletion of <emphasis>G4RunManager</emphasis>
+  </para></listitem>
+  <listitem><para>
+    construction and deletion of <emphasis>G4VisExective</emphasis> and
+    <emphasis>G4UITerminal</emphasis>
+  </para></listitem>
+  <listitem><para>
+    construction and set of mandatory user classes
+  </para></listitem>
+  <listitem><para>
+    construction and set of <emphasis>ExN07RunAction</emphasis>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN07DetectorConstruction
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/include/ExN07DetectorConstruction.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/src/ExN07DetectorConstruction.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4VUserDetectorConstruction</emphasis>
+  </para></listitem>
+  <listitem><para>
+    definitions of materials and mixtures
+  </para></listitem>
+  <listitem><para>
+    <emphasis>G4Box</emphasis> with <emphasis>G4PVPlacement</emphasis> and
+    <emphasis>G4PVReplica</emphasis>
+  </para></listitem>
+  <listitem><para>
+    Dynamic changing of size, position, orientation and number of
+    volumes
+  </para></listitem>
+  <listitem><para>
+    <emphasis>G4Region</emphasis> for each calorimeter tower
+  </para></listitem>
+  <listitem><para>
+    <emphasis>G4VPrimitiveScorer</emphasis> and
+    <emphasis>G4VSDFilter</emphasis>
+  </para></listitem>
+  <listitem><para>
+    visualization
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN07DetectorMessenger
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/include/ExN07DetectorMessenger.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/src/ExN07DetectorMessenger.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4UIMessenger</emphasis>
+  </para></listitem>
+  <listitem><para>
+    definition of example-specific geometry commands
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN07PhysicsList
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/include/ExN07PhysicsList.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/src/ExN07PhysicsList.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4VUserPhysicsList</emphasis>
+  </para></listitem>
+  <listitem><para>
+    difine all types of particles
+  </para></listitem>
+  <listitem><para>
+    define standard EM and decay processes
+  </para></listitem>
+  <listitem><para>
+    production thresholds for each region
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN07PrimaryGeneratorAction
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/include/ExN07PrimaryGeneratorAction.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/src/ExN07PrimaryGeneratorAction.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4VPrimaryGeneratorAction</emphasis>
+  </para></listitem>
+  <listitem><para>
+    construction of <emphasis>G4ParticleGun</emphasis>
+  </para></listitem>
+  <listitem><para>
+    primary event generation via particle gun
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN07RunAction
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/include/ExN07RunAction.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/src/ExN07RunAction.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4UserRunAction</emphasis>
+  </para></listitem>
+  <listitem><para>
+    constructing <emphasis>ExN07Run</emphasis> class object
+  </para></listitem>
+  <listitem><para>
+    print out a run summary with <emphasis>ExN07Run</emphasis> class object
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ExN07Run
+</bridgehead>
+
+<para>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/include/ExN07Run.hh">
+(header file)
+</ulink>
+<ulink url="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/src/ExN07Run.cc">
+(source file)
+</ulink>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derived from <emphasis>G4Run</emphasis>
+  </para></listitem>
+  <listitem><para>
+    uses <emphasis>G4THitsMap</emphasis> template class to accumulate physics
+    quantities
+  </para></listitem>
+  <listitem><para>
+    extracts event data from <emphasis>G4Event</emphasis> and add up to run data
+  </para></listitem>
+</itemizedlist>
+</para>
+
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/Faq.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/Faq.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/Faq.xml	(revision 904)
@@ -0,0 +1,32 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  This is the top file for FAQ. Entities names used       -->
+<!--  below are defined in XXXEntityDef.dtd.                  -->
+<!--                                                          -->
+<!--  [Note]                                                  -->
+<!--    Created by Katsuya Amako, Dec-2006                    -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!-- ******************** Top of Chapter ******************** -->
+<!-- appendix id="appendix.FAQ" label="" -->
+<!-- Cannot put FAQ under appendix. This causes ID overlap    -->
+<!-- error in FOP. Decided to put under chapter. Dec. 2006 KA -->
+
+<chapter id="chap.FAQ" label="FAQ">
+<title>
+Frequentry Asked Questions
+</title>
+
+<!-- *************** Inclusion of Sections ****************** -->
+&faqInstallation;
+&faqRunTimeProblems;
+&faqGeometry;
+&faqTracksAndSteps;
+&faqPhysicsAndCuts;
+&faqVisualization; 
+&faqUserSupportPolicy;
+
+
+</chapter>
+<!-- /appendix -->
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/FaqEntityDef.dtd
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/FaqEntityDef.dtd	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/FaqEntityDef.dtd	(revision 904)
@@ -0,0 +1,24 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  In this file you need to define entities of all xml     -->
+<!--  section files you want to include from the current      -->
+<!--  directory into G4 FAQ.                                  -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Creattion:  Katsuya Amako,  Dec-2006                  -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!ENTITY faq                       SYSTEM "./Faq.xml">
+
+<!ENTITY faqInstallation           SYSTEM "./installation.xml">
+<!ENTITY faqRunTimeProblems        SYSTEM "./runTimeProblems.xml">
+<!ENTITY faqGeometry               SYSTEM "./geometry.xml">
+<!ENTITY faqTracksAndSteps         SYSTEM "./tracksAndSteps.xml">
+<!ENTITY faqPhysicsAndCuts         SYSTEM "./physicsAndCuts.xml">
+<!ENTITY faqVisualization          SYSTEM "./visualization.xml">
+<!ENTITY faqUserSupportPolicy      SYSTEM "./userSupportPolicy.xml">
+
+
+
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/geometry.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/geometry.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/geometry.xml	(revision 904)
@@ -0,0 +1,134 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    1st version created:  Katsuya Amako, Dec-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ********************* QandA Section ******************** -->
+<section id="qanda.Geometry">
+<title>
+Geometry
+</title>
+
+<qandaset defaultlabel="qanda">
+
+<!-- ******* QandA Entry ******** -->
+<qandaentry  id="qanda.Geometry.GenPnt">
+
+<question><para>
+  I have a generic point and I would like to know in which physical 
+  volume I'm located in my detector geometry. 
+</para></question>
+
+<answer><para>
+  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.
+  <informalexample><programlisting>
+     #include "G4TransportationManager.hh" 
+     #include "G4Navigator.hh" 
+     G4ThreeVector myPoint = ....;
+     G4Navigator* theNavigator = G4TransportationManager::GetTransportationManager()
+                                 -&gt;GetNavigatorForTracking();
+     G4VPhysicalVolume* myVolume = theNavigator-&gt;LocateGlobalPointAndSetup(myPoint); 
+  </programlisting></informalexample>
+
+  <note>
+  <title>Note</title>
+  <para>
+    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.
+  </para>
+  </note> 
+</para></answer>
+
+</qandaentry>
+
+<!-- ******* QandA Entry ******** -->
+<qandaentry id="qanda.Geometry.DghtVol">
+
+<question><para>
+  How can I access the daughter volumes of a specific physical volume? 
+</para></question>
+
+<answer><para>
+  Through the associated logical volume.
+  <informalexample><programlisting>
+      G4VPhysicalVolume* myPVolume = ....; 
+      G4LogicalVolume* myLVolume = myPVolume-&gt;GetLogicalVolume(); 
+      for (G4int i=0; iGetNoDaughters(); i++)  
+        myPVolume = myLVolume-&gt;GetDaughter(i); 
+  </programlisting></informalexample>
+</para></answer>
+
+</qandaentry>
+
+<!-- ******* QandA Entry ******** -->
+<qandaentry id="qanda.Geometry.CpyNum">
+
+<question><para>
+  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! 
+</para></question>
+
+<answer><para>
+  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:
+  <informalexample><programlisting>
+      G4Step* aStep = ..;
+      G4StepPoint* preStepPoint = aStep-&gt;GetPreStepPoint();
+      G4TouchableHandle theTouchable = preStepPoint-&gt;GetTouchableHandle();
+      G4int copyNo = theTouchable-&gt;GetCopyNumber();
+      G4int motherCopyNo = theTouchable-&gt;GetCopyNumber(1);
+  </programlisting></informalexample>
+
+  where <literal>Copy</literal> here stays for any duplicated instance of 
+  a physical volume, either if it is a <literal>G4PVPlacement</literal> 
+  (multiple placements of the same logical volume) or a 
+  <literal>G4PVReplica/G4PVParameterised</literal>.
+  The method <literal>GetCopyNo()</literal> is meant to return only the 
+  serial number of placements not duplicated in the geometry tree.
+</para></answer>
+
+</qandaentry>
+
+<!-- ******* QandA Entry ******** -->
+<qandaentry id="qanda.Geometry.ConvGtoL">
+
+<question><para>
+  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 ? 
+</para></question>
+
+<answer><para>
+  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:
+  <informalexample><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);
+  </programlisting></informalexample>
+
+  where <literal>worldPosition</literal> here stays for the position related 
+  to the world volume, while <literal>localPosition</literal> refers to the 
+  coordinates local to the volume where the particle is currently placed.
+</para></answer>
+
+</qandaentry>
+
+
+</qandaset>
+</section>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/installation.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/installation.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/installation.xml	(revision 904)
@@ -0,0 +1,140 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    1st version created:  Katsuya Amako, Dec-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ********************* QandA Section ******************** -->
+<section id="qanda.Installation">
+<title>
+Installation
+</title>
+
+<qandaset defaultlabel="qanda">
+
+<!-- ******* QandA Entry ******** -->
+<qandaentry id="qanda.Installation.UpkTar">
+
+<question><para>
+  When I download the source from the web, and unpack the tar file, 
+  some files unpack into the top level directory.
+</para></question>
+
+<answer><para>
+  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.
+</para></answer>
+
+</qandaentry>
+
+<!-- ******* QandA Entry ******** -->
+<qandaentry  id="qanda.Installation.NoCLHEP">
+
+<question><para>
+  I cannot find CLHEP files or library and I have it installed in my system.
+</para></question>
+
+<answer><para>
+  If the standard CLHEP installation procedure has been adopted, the variable 
+  <literal>CLHEP_BASE_DIR</literal> should point to the area where 
+  <literal>include/</literal> and <literal>lib/</literal> directories for 
+  CLHEP headers &amp; library are installed in your system. In case the library 
+  file name is different than the one expected (<literal>libCLHEP.a</literal>), 
+  you should either create a symbolic link with the expected name, or define 
+  the variable <literal>CLHEP_LIB</literal> in your environment which 
+  explicitly sets the name of the CLHEP library. If a non-standard CLHEP 
+  installation has been adopted, define variables 
+  <literal>CLHEP_INCLUDE_DIR</literal>, <literal>CLHEP_LIB_DIR</literal> 
+  (and <literal>CLHEP_LIB</literal>) 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 <literal>CLHEP_LIB</literal>, while for UNIX-like systems, 
+  just the name is required (i.e. <literal>CLHEP</literal> for 
+  <literal>libCLHEP.a</literal>).
+</para></answer>
+
+</qandaentry>
+
+<!-- ******* QandA Entry ******** -->
+<qandaentry id="qanda.Installation.noCERNLib">
+
+<question><para>
+  While installing the Geant4 libraries I get the following message printed:
+
+  <informalexample><programlisting>
+         gmake[1]: cernlib: Command not found
+  </programlisting></informalexample>
+
+  Has Geant4 been installed properly ? What to do to solve this error ?
+</para></question>
+
+<answer><para>
+  The message:
+  <informalexample><programlisting>
+         gmake[1]: cernlib: Command not found
+  </programlisting></informalexample>
+
+  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.
+</para></answer>
+
+</qandaentry>
+
+<!-- ******* QandA Entry ******** -->
+<qandaentry id="qanda.Installation.FileDepend">
+
+<question><para>
+  Trying building the Geant4 libraries I see several of these errors appearing 
+  and my installation fails:
+  <informalexample><programlisting>
+         .....G4Exception.d:1: *** missing separator. Stop.
+         ...../G4DalitzDecayChannel.d:1: *** missing separator. Stop.
+           :
+           :
+  </programlisting></informalexample>
+  Has Geant4 been installed properly ? What to do to solve this error ? 
+</para></question>
+
+<answer><para>
+  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:
+  <itemizedlist spacing="compact">
+    <listitem><para>
+      Configure the environment with the installation to be repaired
+    </para></listitem>
+    <listitem><para>
+      Unset the G4WORKDIR environment variable (in case it is eventually set)
+    </para></listitem>
+    <listitem><para>
+      Type:
+      <informalexample><programlisting>
+        gmake clean dependencies=''
+      </programlisting></informalexample>
+
+      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:
+      <informalexample><programlisting>
+        gmake clean dependencies=''
+      </programlisting></informalexample>
+
+      from $G4INSTALL/source and rebuild.
+    </para></listitem>
+  </itemizedlist>
+</para></answer>
+
+</qandaentry>
+
+
+</qandaset>
+</section>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/physicsAndCuts.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/physicsAndCuts.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/physicsAndCuts.xml	(revision 904)
@@ -0,0 +1,51 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    1st version created:  Katsuya Amako, Dec-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ********************* QandA Section ******************** -->
+<section id="qanda.PhysicsCuts">
+<title>
+Physics and cuts
+</title>
+
+<qandaset defaultlabel="qanda">
+
+<!-- ******* QandA Entry ******** -->
+<qandaentry  id="qanda.PhysicsCuts.HowProdCuts">
+
+<question><para>
+  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 ? 
+</para></question>
+
+<answer><para>
+  Geant4 does <emphasis role="bold">NOT</emphasis> 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 <emphasis role="bold">NOT</emphasis> provided by default 
+  in Geant4. So there's <emphasis role="bold">NO</emphasis> "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.
+</para></answer>
+
+</qandaentry>
+
+
+</qandaset>
+</section>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/runTimeProblems.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/runTimeProblems.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/runTimeProblems.xml	(revision 904)
@@ -0,0 +1,88 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    1st version created:  Katsuya Amako, Dec-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ********************* QandA Section ******************** -->
+<section id="qanda.RunTimeProb">
+<title>
+Run Time Problems
+</title>
+
+<qandaset defaultlabel="qanda">
+
+<!-- ******* QandA Entry ******** -->
+<qandaentry id="qanda.RunTimeProb.SegFltInExmp">
+
+<question><para>
+  On Linux, I get a segmentation fault as soon as I run one of the official 
+  examples.
+</para></question>
+
+<answer><para>
+  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.
+</para></answer>
+
+</qandaentry>
+
+
+<!-- ******* QandA Entry ******** -->
+<qandaentry id="qanda.RunTimeProb.ErrShareLib">
+
+<question><para>
+  I installed Geant4 libraries and built my application, when I try to run 
+  it I get:
+  <informalexample><programlisting>
+         error in loading shared libraries:
+         libCLHEP.so: cannot open shared object file:
+         No such file or directory.
+  </programlisting></informalexample>
+</para></question>
+
+<answer><para>
+  Your installation of CLHEP includes shared libraries. You need to specify 
+  the path where libCLHEP.so is installed through your environment variable 
+  <literal>LD_LIBRARY_PATH</literal>. For example, in tcsh UNIX shell:
+  <informalexample><programlisting>
+       setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:$CLHEP_BASE_DIR/lib
+  </programlisting></informalexample>
+</para></answer>
+
+</qandaentry>
+
+
+<!-- ******* QandA Entry ******** -->
+<qandaentry id="qanda.RunTimeProb.errFPE">
+
+<question><para>
+  On my system I get a Floating Point Exception (FPE) since some physics 
+  processes sometimes return <literal>DBL_MAX</literal> as interaction 
+  length  and this number is afterwards multiplied by a number greater 
+  than 1.
+</para></question>
+
+<answer><para>
+  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).
+</para></answer>
+
+</qandaentry>
+
+
+
+</qandaset>
+</section>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/tracksAndSteps.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/tracksAndSteps.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/tracksAndSteps.xml	(revision 904)
@@ -0,0 +1,200 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    1st version created:  Katsuya Amako, Dec-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ********************* QandA Section ******************** -->
+<section id="qanda.TrackSteps">
+<title>
+Tracks and steps
+</title>
+
+<qandaset defaultlabel="qanda">
+
+<!-- ******* QandA Entry ******** -->
+<qandaentry id="qanda.TrackSteps.AccssTrkInfo">
+
+<question><para>
+  How can I access the track information through the step object and 
+  what information am I allowed to access ?
+</para></question>
+
+<answer><para>
+  <para>
+  A <literal>G4Step</literal> object consists of two points:
+  <informalexample><programlisting>
+      G4StepPoint* point1 = step-&gt;GetPreStepPoint();
+      G4StepPoint* point2 = step-&gt;GetPostStepPoint();
+  </programlisting></informalexample>
+  </para>
+
+  <para>
+  To get their positions in the global coordinate system:
+  <informalexample><programlisting>
+      G4ThreeVector pos1 = point1-&gt;GetPosition();
+      G4ThreeVector pos2 = point2-&gt;GetPosition();
+  </programlisting></informalexample>
+  </para>
+
+  <para>
+  Hereafter we call current volume the volume where the step has just 
+  gone through. Geometrical informations are available from 
+  <literal>preStepPoint</literal>.
+  <literal>G4VTouchable</literal> and its derivates keep these geometrical 
+  informations. We retrieve a touchable by creating a handle for it:
+
+  <informalexample><programlisting>
+      G4TouchableHandle touch1 = point1-&gt;GetTouchableHandle();
+  </programlisting></informalexample>  
+  </para>
+
+  <para>
+  To get the current volume:
+  <informalexample><programlisting>
+       G4VPhysicalVolume* volume = touch1-&gt;GetVolume();
+  </programlisting></informalexample>  
+  </para>
+
+  <para>
+  To get its name:
+  <informalexample><programlisting>
+      G4String name = volume-&gt;GetName();
+  </programlisting></informalexample>  
+  </para>
+
+<?soft-pagebreak ?>
+  <para>
+  To get the physical volume copy number:
+  <informalexample><programlisting>
+      G4int copyNumber = touch1-&gt;GetCopyNumber();
+  </programlisting></informalexample>  
+  </para>
+
+  <para>
+  To get logical volume:
+  <informalexample><programlisting>
+      G4LogicalVolume* lVolume = volume-&gt;GetLogicalVolume();
+  </programlisting></informalexample>  
+  </para>
+
+<?soft-pagebreak ?>
+  <para>
+  To get the associated material: the following statements are equivalent:
+  <informalexample><programlisting>
+      G4Material* material = point1  -&gt;GetMaterial();
+      G4Material* material = lVolume -&gt;GetMaterial();
+  </programlisting></informalexample>  
+  </para>
+
+<?soft-pagebreak ?>
+  <para>
+  To get the geometrical region:
+  <informalexample><programlisting>
+      G4Region* region = lVolume-&gt;GetRegion();
+  </programlisting></informalexample>  
+  </para>
+
+<?soft-pagebreak ?>
+  <para>
+  To get its mother volume:
+  <informalexample><programlisting>
+      G4VPhysicalVolume* mother = touch1-&gt;GetVolume(depth=1);
+      grandMother: depth=2 ...etc...
+  </programlisting></informalexample>  
+  </para>
+
+<?soft-pagebreak ?>
+  <para>
+  To get the copy number of the mother volume:
+  <informalexample><programlisting>
+      G4int copyNumber = touch1-&gt;GetCopyNumber(depth=1);
+      grandMother: depth=2 ...etc...
+  </programlisting></informalexample>  
+  </para>
+
+  <para>
+  To get the process which has limited the current step:
+  <informalexample><programlisting>
+      G4VProcess* aProcess = point2-&gt;GetProcessDefinedStep();
+  </programlisting></informalexample>  
+  </para>
+
+  <para>
+  To check that the particle has just entered in the current volume 
+  (i.e. it is at the first step in the volume; the 
+  <literal>preStepPoint</literal> is at the boundary):
+
+  <informalexample><programlisting>
+      if (point1-&gt;GetStepStatus() == fGeomBoundary) 
+  </programlisting></informalexample>  
+  </para>
+
+  <para>
+  To check that the particle is leaving the current volume 
+  (i.e. it is at the last step in the volume; the 
+  <literal>postStepPoint</literal> is at the boundary):
+
+  <informalexample><programlisting>
+      if (point2-&gt;GetStepStatus() == fGeomBoundary)
+  </programlisting></informalexample>  
+  </para>
+
+  <para>
+  In the above situation, to get touchable of the next volume:
+
+  <informalexample><programlisting>
+      G4TouchableHandle touch2 = point2-&gt;GetTouchableHandle();
+  </programlisting></informalexample>  
+
+  From <literal>touch2</literal>, all informations on the next 
+  volume can be retrieved as above.
+  </para>
+
+  <para>
+  Physics quantities are available from the step 
+  (<literal>G4Step</literal>) or from the track (<literal>G4Track</literal>).
+  </para>
+
+  <para>
+  To get the energy deposition, step length, displacement and time 
+  of flight spent by the current step:
+  <informalexample><programlisting>
+      G4double eDeposit      = step-&gt;GetTotalEnergyDeposit();
+      G4double sLength       = step-&gt;GetStepLength();
+      G4ThreeVector displace = step-&gt;GetDeltaPosition();
+      G4double tof           = step-&gt;GetDeltaTime();
+  </programlisting></informalexample>  
+  </para>
+
+  <para>
+  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:
+  <informalexample><programlisting>
+      G4Track* track         = step-&gt;GetTrack();
+      G4ThreeVector momentum = track-&gt;GetMomentum();
+      G4double kinEnergy     = track-&gt;GetKineticEnergy();
+      G4double globalTime    = track-&gt;GetGlobalTime();
+      ...etc...
+  </programlisting></informalexample>  
+
+    <note>
+    <title>Remark</title>
+    <para>
+      To transform a position from the global coordinate system to the 
+      local system of the current volume, use the 
+      <literal>preStepPoint</literal> transformation, as described in the 
+      <link linkend="qanda.Geometry.ConvGtoL">geometry section</link> above.
+    </para>
+    </note>
+  </para>
+</para></answer>
+
+</qandaentry>
+
+
+</qandaset>
+</section>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/userSupportPolicy.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/userSupportPolicy.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/userSupportPolicy.xml	(revision 904)
@@ -0,0 +1,125 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    1st version created:  Katsuya Amako, Dec-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ********************* QandA Section ******************** -->
+<section id="qanda.UserSupPolicy">
+<title>
+User Support Policy
+</title>
+
+<qandaset defaultlabel="qanda">
+
+<!-- ******* QandA Entry ******** -->
+<qandaentry  id="qanda.UserSupPolicy.FirstAid">
+
+<question><para>
+  If I need to discuss technical matters specific to my simulation 
+  application or ask for first-aid help, who can I contact?
+</para></question>
+
+<answer><para>
+  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 
+  <ulink url="http://geant4.web.cern.ch/geant4/">
+  G4 Technical Board</ulink>. You may also post your question in the 
+  <ulink url="http://geant4-hn.slac.stanford.edu:5090/Geant4-HyperNews/index">  
+  Geant4 HyperNews Forum</ulink>.
+
+</para></answer>
+</qandaentry>
+
+<!-- ******* QandA Entry ******** -->
+<qandaentry  id="qanda.UserSupPolicy.FindBug">
+
+<question><para>
+  If I find a bug or other problem with the code, who should be informed?
+</para></question>
+
+<answer><para>
+   A WWW interface, available at 
+   <ulink url="http://cern.ch/geant4/problemreport/">
+   Problem tracking system</ulink>, 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.
+</para></answer>
+</qandaentry>
+
+<!-- ******* QandA Entry ******** -->
+<qandaentry  id="qanda.UserSupPolicy.PropFix">
+
+<question><para>
+  If I propose a fix, who is responsible for approving it?
+</para></question>
+
+<answer><para>
+  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.
+</para></answer>
+</qandaentry>
+
+<!-- ******* QandA Entry ******** -->
+<qandaentry  id="qanda.UserSupPolicy.PropImprv">
+
+<question><para>
+  To whom should I send a proposal for an improvement in Geant4 
+  functionality?
+</para></question>
+
+<answer><para>
+  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.
+</para></answer>
+</qandaentry>
+
+<!-- ******* QandA Entry ******** -->
+<qandaentry  id="qanda.UserSupPolicy.RegMeet">
+
+<question><para>
+  Is there a regular user meeting which I should attend?
+</para></question>
+
+<answer><para>
+  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.
+</para></answer>
+</qandaentry>
+
+<!-- ******* QandA Entry ******** -->
+<qandaentry  id="qanda.UserSupPolicy.PrtcProb">
+
+<question><para>
+  Where can I find solutions to particular problems as well as general user 
+  support?
+</para></question>
+
+<answer><para>
+  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 
+  <ulink url="http://geant4.web.cern.ch/geant4/support/index.shtml">
+  User Support</ulink> page.
+</para></answer>
+</qandaentry>
+
+
+</qandaset>
+</section>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/visualization.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/visualization.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/FAQ/visualization.xml	(revision 904)
@@ -0,0 +1,66 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    1st version created:  Katsuya Amako, Dec-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ********************* QandA Section ******************** -->
+<section id="qanda.Vis">
+<title>
+Visualization
+</title>
+
+<qandaset defaultlabel="qanda">
+
+<!-- ******* QandA Entry ******** -->
+<qandaentry  id="qanda.Vis.NoVisAppr">
+
+<question><para>
+  I have set G4VIS... environmental variables but visualization does not 
+  appear to be enabled. 
+</para></question>
+
+<answer><para>
+  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:
+
+  <itemizedlist spacing="compact">
+    <listitem><para>
+      Configure the environment according to the installation making sure 
+      to -unset- the <literal>G4WORKDIR</literal> environment variable, 
+      if set.
+    </para></listitem>
+      Verify and eventually set the environment variables of the 
+      visualization module [name] concerned (setenv or export both 
+      <literal>G4VIS_BUILD_[name]_DRIVER</literal> and 
+      <literal>G4VIS_USE_[name]</literal> variables according to the UNIX 
+      shell used), and then proceed as follows:
+
+      <informalexample><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
+      </programlisting></informalexample>
+  </itemizedlist>
+
+</para></answer>
+
+</qandaentry>
+
+
+</qandaset>
+</section>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Fundamentals/ChapFundamentals.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Fundamentals/ChapFundamentals.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Fundamentals/ChapFundamentals.xml	(revision 904)
@@ -0,0 +1,30 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  This is the top file for the present chapter. It        -->
+<!--  includes all section files which belong to the chapter. -->
+<!--  Entities names used below are defined in                -->
+<!--  ChapXXEntityDef.dtd in the current directory.           -->
+<!--                                                          -->
+<!--  [Note]                                                  -->
+<!--    Created by Katsuya Amako, Aug-2006                    -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************** Top of Chapter ******************** -->
+<chapter id="chap.ToolkitFundamentals">
+<title>
+Toolkit Fundamentals
+</title>
+
+<!-- *************** Inclusion of Sections ****************** -->
+&classCategory;
+&global;
+&unitSystem;
+&run;
+&event;
+&eventGenerator;
+&biasing;
+
+</chapter>
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Fundamentals/ChapFundamentalsEntityDef.dtd
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Fundamentals/ChapFundamentalsEntityDef.dtd	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Fundamentals/ChapFundamentalsEntityDef.dtd	(revision 904)
@@ -0,0 +1,15 @@
+<!-- In below you need to define entities of all xml files you want to -->
+<!-- include from the current directory into the G4 DocBook manual.    -->
+
+<!ENTITY chapFundamentals       SYSTEM "./ChapFundamentals.xml">
+
+<!ENTITY classCategory          SYSTEM "./classCategory.xml">
+<!ENTITY global                 SYSTEM "./global.xml">
+<!ENTITY unitSystem             SYSTEM "./unitSystem.xml">
+<!ENTITY run                    SYSTEM "./run.xml">
+<!ENTITY event                  SYSTEM "./event.xml">
+<!ENTITY eventGenerator         SYSTEM "./eventGenerator.xml">
+<!ENTITY biasing                SYSTEM "./biasing.xml">
+
+
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Fundamentals/biasing.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Fundamentals/biasing.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Fundamentals/biasing.xml	(revision 904)
@@ -0,0 +1,1109 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--    Changed by: Dennis Wright, 25-Jun-2002                -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.EvtBias">
+<title>
+Event Biasing Techniques
+</title>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.EvtBias.ScorImpRoul">
+<title>
+Scoring, Geometrical Importance Sampling and Weight Roulette
+</title>
+
+<para>
+Geant4 provides event biasing techniques which may be used to save
+computing time in such applications as the simulation of radiation
+shielding. These are <emphasis>geometrical splitting
+</emphasis> and <emphasis>Russian roulette</emphasis> 
+(also called geometrical importance sampling), and
+<emphasis>weight roulette</emphasis>. Scoring is carried out by <emphasis>G4MultiFunctionalDetector</emphasis> (see <xref
+linkend="sect.Hits.G4Multi" /> and <xref linkend="sect.Hits.G4VPrim" />) using the standard Geant4 scoring technique.
+Biasing specific scorers have been implemented and are described within
+<emphasis>G4MultiFunctionDetector</emphasis> 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
+<ulink url="http://geant4.web.cern.ch/geant4/collaboration/working_groups/geometry/index.shtml">
+'Latest development in importance sampling and scoring'
+</ulink>. 
+A detailed description of different use-cases which employ the sampling 
+and scoring techniques can be found in the document
+<ulink url="http://geant4.web.cern.ch/geant4/collaboration/working_groups/geometry/index.shtml">
+'Scoring and geometrical importance sampling use cases'
+</ulink>.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+The implementation of scoring is independent of the implementation
+of importance sampling. However both share common concepts.
+<emphasis>Scoring and importance sampling apply to particle types chosen
+by the user</emphasis>, which should be borne in mind when interpreting the
+output of any biased simulation.
+</para>
+
+<para>
+Examples on how to use scoring and importance sampling may be found
+in <literal>examples/extended/biasing</literal> and
+<literal>examples/advanced/Tiara</literal>.
+</para>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.EvtBias.ScorImpRoul.Geom">
+<title>
+Geometries
+</title>
+
+<para>
+The kind of scoring referred to in this note and the importance
+sampling apply to spatial cells provided by the user.
+</para>
+
+<para>
+A <emphasis role="bold">cell</emphasis> 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:
+
+<orderedlist spacing="compact">
+  <listitem><para>
+    <emphasis role="bold">mass geometry</emphasis>: the geometry setup of the 
+    experiment to be simulated. Physics processes apply to this geometry.
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">parallel-geometry</emphasis>: a geometry constructed 
+    to define the physical volumes according to which scoring and/or importance
+    sampling is applied.
+  </para></listitem>
+</orderedlist>
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+<note>
+  Parallel geometries should be constructed using the implementation as
+  described in <xref linkend="sect.ParaGeom"/>.
+
+  There are a few conditions for parallel geometries:
+
+  <itemizedlist spacing="compact">
+  <listitem><para>
+    The world volume for parallel and mass geometries must be identical copies.
+  </para></listitem>
+  <listitem><para>
+    Scoring and importance cells must not share boundaries with the world volume.
+  </para></listitem>
+  </itemizedlist>
+</note>
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.EvtBias.ScorImpRoul.ChgSamp">
+<title>
+Changing the Sampling
+</title>
+
+<para>
+Samplers are higher level tools which perform the necessary
+changes of the Geant4 sampling in order to apply importance
+sampling and weight roulette. 
+</para>
+
+<para>
+Variance reduction (and scoring through the
+<emphasis>G4MultiFunctionalDetector</emphasis>) 
+may be combined arbitrarily for chosen particle types and may be applied to the
+mass or to parallel geometries. 
+</para>
+
+<para>
+The <literal>G4GeometrySampler</literal> can be applied equally to mass or
+parallel geometries with an abstract interface supplied by <literal>G4VSampler</literal>.
+<literal>G4VSampler</literal> provides
+<literal>Prepare...</literal> methods and a <literal>Configure</literal>
+method:
+
+<anchor id="anchor_EvtBias_G4VSampler" />
+<informalexample>
+<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;
+ };
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+The methods for setting up the desired combination need specific
+information:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Importance sampling: message <literal>PrepareImportanceSampling</literal>
+    with a 
+    <link linkend="anchor_EvtBias_G4VIStore">
+    <literal>G4VIStore</literal></link>
+    and optionally a <literal>G4VImportanceAlgorithm</literal>
+  </para></listitem>
+  <listitem><para>
+    Weight window: message <literal>PrepareWeightWindow</literal> with the
+    arguments:
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        <emphasis>*wwstore</emphasis>: a 
+        <literal>G4VWeightWindowStore</literal> for retrieving the lower 
+        weight bounds for the energy-space cells
+      </para></listitem>
+      <listitem><para>
+        <emphasis>*wwAlg</emphasis>: a
+        <literal>G4VWeightWindowAlgorithm</literal> if a customized algorithm 
+        should be used
+      </para></listitem>
+      <listitem><para>
+        <emphasis>placeOfAction</emphasis>: a
+        <literal>G4PlaceOfAction</literal> specifying where to perform the
+        biasing
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    Weight roulette: message <literal>PrepareWeightRoulett</literal> with the
+    optional parameters:
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        <emphasis>wsurvive</emphasis>: survival weight
+      </para></listitem>
+      <listitem><para>
+        <emphasis>wlimit</emphasis>: minimal allowed
+        value of weight * source importance / cell importance
+      </para></listitem>
+      <listitem><para>
+        <emphasis>isource</emphasis>: importance of the source cell
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+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 <literal>Configure()</literal> of a sampler will
+set up specialized processes (derived from <literal>G4VProcess</literal>) for
+transportation in the parallel geometry, importance
+sampling and weight roulette for the given particle type. When
+<literal>Configure()</literal> is invoked the sampler places the processes in
+the correct order independent of the order in which user invoked
+the <literal>Prepare...</literal> methods.
+</para>
+
+<para>
+<note>
+  <para>
+  <itemizedlist spacing="compact">
+  <listitem><para>
+    The <literal>Prepare...()</literal> functions may each only be invoked
+    once.
+  </para></listitem>
+  <listitem><para>
+    To configure the sampling the function <literal>Configure()</literal>
+    must be called <emphasis>after</emphasis> the
+    <literal>G4RunManager</literal> has been initialized and the PhysicsList has
+    been instantiated.
+  </para></listitem>
+  </itemizedlist>
+  </para>
+</note>
+</para>
+
+
+
+
+<para>
+The interface and framework are demonstrated in the
+<literal>examples/extended/biasing</literal> 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
+<emphasis>G4VUserParallelWorld</emphasis> which also has the <emphasis>GetWorld()</emphasis> method
+in order to retrieve a copy of the mass geometry WorldVolume.
+
+<informalexample>
+<programlisting>
+  class B02ImportanceDetectorConstruction : public G4VUserParallelWorld
+  ghostWorld = GetWorld();
+</programlisting>
+</informalexample>
+
+</para>
+
+<para>
+The constructor for <emphasis>G4GeometrySampler</emphasis> 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:
+
+<informalexample>
+<programlisting>
+  G4GeometrySampler mgs(detector->GetWorldVolume(),"neutron");
+  mgs.SetParallel(false);
+</programlisting>
+</informalexample>
+
+
+Whilst the following lines of code are required in order to set up the sampler for the
+parallel geometry case:
+
+<informalexample>
+<programlisting>
+  G4VPhysicalVolume* ghostWorld = pdet->GetWorldVolume();
+
+  G4GeometrySampler pgs(ghostWorld,"neutron");
+
+  pgs.SetParallel(true);
+</programlisting>
+</informalexample>
+
+
+Also note that the preparation and configuration of the samplers has to be
+carried out <emphasis>after</emphasis> the instantiation of the UserPhysicsList
+and after the initialisation of the <emphasis>G4RunManager</emphasis>:
+
+<informalexample>
+<programlisting>
+  pgs.PrepareImportanceSampling(&amp;aIstore, 0);
+  pgs.Configure();
+</programlisting>
+</informalexample>
+
+Due to the fact that biasing is a process and has to be inserted after all the
+other processes have been created.
+</para>
+
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.EvtBias.ScorImpRoul.ImpSamp">
+<title>
+Importance Sampling
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+The assignment of importance values to a cell is done using an
+importance store described below.
+</para>
+
+<para>
+An "importance store" with the interface <literal>G4VIStore</literal> 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
+<literal>G4IStore</literal>) of type <literal>G4VIStore</literal>. The samplers may be
+given a <literal>G4VIStore</literal>. The user fills the store with cells and
+their importance values.
+</para>
+
+<para>
+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 <literal>G4VIStore</literal>:
+
+<anchor id="anchor_EvtBias_G4VIStore" />
+<informalexample>
+<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;
+ };
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+A concrete implementation of an importance store is provided by
+the class <literal>G4VStore</literal>. The <emphasis>public</emphasis>
+part of the class is:
+
+<informalexample>
+<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: .....
+ };
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+The member function <literal>AddImportanceGeometryCell()</literal> 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
+<literal>G4GeometryCell</literal>. 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 <literal>examples/extended/biasing
+B01</literal> and <literal>B02</literal> for examples of this.
+</para>
+
+<para>
+<note>
+  <para>
+  <itemizedlist spacing="compact">
+  <listitem><para>
+    An importance value must be assigned to every cell.
+  </para></listitem>
+  </itemizedlist>
+  </para>
+</note>
+</para>
+
+<para>
+The different cases:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis>Cell is not in store</emphasis>
+    <para>
+    Not filling a certain cell in the store will cause an
+    exception.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis>Importance value = zero</emphasis>
+    <para>
+    Tracks of the chosen particle type will be killed.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis>importance values &gt; 0</emphasis>
+    <para>
+    Normal allowed values
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis>Importance value smaller zero</emphasis>
+    <para>
+    Not allowed!
+    </para>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.EvtBias.ScorImpRoul.SampAlgor">
+<title>
+The Importance Sampling Algorithm
+</title>
+
+<para>
+Importance sampling supports using a customized importance
+sampling algorithm. To this end, the sampler interface 
+<link linkend="anchor_EvtBias_G4VSampler">
+<literal>G4VSampler</literal></link>
+may be given a pointer to the interface 
+<literal>G4VImportanceAlgorithm</literal>:
+
+<informalexample>
+<programlisting>      
+ class G4VImportanceAlgorithm
+ {
+   public:  
+     G4VImportanceAlgorithm();
+     virtual ~G4VImportanceAlgorithm();
+     virtual G4Nsplit_Weight Calculate(G4double ipre,
+                                       G4double ipost,
+                                       G4double init_w) const = 0;
+ };
+</programlisting>
+</informalexample>      
+</para>
+
+<para>
+The method <literal>Calculate()</literal> takes the arguments:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis>ipre, ipost</emphasis>: importance
+    of the previous cell and the importance of the current cell,
+    respectively.
+  </para></listitem>
+  <listitem><para>
+    <emphasis>init_w</emphasis>: the particles weight
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+It returns the struct:
+
+<informalexample>
+<programlisting>      
+ class G4Nsplit_Weight
+ {
+   public:
+
+   G4int fN;
+   G4double fW;
+ };
+</programlisting>
+</informalexample>      
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis>fN</emphasis>: the calculated
+    number of particles to exit the importance sampling
+  </para></listitem>
+  <listitem><para>
+    <emphasis>fW</emphasis>: the weight of the particles
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+The user may have a customized algorithm used by providing a
+class inheriting from <literal>G4VImportanceAlgorithm</literal>.
+</para>
+
+<para>
+If no customized algorithm is given to the sampler the default
+importance sampling algorithm is used. This algorithm is
+implemented in <literal>G4ImportanceAlgorithm</literal>.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.EvtBias.ScorImpRoul.WeightWin">
+<title>
+The Weight Window Technique
+</title>
+
+<para>
+The weight window technique is a weight-based alternative to
+importance sampling:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    applies splitting and Russian roulette depending on space
+    (cells) and energy
+  </para></listitem>
+  <listitem><para>
+    user defines weight windows in contrast to defining importance
+    values as in importance sampling
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+Therefore the technique is convenient to apply in combination
+with other variance reduction techniques such as cross-section
+biasing and implicit capture.
+</para>
+
+<para>
+A weight window may be specified for every cell and for several
+energy regions: <emphasis>space-energy cell</emphasis>.
+
+<figure id="fig.EvtBias.WeightWindow">
+<title>
+  Weight window concept
+</title>
+
+<mediaobject>
+ <imageobject role="fo">
+    <imagedata fileref="./AllResources/Fundamentals/wwconcept.gif"
+               format="GIF" contentwidth="9.0cm" align="center" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/Fundamentals/wwconcept.gif"
+               format="GIF" align="center" />
+  </imageobject>
+  <textobject>
+    <phrase>Weight window concept</phrase>
+  </textobject>
+</mediaobject>
+</figure>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Weight window concept
+</bridgehead>
+
+<para>
+  The user specifies a <emphasis>lower weight bound W_L</emphasis> 
+  for every space-energy cell.
+
+  <itemizedlist spacing="compact">
+    <listitem><para>
+      The upper weight bound W_U and the survival weight W_S are
+      calculated as:
+      <para>
+      W_U = C_U <emphasis>W_L</emphasis> and
+      </para>
+      <para>
+      W_S = C_S <emphasis>W_L</emphasis>.
+      </para>
+    </para></listitem>
+    <listitem><para>
+      The user specifies C_S and C_U once for the whole problem.
+    </para></listitem>
+    <listitem><para>
+      The user may give different sets of energy bounds for every cell
+      or one set for all geometrical cells
+    </para></listitem>
+    <listitem><para>
+      Special case: if C_S = C_U = 1 for all energies then weight
+      window is equivalent to importance sampling
+    </para></listitem>
+    <listitem><para>
+      The user can choose to apply the technique: at boundaries, on
+      collisions or on boundaries and collisions
+    </para></listitem>
+  </itemizedlist>
+</para>
+
+<para>
+The energy-space cells are realized by <literal>G4GeometryCell</literal>
+as in importance sampling. The cells are stored in a weight window
+store defined by <literal>G4VWeightWindowStore</literal>:
+
+<informalexample>
+<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;
+ };
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+A concrete implementation is provided:
+
+<informalexample>
+<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::
+   ...  
+  };
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+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 <literal>SetGeneralUpperEnergyBounds</literal>. If a general set
+of energy bounds have been set <literal>AddLowerWeights</literal> can be used
+to add the cells.
+</para>
+
+<para>
+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 <literal>AddUpperEboundLowerWeightPairs</literal>.
+</para>
+
+<para>
+Weight window algorithms implementing the interface class
+<literal>G4VWeightWindowAlgorithm</literal> can be used to define a
+customized algorithm:
+
+<informalexample>
+<programlisting>
+ class G4VWeightWindowAlgorithm {
+  public:  
+    G4VWeightWindowAlgorithm();
+    virtual ~G4VWeightWindowAlgorithm();
+    virtual G4Nsplit_Weight Calculate(G4double init_w,
+                                      G4double lowerWeightBound) const = 0;
+ };
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+A concrete implementation is provided and used as a default:
+
+<informalexample>
+<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:
+   ...
+};
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+In addition, the inverse of the maxNumberOfSplits is used to
+specify the minimum survival probability in case of Russian
+roulette.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.EvtBias.ScorImpRoul.WeigRoul">
+<title>
+The Weight Roulette Technique
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+The weight roulette concept
+</bridgehead>
+
+<para>
+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".
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+The weight roulette uses the following parameters with their
+default values:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis>wsurvival</emphasis>: 0.5
+  </para></listitem>
+  <listitem><para>
+    <emphasis>wlimit</emphasis>: 0.25
+  </para></listitem>
+  <listitem><para>
+    <emphasis>isource</emphasis>: 1
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+The following algorithm is applied:
+</para>
+
+<para>
+If a particle weight "w" is lower than R*wlimit:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    the weight of the particle will be changed to "ws = wsurvival*R"
+  </para></listitem>
+  <listitem><para>
+    the probability for the particle to survive is "p = w/ws"
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect3>
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.EvtBias.PhysBias">
+<title>
+Physics Based Biasing
+</title>
+
+<para>
+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.
+</para>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.EvtBias.PhysBias.BuiltInOpt">
+<title>
+Built in Biasing Options
+</title>
+
+<!-- ******************* Section (Level#4) ****************** -->
+<sect4 id="sect.EvtBias.PhysBias.BuiltInOpt.PrimPart">
+<title>
+Primary Particle Biasing
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+G4GeneralParticleSource is a concrete implementation of
+G4VPrimaryGenerator. To use, instantiate G4GeneralParticleSource in
+the G4VUserPrimaryGeneratorAction class, as demonstrated below.
+
+<informalexample>
+<programlisting>
+   MyPrimaryGeneratorAction::MyPrimaryGeneratorAction() { 
+      generator = new G4GeneralParticleSource; 
+   } 
+
+   void 
+   MyPrimaryGeneratorAction::GeneratePrimaries(G4Event*anEvent){ 
+      generator-&gt;GeneratePrimaryVertex(anEvent); 
+   }
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+The biasing can be configured through interactive commands.
+Extensive documentation can be found in 
+<ulink url="http://reat.space.qinetiq.com/gps/">
+Primary particle biasing</ulink>.  Examples are also distributed
+with the Geant4 distribution in
+<emphasis role="bold">examples/extended/eventgenerator/exgps</emphasis>.
+</para>
+
+</sect4>
+
+<!-- ******************* Section (Level#4) ****************** -->
+<sect4 id="sect.EvtBias.PhysBias.BuiltInOpt.RadDcy">
+<title>
+Radioactive Decay Biasing
+</title>
+
+<para>
+The G4RadioactiveDecay class simulates the decay of radioactive
+nuclei and implements the following biasing options:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Increase the sampling rate of radionuclides within observation
+    times through a user defined probability distribution function
+  </para></listitem>
+  <listitem><para>
+    Nuclear splitting, where the parent nuclide is split into a
+    user defined number of nuclides
+  </para></listitem>
+  <listitem><para>
+    Branching ratio biasing where branching ratios are sampled with
+    equal probability
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+G4RadioactiveDecay is a process which must be registered with a
+process manager, as demonstrated below.
+
+<informalexample>
+<programlisting>
+   void MyPhysicsList::ConstructProcess() 
+   { 
+      ... 
+      G4RadioactiveDecay* theRadioactiveDecay = 
+         new  G4RadioactiveDecay(); 
+
+      G4ProcessManager* pmanager = ... 
+      pmanager -&gt;AddProcess(theRadioactiveDecay); 
+      ... 
+   }
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+The biasing can be controlled either in compiled code or through
+interactive commands. Extensive documentation can be found in
+
+<ulink url="http://reat.space.qinetiq.com/septimess/exrdm/">
+Radioactive decay biasing example
+</ulink>
+ and 
+<ulink url="http://www.space.qinetiq.com/geant4/rdm.html">
+Radioactive decay biasing
+</ulink>. 
+</para>
+
+<para>
+Radioactive decay biasing examples are also distributed with the Geant4
+distribution in
+<emphasis role="bold">examples/extended/radioactivedecay/exrdm</emphasis>.
+</para>
+
+</sect4>
+
+<!-- ******************* Section (Level#4) ****************** -->
+<sect4 id="sect.EvtBias.PhysBias.BuiltInOpt.HadLeadPar">
+<title>
+Hadronic Leading Particle Biasing
+</title>
+
+<para>
+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 <emphasis role="bold">SwitchLeadBiasOn</emphasis> 
+environmental variable will activate this utility.
+</para>
+
+</sect4>
+
+<!-- ******************* Section (Level#4) ****************** -->
+<sect4 id="sect.EvtBias.PhysBias.BuiltInOpt.HadCrsSect">
+<title>
+Hadronic Cross Section Biasing
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+The biasing is controlled through the
+<emphasis role="bold">BiasCrossSectionByFactor</emphasis> method 
+in G4HadronicProcess, as demonstrated below. 
+
+<informalexample>
+<programlisting>
+   void MyPhysicsList::ConstructProcess() 
+   { 
+      ... 
+      G4ElectroNuclearReaction * theElectroReaction = 
+         new G4ElectroNuclearReaction; 
+
+      G4ElectronNuclearProcess theElectronNuclearProcess;    
+      theElectronNuclearProcess.RegisterMe(theElectroReaction); 
+      theElectronNuclearProcess.BiasCrossSectionByFactor(100);
+  
+      pManager-&gt;AddDiscreteProcess(&amp;theElectronNuclearProcess); 
+      ...  
+   }
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+More details can be found in 
+<ulink url="http://www.triumf.ca/geant4-03/talks/03-Wednesday-AM-1/03-J.Wellisch/biasing.hadronics.pdf">
+Hadronic cross section biasing
+</ulink>.
+</para>
+
+</sect4>
+</sect3>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.EvtBias.PhysBias.">
+<title>
+G4WrapperProcess
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+
+<informalexample>
+<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); 
+   } 
+</programlisting>
+</informalexample>
+</para>
+
+</sect3>
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Fundamentals/classCategory.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Fundamentals/classCategory.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Fundamentals/classCategory.xml	(revision 904)
@@ -0,0 +1,187 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--    Changed by: Katsuya Amako,  4-Aug-1998                -->
+<!--    Changed by: Michel MAIRE,   3-Aug-1998                -->
+<!--    Changed by: Katsuya Amako, 30-Nov-1998                -->
+<!--    Changed by: Dennis Wright, 20-Nov-2001                -->
+<!--    Proof read by: Joe Chuma,  28-Jun-1999                -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.ClassCate">
+<title>
+Class Categories and Domains
+</title>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ClassCate.WhatIsClassCate">
+<title>
+What is a class category?
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+In object-oriented analysis and design methodology by Grady Booch 
+<citation>
+<xref linkend="biblio.booch1994" endterm="biblio.booch1994.abbrev" />
+</citation>
+, 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.
+
+<figure id="fig.G4ClassCategory">
+<title>
+Geant4 class categories
+</title>
+
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="./AllResources/Fundamentals/classCategory.gif"
+               format="GIF" contentwidth="7.0cm" align="center" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/Fundamentals/classCategory.gif"
+               format="GIF" align="center" />
+  </imageobject>
+</mediaobject>
+</figure>
+</para>
+
+<para>
+The file organization of the Geant4 codes follows basically the
+structure of this class cateogory. This <emphasis>User's Manual</emphasis> 
+is also organized according to class categories.
+</para>
+
+<para>
+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.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ClassCate.ClassCateInGeant4">
+<title>
+Class categories in Geant4
+</title>
+
+<para>
+The following is a brief summary of the role of each class category
+in Geant4.
+
+<orderedlist spacing="compact">
+  <listitem><para><emphasis role="bold">Run and Event</emphasis>
+            <para>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.
+            </para>
+  </para></listitem>
+  <listitem><para><emphasis role="bold">Tracking and Track</emphasis>
+            <para>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).
+            </para>
+  </para></listitem>
+  <listitem><para><emphasis role="bold">Geometry and Magnetic Field</emphasis>
+            <para>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.
+            </para>
+  </para></listitem>
+  <listitem><para><emphasis role="bold">Particle Definition and Matter</emphasis>
+            <para>These two categories manage the the definition of materials and
+                  particles.
+            </para>
+            </para></listitem>
+            <listitem><para><emphasis role="bold">Physics</emphasis>
+            <para>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.
+            </para>
+  </para></listitem>
+  <listitem><para><emphasis role="bold">Hits and Digitization</emphasis>
+            <para>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.
+            </para>
+  </para></listitem>
+  <listitem><para><emphasis role="bold">Visualization</emphasis>
+            <para>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.
+            </para>
+  </para></listitem>
+  <listitem><para><emphasis role="bold">Interfaces</emphasis>
+            <para>This category handles the production of the graphical user
+                  interface (GUI) and the interactions with external software
+                  (OODBMS, reconstruction etc.).
+            </para>
+  </para></listitem>
+</orderedlist>
+</para>
+
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Fundamentals/event.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Fundamentals/event.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Fundamentals/event.xml	(revision 904)
@@ -0,0 +1,182 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--    Changed by: Katsuya Amako, 21-Sep-1998                -->
+<!--    Changed by: Dennis Wright, 29-Nov-2001                -->
+<!--    Proof read by: Joe Chuma,  28-Jun-1999                -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.Event">
+<title>
+Event
+</title>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Event.Represent">
+<title>
+Representation of an event
+</title>
+
+<para>
+<emphasis>G4Event</emphasis> represents an event. An object of this class
+contains all inputs and outputs of the simulated event. This class
+object is constructed in <emphasis>G4RunManager</emphasis> and sent to
+<emphasis>G4EventManager</emphasis>. The event currently being processed can be
+obtained via the <literal>getCurrentEvent()</literal> method of
+<emphasis>G4RunManager</emphasis>.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Event.Struct">
+<title>
+Structure of an event
+</title>
+
+<para>
+A <emphasis>G4Event</emphasis> object has four major types of information. Get
+methods for this information are available in <emphasis>G4Event</emphasis>.
+
+<variablelist><title></title>
+  <varlistentry>
+    <term>Primary vertexes and primary particles</term>
+    <listitem><para>
+      Details are given in <xref linkend="sect.EventGen" />.
+    </para></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>Trajectories</term>
+    <listitem><para>
+      Trajectories are stored in G4TrajectoryContainer class objects
+      and the pointer to this container is stored in <emphasis>G4Event</emphasis>. 
+      The contents of a trajectory are given in 
+      <xref linkend="sect.Track.Traj" />.
+    </para></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>Hits collections</term>
+    <listitem><para>
+      Collections of hits generated by <emphasis>sensitive detectors</emphasis> are
+      kept in <emphasis>G4HCofThisEvent</emphasis> class object and the pointer to this
+      container class object is stored in <emphasis>G4Event</emphasis>. See 
+      <xref linkend="sect.Hits" /> for the details.
+    </para></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>Digits collections</term>
+    <listitem><para>
+      Collections of digits generated by <emphasis>digitizer modules</emphasis> are
+      kept in <emphasis>G4DCofThisEvent</emphasis> class object and the pointer to this
+      container class object is stored in <emphasis>G4Event</emphasis>. See 
+      <xref linkend="sect.Digi" /> for the details.
+    </para></listitem>
+  </varlistentry>
+</variablelist>
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Event.ManEvtMan">
+<title>
+Mandates of <emphasis>G4EventManager</emphasis>
+</title>
+
+<para>
+<emphasis>G4EventManager</emphasis> is the manager class to take care of one
+event. It is responsible for:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    converting <emphasis>G4PrimaryVertex</emphasis> and 
+    <emphasis>G4PrimaryParticle</emphasis>
+    objects associated with the current <emphasis>G4Event</emphasis> object to
+    <emphasis>G4Track</emphasis> objects. All of <emphasis>G4Track</emphasis> 
+    objects representing the primary particles are sent to 
+    <emphasis>G4StackManager</emphasis>.
+  </para></listitem>
+  <listitem><para>
+    Pop one <emphasis>G4Track</emphasis> object from 
+    <emphasis>G4StackManager</emphasis> and send it to 
+    <emphasis>G4TrackingManager</emphasis>. The current <emphasis>G4Track</emphasis>
+    object is deleted by <emphasis>G4EventManager</emphasis> after the track is
+    simulated by <emphasis>G4TrackingManager</emphasis>, if the track is marked as
+    "killed".
+  </para></listitem>
+  <listitem><para>
+    In case the primary track is "suspended" or "postponed to next
+    event" by <emphasis>G4TrackingManager</emphasis>, it is sent back to the
+    <emphasis>G4StackManager</emphasis>. Secondary 
+    <emphasis>G4Track</emphasis> objects returned by
+    <emphasis>G4TrackingManager</emphasis> are also sent to
+    <emphasis>G4StackManager</emphasis>.
+  </para></listitem>
+  <listitem><para>
+    When <emphasis>G4StackManager</emphasis> returns  <literal>NULL</literal> 
+    for the "pop" request, <emphasis>G4EventManager</emphasis> terminates the 
+    current processing event.
+  </para></listitem>
+  <listitem><para>
+    invokes the user-defined methods <literal>beginOfEventAction()</literal>
+    and <literal>endOfEventAction()</literal> from the 
+    <emphasis>G4UserEventAction</emphasis> class. See 
+    <xref linkend="sect.UInfoCls" /> for details.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Event.Stack">
+<title>
+Stacking mechanism
+</title>
+
+<para>
+<emphasis>G4StackManager</emphasis> has three stacks, named 
+<emphasis>urgent</emphasis>, <emphasis>waiting</emphasis> and 
+<emphasis>postpone-to-next-event</emphasis>, which are objects
+of the <emphasis>G4TrackStack</emphasis> class. By default, all <emphasis>G4Track</emphasis>
+objects are stored in the <emphasis>urgent</emphasis> 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 <emphasis>G4UserStackingAction</emphasis> concrete class.
+</para>
+
+<para>
+If the methods of <emphasis>G4UserStackingAction</emphasis> have been
+overridden by the user, the <emphasis>postpone-to-next-event</emphasis> and
+<emphasis>waiting</emphasis> stacks may contain tracks. At the beginning of an
+event, <emphasis>G4StackManager</emphasis> checks to see if any tracks left over
+from the previous event are stored in the <emphasis>postpone-to-next-event
+stack</emphasis>. If so, it attemps to move them to the <emphasis>urgent</emphasis>
+stack. But first the <literal>PrepareNewEvent()</literal> method of
+<emphasis>G4UserStackingAction</emphasis> is called. Here tracks may be
+re-classified by the user and sent to the <emphasis>urgent</emphasis> or
+<emphasis>waiting</emphasis> stacks, or deferred again to the
+<emphasis>postpone-to-next-event</emphasis> stack. As the event is processed
+<emphasis>G4StackManager</emphasis> pops tracks from the <emphasis>urgent</emphasis> stack
+until it is empty. At this point the <literal>NewStage()</literal> method of
+<emphasis>G4UserStackingAction</emphasis> is called. In this method tracks from
+the <emphasis>waiting</emphasis> stack may be sent to the <emphasis>urgent</emphasis> stack,
+retained in the <emphasis>waiting</emphasis> stack or postponed to the next
+event.
+</para>
+
+<para>
+Details of the user-defined methods of
+<emphasis>G4UserStackingAction</emphasis> and how they affect track stack
+management are given in <xref linkend="sect.UInfoCls" />.
+</para>
+
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Fundamentals/eventGenerator.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Fundamentals/eventGenerator.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Fundamentals/eventGenerator.xml	(revision 904)
@@ -0,0 +1,320 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--    Changed by: Katsuya Amako, 21-Sep-1998                -->
+<!--    Changed by: Dennis Wright, 25-Jun-2002                -->
+<!--    Proof read by: Joe Chuma,  28-Jun-1999                -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.EventGen">
+<title>
+Event Generator Interface
+</title>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.EventGen.StructPriEvt">
+<title>
+Structure of a primary event
+</title>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.EventGen.StructPriEvt.VtxPart">
+<title>
+Primary vertex and primary particle
+</title>
+
+<para>
+The <emphasis>G4Event</emphasis> class object should have a set of primary
+particles when it is sent to <emphasis>G4EventManager</emphasis> via
+<literal>processOneEvent()</literal> method. It is the mandate of your
+<emphasis>G4VUserPrimaryGeneratorAction</emphasis> concrete class to send primary
+particles to the <emphasis>G4Event</emphasis> object.
+</para>
+
+<para>
+The <emphasis>G4PrimaryParticle</emphasis> 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
+<emphasis>G4PrimaryVertex</emphasis> class object and, thus, this class object
+can have one or more <emphasis>G4PrimaryParticle</emphasis> class objects which
+share the same vertex. As shown in Fig.?.?, primary vertexes and
+primary particles are associated with the <emphasis>G4Event</emphasis> object by
+a form of linked list.
+</para>
+
+<para>
+A concrete class of <emphasis>G4VPrimaryGenerator</emphasis>, the
+<emphasis>G4PrimaryParticle</emphasis> object is constructed with either a
+pointer to <emphasis>G4ParticleDefinition</emphasis> 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
+<emphasis>G4PrimaryParticle</emphasis> should be constructed by
+<emphasis>G4ParticleDefinition</emphasis> pointer. On the other hand, elementary
+particles with very short life time, e.g., weak bosons, or
+quarks/gluons, can be instantiated as <emphasis>G4PrimaryParticle</emphasis>
+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 <emphasis>G4ParticleDefinition</emphasis> class objects. Other primary
+particles will be simply ignored by <emphasis>G4EventManager</emphasis>. But it
+may still be useful to construct such "intermediate" particles for
+recording the origin of the primary event.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.EventGen.StructPriEvt.ForcedDecay">
+<title>
+Forced decay channel
+</title>
+
+<para>
+The <emphasis>G4PrimaryParticle</emphasis> 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
+<emphasis>G4ParticleDefinition</emphasis>, 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.
+</para>
+
+<para>
+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
+<emphasis>G4ParticleDefinition</emphasis>, 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.
+</para>
+
+</sect3>
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.EventGen.InterPriGen">
+<title>
+Interface to a primary generator
+</title>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.EventGen.InterPriGen.HEPEvt">
+<title>
+G4HEPEvtInterface
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+<emphasis>G4HEPEvtInterface</emphasis> is one of <emphasis>G4VPrimaryGenerator</emphasis>
+concrete class and thus it can be used in your
+<emphasis>G4VUserPrimaryGeneratorAction</emphasis> concrete class.
+<emphasis>G4HEPEvtInterface</emphasis> reads an ASCII file produced by an event
+generator and reproduces <emphasis>G4PrimaryParticle</emphasis> objects
+associated with a <emphasis>G4PrimaryVertex</emphasis> object. It reproduces a
+full production chain of the event generator, starting with primary
+quarks, etc. In other words, <emphasis>G4HEPEvtInterface</emphasis> converts
+information stored in the <literal>/HEPEVT/</literal> common block to an
+object-oriented data structure. Because the <literal>/HEPEVT/</literal>
+common block is commonly used by almost all event generators
+written in FORTRAN, <emphasis>G4HEPEvtInterface</emphasis> can interface to
+almost all event generators currently used in the HEP community.
+The constructor of <emphasis>G4HEPEvtInterface</emphasis> takes the file name.
+<xref linkend="programlist_EventGen_1" /> shows an example how to use
+<emphasis>G4HEPEvtInterface</emphasis>. Note that an event generator is not
+assumed to give a place of the primary particles, the interaction
+point must be set before invoking <emphasis>GeneratePrimaryVertex()</emphasis>
+method.
+</para>
+
+<example id="programlist_EventGen_1">
+<title>
+An example code for <emphasis>G4HEPEvtInterface</emphasis>
+</title>
+<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);
+}
+</programlisting>
+</example>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.EventGen.InterPriGen.FormASCII">
+<title>
+Format of the ASCII file
+</title>
+
+<para>
+An ASCII file, which will be fed by <emphasis>G4HEPEvtInterface</emphasis>
+should have the following format.
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    The first line of each primary event should be an integer which
+    represents the number of the following lines of primary
+    particles.
+  </para></listitem>
+  <listitem><para>
+    Each line in an event corresponds to a particle in the
+    <literal>/HEPEVT/</literal> common. Each line has <literal>ISTHEP, IDHEP,
+    JDAHEP(1), JDAHEP(2), PHEP(1), PHEP(2), PHEP(3), PHEP(5).</literal>
+    Refer to the <literal>/HEPEVT/</literal> manual for the meanings of these
+    variables.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+<xref linkend="programlist_EventGen_2" /> shows an example FORTRAN code to 
+generate an ASCII file.
+</para>
+
+<example id="programlist_EventGen_2">
+<title>
+A FORTRAN example using the <literal>/HEPEVT/</literal> common.
+</title>
+<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
+</programlisting>
+</example>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.EventGen.InterPriGen.FutureInt">
+<title>
+Future interface to the new generation generators
+</title>
+
+<para>
+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 <emphasis>G4VProcess</emphasis>.
+</para>
+
+</sect3>
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.EventGen.EvtOverlap">
+<title>
+Event overlap using multiple generators
+</title>
+
+<para>
+Your <emphasis>G4VUserPrimaryGeneratorAction</emphasis> concrete class can have
+more than one <emphasis>G4VPrimaryGenerator</emphasis> concrete class. Each
+<emphasis>G4VPrimaryGenerator</emphasis> concrete class can be accessed more than
+once per event. Using these class objects, one event can have more
+than one primary event.
+</para>
+
+<para>
+One possible use is the following. Within an event, a
+<emphasis>G4HEPEvtInterface</emphasis> class object instantiated with a minimum
+bias event file is accessed 20 times and another
+<emphasis>G4HEPEvtInterface</emphasis> 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 
+<xref linkend="sect.Digi" />.
+</para>
+
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Fundamentals/global.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Fundamentals/global.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Fundamentals/global.xml	(revision 904)
@@ -0,0 +1,780 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Changed by: Katsuya Amako, 21-Sep-1998                -->
+<!--    Changed by: Katsuya Amako,  9-Jul-1998                -->
+<!--    Proof read by: Joe Chuma,   2-Jul-1999                -->
+<!--    Changed by: Katsuya Amako, 15-Jul-2000                -->
+<!--    Changed by: Dennis Wright, 29-Nov-2001                -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.GlobClass">
+<title>
+Global Usage Classes
+</title>
+
+<para>
+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,
+<literal>typedef</literal>s according to the Geant4 code conventions.
+</para>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.GlobClass.SignClass">
+<title>
+Signature of Geant4 classes
+</title>
+
+<para>
+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 <emphasis>G4</emphasis>, e.g.,
+<emphasis>G4VHit, G4GeometryManager, G4ProcessVector,</emphasis> etc. Instead of
+the raw C types, <emphasis>G4</emphasis> types are used within the Geant4 code.
+For the basic numeric types (<literal>int, float, double,</literal> etc.),
+different compilers and different platforms provide different value
+ranges. In order to assure portability, the use of <emphasis>G4int,
+G4float, G4double,</emphasis> which are base classes globally defined, is
+preferable. <emphasis>G4</emphasis> types implement the right generic type for a
+given architecture.
+</para>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.GlobClass.SignClass.BasicType">
+<title>
+Basic types
+</title>
+
+<para>
+The basic types in Geant4 are considered to be the
+following:
+
+<itemizedlist spacing="compact">
+   <listitem><para>
+     <emphasis>G4int</emphasis>,
+   </para></listitem>
+   <listitem><para>
+     <emphasis>G4long</emphasis>,
+   </para></listitem>
+   <listitem><para>
+     <emphasis>G4float</emphasis>,
+   </para></listitem>
+   <listitem><para>
+     <emphasis>G4double</emphasis>,
+   </para></listitem>
+   <listitem><para>
+     <emphasis>G4bool</emphasis>,
+   </para></listitem>
+   <listitem><para>
+     <emphasis>G4complex</emphasis>,
+   </para></listitem>
+   <listitem><para>
+     <emphasis>G4String</emphasis>.
+   </para></listitem>
+</itemizedlist>
+
+which currently consist of simple <literal>typedef</literal>s to
+respective types defined in the <emphasis role="bold">CLHEP</emphasis>, 
+<emphasis role="bold">STL</emphasis> or system
+libraries. Most definitions of these basic types come with the
+inclusion of a single header file, <literal>globals.hh</literal>. This file
+also provides inclusion of required system headers, as well as some
+global utility functions needed and used within the Geant4
+kernel.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.GlobClass.SignClass.Typedefs">
+<title>
+Typedefs to CLHEP classes and their usage
+</title>
+
+<para>
+The following classes are <literal>typedef</literal>s to the corresponding
+classes of the <emphasis role="bold">CLHEP</emphasis> 
+(<emphasis role="bold">Computing Library for High Energy Physics</emphasis>) 
+distribution. For more detailed documentation please refer to the 
+<ulink url="http://cern.ch/clhep/manual/RefGuide/">
+<emphasis role="bold">CLHEP reference guide</emphasis>
+</ulink>
+and the 
+<ulink url="http://cern.ch/clhep/manual/UserGuide/">
+<emphasis role="bold">CLHEP user manual</emphasis>
+</ulink>
+.
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis>G4ThreeVector, G4RotationMatrix, G4LorentzVector</emphasis> and
+    <emphasis>G4LorentzRotation</emphasis>
+    <para>
+    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.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis>G4Plane3D, G4Transform3D, G4Normal3D, G4Point3D</emphasis>, and
+    <emphasis>G4Vector3D</emphasis>
+    <para>
+    Geometrical classes: defining geometrical entities and
+    transformations in 3D space.
+    </para>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect3>
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.GlobClass.HEPRandom">
+<title>
+The <emphasis>HEPRandom</emphasis> module in CLHEP
+</title>
+
+<para>
+The <emphasis>HEPRandom</emphasis> module, originally part of the Geant4
+kernel, and now distributed as a module of <emphasis
+role="bold">CLHEP</emphasis>, 
+has been designed and developed starting from the <emphasis>Random</emphasis> 
+class of MC++, the original <emphasis role="bold">CLHEP</emphasis>'s 
+<emphasis>HepRandom</emphasis> module and the 
+<emphasis role="bold">Rogue Wave</emphasis> approach in the 
+<emphasis role="bold">Math.h++</emphasis> package. For
+detailed documentation on the <emphasis>HEPRandom</emphasis> classes see the
+
+<ulink url="http://cern.ch/clhep/manual/RefGuide/">
+<emphasis role="bold">CLHEP reference guide</emphasis>
+</ulink>
+and the 
+<ulink url="http://cern.ch/clhep/manual/UserGuide/">
+<emphasis role="bold">CLHEP user manual</emphasis>
+</ulink>
+.
+</para>
+
+<para>
+Information written in this manual is extracted from the
+original 
+<ulink url="http://cern.ch/clhep/manual/UserGuide/Random/Random.html">
+manifesto
+</ulink>
+ distributed with the <emphasis>HEPRandom</emphasis>
+package.</para>
+
+<para>
+The <emphasis>HEPRandom</emphasis> 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.
+</para>
+
+<para>
+There are 3 different ways of shooting random values:
+
+<orderedlist spacing="compact">
+  <listitem><para>
+    Using the static generator defined in the <emphasis>HepRandom</emphasis>
+    class: random values are shot using static methods <literal>shoot()</literal>
+    defined for each distribution class. The static generator will use,
+    as default engine, a <emphasis>HepJamesRandom</emphasis> 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 <emphasis>HepRandom</emphasis>
+    class.
+  </para></listitem>
+  <listitem><para>
+    Skipping the static generator and specifying an engine object:
+    random values are shot using static methods
+    <literal>shoot(*HepRandomEngine)</literal> 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 <literal>flat()</literal> method of the
+    specified engine. The user must take care of the engine objects
+    he/she instantiates.
+  </para></listitem>
+  <listitem><para>
+    Skipping the static generator and instantiating a distribution
+    object: random values are shot using <literal>fire()</literal> 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
+    <literal>flat()</literal> method of that engine.
+  </para></listitem>
+</orderedlist>
+</para>
+
+<para>
+In this guide, we'll only focus on the static generator (point
+1.), since the static interface of <emphasis>HEPRandom</emphasis> is the only one
+used within the Geant4 toolkit.
+</para>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.GlobClass.HEPRandom.Engines">
+<title>
+<emphasis>HEPRandom</emphasis> engines
+</title>
+
+<para>
+The class <emphasis>HepRandomEngine</emphasis> is the abstract class defining
+the interface for each random engine. It implements the
+<literal>getSeed()</literal> and <literal>getSeeds()</literal> 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
+<emphasis>HepRandomEngine</emphasis>. Several different engines are currently
+implemented in <emphasis>HepRandom</emphasis>, we describe here five of them:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis>HepJamesRandom</emphasis>
+    <para>
+    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.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis>DRand48Engine</emphasis>
+    <para>
+    Random engine using the <literal>drand48()</literal> and
+    <literal>srand48()</literal> system functions from C standard library to
+    implement the <literal>flat()</literal> basic distribution and for setting
+    seeds respectively. <emphasis>DRand48Engine</emphasis> uses the 
+    <literal>seed48()</literal>
+    function from C standard library to retrieve the current internal
+    status of the generator, which is represented by 3 short values.
+    <emphasis>DRand48Engine</emphasis> is the only engine defined in 
+    <emphasis>HEPRandom</emphasis>
+    which intrinsically works in 32 bits precision. Copies of an object
+    of this kind are not allowed.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis>RandEngine</emphasis>
+    <para>
+    Simple random engine using the <literal>rand()</literal> and
+    <literal>srand()</literal> system functions from the C standard library to
+    implement the <literal>flat()</literal> basic distribution and for setting
+    seeds respectively. Please note that it's well known that the
+    spectral properties of <literal>rand()</literal> 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.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis>RanluxEngine</emphasis>
+    <para>
+    The algorithm for <emphasis>RanluxEngine</emphasis> has been taken from the
+    original implementation in FORTRAN77 by Fred James, part of the
+    <emphasis role="bold">MATHLIB HEP</emphasis> 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
+    <emphasis>RanluxEngine</emphasis>, the user can specify the luxury level to the
+    constructor (if not, the default value 3 is taken). For example:
+
+    <informalexample>
+    <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
+      ...
+    </programlisting>
+    </informalexample>
+
+    The class provides a <literal>getLuxury()</literal> method to get the
+    engine luxury level.
+    </para>
+    <para>
+    The <literal>SetSeed()</literal> and <literal>SetSeeds()</literal> 
+    methods to set the initial seeds for the engine, can be invoked specifying 
+    the luxury level. For example:
+
+    <informalexample>
+    <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
+    </programlisting>
+    </informalexample>
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis>RanecuEngine</emphasis>
+    <para>
+    The algorithm for <emphasis>RanecuEngine</emphasis> is taken from the one
+    originally written in FORTRAN77 as part of the 
+    <emphasis role="bold">MATHLIB HEP</emphasis>
+    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 <emphasis>HEPRandom</emphasis>. Seeds are taken from a seed
+    table given an index, the <literal>getSeed()</literal> method returns the
+    current index of seed table. The <literal>setSeeds()</literal> method will
+    set seeds in the local <literal>SeedTable</literal> at a given position index
+    (if the index number specified exceeds the table's size,
+    <literal>[index%size]</literal> is taken). For example:
+
+    <informalexample>
+    <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.
+      ...
+    </programlisting>
+    </informalexample>                                     
+    </para>
+
+    <para>
+    The <literal>setSeed()</literal> method resets the current `status' of the
+    engine to the original seeds stored in the static table of seeds in
+    <emphasis>HepRandom</emphasis>, at the specified index.
+    </para>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+Except for the <emphasis>RanecuEngine</emphasis>, 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
+<literal>saveStatus()</literal>, <literal>restoreStatus()</literal> and
+<literal>showStatus()</literal>, which can also be statically called from
+<emphasis>HepRandom</emphasis>. 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.
+</para>
+
+<para>
+<emphasis>RanecuEngine</emphasis> is probably the most suitable engine for
+this kind of operation, since its internal status can be
+fetched/reset by simply using
+<literal>getSeeds()</literal>/<literal>setSeeds()</literal>
+(<literal>getTheSeeds()</literal>/<literal>setTheSeeds()</literal> for the static
+interface in <emphasis>HepRandom</emphasis>).
+</para>
+
+</sect3>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.GlobClass.HEPRandom.StaticInt">
+<title>
+The static interface in the <emphasis>HepRandom</emphasis> class
+</title>
+
+<para>
+<emphasis>HepRandom</emphasis> a singleton class and using a
+<emphasis>HepJamesRandom</emphasis> engine as default algorithm for pseudo-random
+number generation. <emphasis>HepRandom</emphasis> defines a static private data
+member, <literal>theGenerator</literal>, and a set of static methods to
+manipulate it. By means of <literal>theGenerator</literal>, the user can
+change the underlying engine algorithm, get and set the seeds, and
+use any kind of defined random distribution. The static methods
+<literal>setTheSeed()</literal> and <literal>getTheSeed()</literal> will set and get
+respectively the `initial' seed to the main engine used by the
+static generator. For example:
+
+<informalexample>
+<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'
+</programlisting>
+</informalexample>                                      
+</para>
+
+<para>
+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:
+
+<informalexample>
+<programlisting>                                      
+      RanecuEngine theNewEngine;
+      HepRandom::setTheEngine(&amp;theNewEngine);
+       ...
+</programlisting>
+</informalexample>                                      
+
+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:
+
+<informalexample>
+<programlisting>                                      
+      HepRandom::setTheEngine(&amp;myOldEngine);
+</programlisting>
+</informalexample>                                       
+</para>
+
+<para>
+Other static methods defined in this class are:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <literal>void setTheSeeds(const G4long* seeds, G4int)</literal>
+  </para></listitem>
+  <listitem><para>
+    <literal>const G4long* getTheSeeds()</literal>
+    <para>
+    To set/get an array of seeds for the generator, in the case of a
+    <emphasis>RanecuEngine</emphasis> this corresponds also to set/get the current
+    status of the engine.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>HepRandomEngine* getTheEngine()</literal>
+    <para>
+    To get a pointer to the current engine used by the static
+    generator.
+    </para>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.GlobClass.HEPRandom.Distri">
+<title>
+<emphasis>HEPRandom</emphasis> distributions
+</title>
+
+<para>
+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
+<emphasis>HEPRandom</emphasis>. Here is the description of some of them:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis>RandFlat</emphasis>
+    <para>
+    Class to shoot flat random values (integers or double) within a
+    specified interval. The class provides also methods to shoot just
+    random bits.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis>RandExponential</emphasis>
+    <para>
+    Class to shoot exponential distributed random values, given a
+    mean (default mean = 1)
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis>RandGauss</emphasis>
+    <para>
+    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.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis>RandBreitWigner</emphasis>
+    <para>
+    Class to shoot numbers according to the Breit-Wigner
+    distribution algorithms (plain or mean^2).
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis>RandPoisson</emphasis>
+    <para>
+    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'').
+    </para>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect3>
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HEPNumerics">
+<title>
+The <emphasis>HEPNumerics</emphasis> module
+</title>
+
+<para>
+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:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    B.H. Flowers, ``An introduction to Numerical Methods In C++'',
+    Claredon Press, Oxford 1995.
+  </para></listitem>
+  <listitem><para>
+    M. Abramowitz, I. Stegun, ``Handbook of mathematical
+    functions'', DOVER Publications INC, New York 1965 ; chapters 9,
+    10, and 22.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+This set of classes includes:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis>G4ChebyshevApproximation</emphasis>
+    <para>
+    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.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis>G4DataInterpolation</emphasis>
+    <para>
+    Class providing methods for data interpolations and
+    extrapolations: Polynomial, Cubic Spline, ...
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis>G4GaussChebyshevQ</emphasis>
+  </para></listitem>
+  <listitem><para>
+    <emphasis>G4GaussHermiteQ</emphasis>
+  </para></listitem>
+  <listitem><para>
+    <emphasis>G4GaussJacobiQ</emphasis>
+  </para></listitem>
+  <listitem><para>
+    <emphasis>G4GaussLaguerreQ</emphasis>
+    <para>
+    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).
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis>G4Integrator</emphasis>
+    <para>
+    Template class collecting integrator methods for generic
+    functions (Legendre, Simpson, Adaptive Gauss, Laguerre, Hermite,
+    Jacobi).
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis>G4SimpleIntegration</emphasis>
+    <para>
+    Class implementing simple numerical methods (Trapezoidal,
+    MidPoint, Gauss, Simpson, Adaptive Gauss, for integration of
+    functions with signature: double f(double).
+    </para>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.GeneManage">
+<title>
+General management classes
+</title>
+
+<para>
+The `global' category defines also a set of `utility' classes
+generally used within the kernel of Geant4. These classes
+include:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis>G4Allocator</emphasis>
+    <para>
+    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 <literal>new</literal> and
+    <literal>delete</literal> operators via <literal>MallocSingle()</literal> and
+    <literal>FreeSingle()</literal> methods of <emphasis>G4Allocator</emphasis>.
+    </para>
+    <para>
+    <emphasis role="bold">Note</emphasis>: classes which are handled by
+    <literal>G4Allocator</literal> should <emphasis>avoid</emphasis> 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.
+    </para>
+    <para>
+    The list of allocators implicitely defined and used in Geant4 is reported here:
+    <informalexample>
+    <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
+    </programlisting>
+    </informalexample>
+    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):
+    <informalexample>
+    <programlisting>
+      // Return the size of the total memory allocated for tracks
+      //
+      aTrackAllocator.GetAllocatedSize();
+
+      // Return allocated storage for tracks to the free store
+      //
+      aTrackAllocator.ResetStorage();
+    </programlisting>
+    </informalexample>
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis>G4ReferenceCountedHandle</emphasis>
+    <para>
+    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.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis>G4FastVector</emphasis>
+    <para>
+    Template class defining a vector of pointers, not performing
+    boundary checking.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis>G4PhysicsVector</emphasis>
+    <para>
+    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' (<emphasis>G4PhysicsLogVector</emphasis>) 'linear'
+    (<emphasis>G4PhysicsLinearVector</emphasis>), 'free'
+    (<emphasis>G4PhysicsFreeVector</emphasis>), etc.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis>G4LPhysicsFreeVector</emphasis>
+    <para>
+    Implements a free vector for low energy physics cross-section
+    data. A subdivision method is used to find the energy|momentum
+    bin.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis>G4PhysicsOrderedFreeVector</emphasis>
+    <para>
+    A physics ordered free vector inherits from
+    <emphasis>G4PhysicsVector</emphasis>. 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.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis>G4Timer</emphasis>
+    <para>
+    Utility class providing methods to measure elapsed user/system
+    process time.
+    Uses <literal>&lt;sys/times.h&gt;</literal> and <literal>&lt;unistd.h&gt;</literal> -
+    POSIX.1.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis>G4UserLimits</emphasis>
+    <para>
+    Class collecting methods for get and set any kind of step
+    limitation allowed in Geant4.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis>G4UnitsTable</emphasis>
+    <para>
+    Placeholder for the system of units in Geant4.
+    </para>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Fundamentals/run.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Fundamentals/run.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Fundamentals/run.xml	(revision 904)
@@ -0,0 +1,676 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--    Changed by: Dennis Wright, 29-Nov-2001                -->
+<!--    Changed by: Katsuya Amako,  9-Jul-1998                -->
+<!--    Changed by: Katsuya Amako, 30-Nov-1998                -->
+<!--    Proof read by: Joe Chuma,  28-Jun-1999                -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.Run">
+<title>
+Run
+</title>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Run.Basic">
+<title>
+Basic concept of <emphasis>Run</emphasis>
+</title>
+
+<para>
+In Geant4, <emphasis>Run</emphasis> 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 <emphasis>G4Run</emphasis> class object. A run starts with
+<literal>BeamOn()</literal> method of <emphasis>G4RunManager</emphasis>.
+</para>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Run.Basic.Rep">
+<title>
+Representation of a run
+</title>
+
+<para>
+<emphasis>G4Run</emphasis> 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.
+</para>
+
+<para>
+<emphasis>G4Run</emphasis> has pointers to the tables 
+<emphasis>G4VHitsCollection</emphasis>
+and <emphasis>G4VDigiCollection</emphasis>. These tables are associated 
+in case <emphasis>sensitive detectors</emphasis> and 
+<emphasis>digitizer modules</emphasis> are
+simulated, respectively. The usage of these tables will be
+mentioned in <xref linkend="sect.Hits" /> and <xref linkend="sect.Digi" />.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Run.Basic.Manage">
+<title>
+Manage the run procedures
+</title>
+
+<para>
+<emphasis>G4RunManager</emphasis> manages the procedures of a run. In the
+constructor of <emphasis>G4RunManager</emphasis>, all of the manager classes in
+Geant4 kernel, except for some static managers, are constructed.
+These managers are deleted in the destructor of
+<emphasis>G4RunManager</emphasis>. <emphasis>G4RunManager</emphasis> 
+must be a singleton, and
+the pointer to this singleton object can be obtained by the
+<literal>getRunManager()</literal> static method.
+</para>
+
+<para>
+As already mentioned in <xref linkend="sect.HowToDefMain" />, all of the
+<emphasis>user initialization</emphasis> classes and 
+<emphasis>user action</emphasis> classes
+defined by the user should be assigned to <emphasis>G4RunManager</emphasis>
+before starting initialization of the Geant4 kernel. The
+assignments of these user classes are done by
+<literal>SetUserInitialization()</literal> and <literal>SetUserAction()</literal>
+methods. All user classes defined by the Geant4 kernel will be
+summarized in <xref linkend="chap.UserActions" />.
+</para>
+
+<para>
+<emphasis>G4RunManager</emphasis> has several public methods, which are listed
+below.
+
+<variablelist><title></title>
+  <varlistentry>
+    <term><literal>Initialize()</literal></term>
+    <listitem>
+      All initializations required by the Geant4 kernel are triggered
+      by this method. Initializations are:
+
+      <itemizedlist spacing="compact">
+        <listitem><para>
+          construction of the detector geometry and set up of sensitive
+          detectors and/or digitizer modules,
+        </para></listitem>
+        <listitem><para>
+          construction of particles and physics processes,
+        </para></listitem>
+        <listitem><para>
+          calculation of cross-section tables.
+        </para></listitem>
+      </itemizedlist>
+
+      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.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term><literal>BeamOn(G4int numberOfEvent)</literal></term>
+    <listitem>
+      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.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term><literal>GetRunManager()</literal></term>
+    <listitem>
+      This static method returns the pointer to the
+      <emphasis>G4RunManager</emphasis> singleton object.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term><literal>GetCurrentEvent()</literal></term>
+    <listitem>
+      This method returns the pointer to the <emphasis>G4Event</emphasis> 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 <emphasis>"EventProc"</emphasis>. When Geant4 is in a state other than
+      <emphasis>"EventProc"</emphasis>, this method returns
+      <literal>null</literal>. 
+      Please note that the return value of this method is 
+      <literal>const G4Event *</literal> and thus you cannot modify the
+      contents  of the object.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term><literal>SetNumberOfEventsToBeStored(G4int nPrevious)</literal></term>
+    <listitem>
+      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, <emphasis>G4RunManager</emphasis> keeps <literal>nPrevious
+      G4Event</literal> objects. This method must be invoked before proceeding
+      to <literal>BeamOn()</literal>.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term><literal>GetPreviousEvent(G4int i_thPrevious)</literal></term>
+    <listitem>
+      The pointer to the <literal>i_thPrevious G4Event</literal> object can be
+      obtained through this method. A pointer to a <literal>const</literal> object
+      is returned. It is inevitable that <literal>i_thPrevious</literal> events
+      must have already been simulated in the same run for getting the
+      <literal>i_thPrevious</literal> event. Otherwise, this method returns
+      <literal>null</literal>.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term><literal>AbortRun()</literal></term>
+    <listitem>
+      This method should be invoked whenever the processing of a run
+      must be stopped. It is valid for <emphasis>GeomClosed</emphasis> and
+      <emphasis>EventProc</emphasis> 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.
+    </listitem>
+  </varlistentry>
+</variablelist>
+</para>
+
+</sect3>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Run.Basic.UserRunAction">
+<title>
+<emphasis>G4UserRunAction</emphasis>
+</title>
+
+<para>
+<emphasis>G4UserRunAction</emphasis> is one of the <emphasis>user action</emphasis> 
+classes from which you can derive your own concrete class. This base class
+has two virtual methods, as follows:
+
+
+<variablelist><title></title>
+  <varlistentry>
+    <term><literal>BeginOfRunAction()</literal></term>
+    <listitem>
+      This method is invoked at the beginning of the
+      <literal>BeamOn()</literal> method but after confirmation of the conditions
+      of the Geant4 kernel. Likely uses of this method include:
+
+      <itemizedlist spacing="compact">
+        <listitem><para>
+          setting a run identification number,
+        </para></listitem>
+        <listitem><para>
+          booking histograms,
+        </para></listitem>
+        <listitem><para>
+          setting run specific conditions of the sensitive detectors
+          and/or digitizer modules (e.g., dead channels).
+        </para></listitem>
+      </itemizedlist>
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term><literal>EndOfRunAction()</literal></term>
+    <listitem>
+      This method is invoked at the very end of the <literal>BeamOn()</literal>
+      method. Typical use cases of this method are
+
+      <itemizedlist spacing="compact">
+        <listitem><para>
+          store/print histograms,
+        </para></listitem>
+        <listitem><para>
+          manipulate run summaries.
+        </para></listitem>
+      </itemizedlist>
+    </listitem>
+  </varlistentry>
+</variablelist>
+</para>
+
+</sect3>
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Run.StateMac">
+<title>
+Geant4 as a state machine
+</title>
+
+<para>
+Geant4 is designed as a state machine. Some methods in Geant4 are
+available for only a certain state(s). <emphasis>G4RunManager</emphasis> controls
+the state changes of the Geant4 application. States of Geant4 are
+represented by the enumeration <emphasis>G4ApplicationState</emphasis>. It has
+six states through the life cycle of a Geant4 application.
+
+
+<variablelist><title></title>
+  <varlistentry>
+    <term><emphasis>G4State_PreInit</emphasis> state</term>
+    <listitem>
+      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.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term><emphasis>G4State_Init</emphasis> state</term>
+    <listitem>
+      The application is in this state while the
+      <literal>Initialize()</literal> method of <emphasis>G4RunManager</emphasis> 
+      is being invoked. Methods defined in any 
+      <emphasis>user initialization</emphasis> classes 
+      are invoked during this state.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term><emphasis>G4State_Idle</emphasis> state</term>
+    <listitem>
+      The application is ready for starting a run.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term><emphasis>G4State_GeomClosed</emphasis> state</term>
+    <listitem>
+      When <literal>BeamOn()</literal> is invoked, the application proceeds to
+      this state to process a run. Geometry, physics processes, and
+      cut-off cannot be changed during run processing.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term><emphasis>G4State_EventProc</emphasis> state</term>
+    <listitem>
+      A Geant4 application is in this state when a particular event
+      is being processed. <literal>GetCurrentEvent()</literal> and
+      <literal>GetPreviousEvent()</literal> methods of 
+      <emphasis>G4RunManager</emphasis> are
+      available only at this state.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term><emphasis>G4State_Quit</emphasis> state</term>
+    <listitem>
+      When the destructor of <emphasis>G4RunManager</emphasis> 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.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term><emphasis>G4State_Abort</emphasis> state</term>
+    <listitem>
+      When a <emphasis>G4Exception</emphasis> 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 <emphasis>G4VStateDependent</emphasis>. The
+      user also has a choice to suppress the occurence of
+      <emphasis>G4Exception</emphasis> by a UI command
+      <emphasis>/control/suppressAbortion</emphasis>. 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.
+    </listitem>
+  </varlistentry>
+</variablelist>
+
+<emphasis>G4StateManager</emphasis> belongs to the <emphasis>intercoms</emphasis> 
+category.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Run.UserHook">
+<title>
+User's hook for state change
+</title>
+
+<para>
+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
+<emphasis>G4VStateDependent</emphasis> base class. For example, the user can
+store histograms when G4Exception occurs and Geant4 comes to the
+<emphasis>Abort</emphasis> state, but before the actual core dump.
+</para>
+
+<para>
+The following is an example user code which stores histograms
+when Geant4 becomes to the <emphasis>Abort</emphasis> state. This class object
+should be mabe in, for example <emphasis>main()</emphasis>, by the user code.
+This object will be automatically registered to
+<emphasis>G4StateManager</emphasis> at its construction.
+</para>
+
+<example id="programlist_Run_1">
+<title>
+Header file of UserHookForAbortState
+</title>
+<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);
+};
+</programlisting>
+</example>
+
+
+<example id="programlist_Run_2">
+<title>
+Source file of UserHookForAbortState
+</title>
+<programlisting>
+#include "UserHookForAbortState.hh"
+
+UserHookForAbortState::UserHookForAbortState() {;}
+UserHookForAbortState::~UserHookForAbortState() {;}
+
+G4bool UserHookForAbortState::Notify(G4ApplicationState requiredState)
+{
+  if(requiredState!=Abort) return true;
+  
+  // Do book keeping here
+
+  return true;
+}
+</programlisting>
+</example>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Run.Custom">
+<title>
+Customizing the Run Manager
+</title>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Run.Custom.VirMeth">
+<title>
+Virtual Methods in the Run Manager
+</title>
+
+<para>
+<literal>G4RunManager</literal> 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
+<literal>main()</literal> method of the user's application. Thus, instead of
+constructing the <literal>G4RunManager</literal> provided by Geant4, you are
+free to construct your own <literal>RunManager</literal>. It is recommended,
+however, that your <literal>RunManager</literal> inherit
+<literal>G4RunManager</literal>. For this purpose, <literal>G4RunManager</literal> 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 <literal>G4RunManager</literal> base class can still
+be used. A summary of the available methods is presented here:
+
+
+<variablelist><title></title>
+  <varlistentry>
+    <term><literal>public: virtual void Initialize();</literal></term>
+    <listitem>
+      main entry point of Geant4 kernel initialization
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term><literal>protected: virtual void InitializeGeometry();</literal></term>
+    <listitem>
+      geometry construction
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term><literal>protected: virtual void InitializePhysics();</literal></term>
+    <listitem>
+      physics processes construction
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term><literal>public: virtual void BeamOn(G4int n_event);</literal></term>
+    <listitem>
+      main entry point of the event loop
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term><literal>protected: virtual G4bool ConfirmBeamOnCondition();</literal></term>
+    <listitem>
+      check the kernel conditions for the event loop
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term><literal>protected: virtual void RunInitialization();</literal></term>
+    <listitem>
+      prepare a run
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term><literal>protected: virtual void DoEventLoop(G4int n_events);</literal></term>
+    <listitem>
+      manage an event loop
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term><literal>protected: virtual G4Event* GenerateEvent(G4int i_event);</literal></term>
+    <listitem>
+      generation of <emphasis>G4Event</emphasis> object
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term><literal>protected: virtual void AnalyzeEvent(G4Event* anEvent);</literal></term>
+    <listitem>
+      storage/analysis of an event
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term><literal>protected: virtual void RunTermination();</literal></term>
+    <listitem>
+      terminate a run
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term><literal>public: virtual void DefineWorldVolume(G4VPhysicalVolume * worldVol);</literal></term>
+    <listitem>
+      set the world volume to <emphasis>G4Navigator</emphasis>
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term><literal>public: virtual void AbortRun();</literal></term>
+    <listitem>
+      abort the run
+    </listitem>
+  </varlistentry>
+</variablelist>
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Run.Custom.EventLoop">
+<title>
+Customizing the Event Loop
+</title>
+
+<para>
+In <literal>G4RunManager</literal> the event loop is handled by the
+virtual method <literal>DoEventLoop()</literal>. This method is implemented
+by a <literal>for</literal> loop consisting of the following steps:
+
+<orderedlist spacing="compact">
+  <listitem><para>
+    construct a <literal>G4Event</literal> object and assign to it primary
+    vertex(es) and primary particles. This is done by the virtual
+    <literal>GeneratePrimaryEvent()</literal> method.
+  </para></listitem>
+  <listitem><para>
+    send the <literal>G4Event</literal> object to <literal>G4EventManager</literal> 
+    for the detector simulation. <emphasis>Hits</emphasis> and 
+    <emphasis>trajectories</emphasis> will
+    be associated with the <literal>G4Event</literal> object as a
+    consequence.
+  </para></listitem>
+  <listitem><para>
+    perform bookkeeping for the current <literal>G4Event</literal> object.
+    This is done by the virtual <literal>AnalyzeEvent()</literal> method.
+  </para></listitem>
+</orderedlist>
+</para>
+
+<para>
+<literal>DoEventLoop()</literal> 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 <literal>G4Event</literal> 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
+<literal>G4Event</literal>s.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Run.Custom.Geometry">
+<title>
+Changing the Detector Geometry
+</title>
+
+<para>
+The detector geometry defined in your
+<emphasis>G4VUserDetectorConstruction</emphasis> concrete class can be changed
+during a run break (between two runs). Two different cases are
+considered.
+</para>
+
+<para>
+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 <emphasis>RunManager</emphasis>. Thus, you should proceed
+in the following way.
+
+<informalexample>
+<programlisting>
+  G4RunManager* runManager = G4RunManager::GetRunManager();
+  runManager-&gt;DefineWorldVolume( newWorldPhys );
+</programlisting>
+</informalexample>
+
+Presumably this case is rather rare. The second case is more
+frequent for the user.
+</para>
+
+<para>
+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 <literal>Set</literal> 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 <emphasis>RunManager</emphasis>.
+</para>
+
+<para>
+If you want to change your geometry for every run, you can
+implement it in the <literal>BeginOfRunAction()</literal> method of
+<emphasis>G4UserRunAction</emphasis> class, which will be invoked at the
+beginning of each run, or, derive the <literal>RunInitialization()</literal>
+method. Please note that, for both of the above mentioned cases,
+you need to let <emphasis>RunManager</emphasis> know "the geometry needs to be
+closed again". Thus, you need to invoke
+
+<informalexample>
+<programlisting>
+  runManager-&gt;GeometryHasBeenModified();
+</programlisting>
+</informalexample>
+
+before proceeding to the next run. An example of changing geometry
+is given in a Geant4 tutorial in Geant4 Training kit #2.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Run.Custom.SwitchPhys">
+<title>
+Switch physics processes
+</title>
+
+<para>
+In the <literal>InitializePhysics()</literal> method,
+<literal>G4VUserPhysicsList::Construct</literal> 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 
+<xref linkend="sect.HowToSpecParti" /> and 
+<xref linkend="sect.Parti" /> 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 <xref linkend="sect.HowToSpecPhysProc" />
+and <xref linkend="sect.PhysProc" />). 
+This is why the <literal>initializePhysics()</literal> method is assumed 
+to be invoked at once in Geant4 kernel initialization.
+</para>
+
+<para>
+However, you can switch on/off physics processes defined in your
+<emphasis>G4VUserPhysicsList</emphasis> concrete class and also change parameters
+in physics processes during the run break.
+</para>
+
+<para>
+You can use <literal>ActivateProcess()</literal> and
+<literal>InActivateProcess()</literal> methods of <emphasis>G4ProcessManager</emphasis>
+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
+<emphasis>EventProc</emphasis> state.
+</para>
+
+<para>
+It is a likely case to change cut-off values in a run. You can
+change <literal>defaultCutValue</literal> in
+<emphasis>G4VUserPhysicsList</emphasis> 
+during the <emphasis>Idle</emphasis> state. In this case, all cross section 
+tables need to be recalculated before the event loop. You should use the
+<literal>CutOffHasBeenModified()</literal> method when you change cut-off
+values so that the <literal>SetCuts</literal> method of your
+<emphasis>PhysicsList</emphasis> concrete class will be invoked.
+</para>
+
+
+</sect3>
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Fundamentals/unitSystem.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Fundamentals/unitSystem.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Fundamentals/unitSystem.xml	(revision 904)
@@ -0,0 +1,275 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--    Changed by: Katsuya Amako, 14-Jul-1998                -->
+<!--    Changed by: Katsuya Amako, 30-Nov-1998                -->
+<!--    Changed by: Dennis Wright, 20-Nov-2001                -->
+<!--    Proof read by: Joe Chuma,  28-Jun-1999                -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.SysUni">
+<title>
+System of units
+</title>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.SysUni.BasicUni">
+<title>
+Basic units
+</title>
+
+<para>
+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 <literal>HepSystemOfUnits</literal>:
+
+<informalexample>
+<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)
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+All other units are defined from the basic ones.
+</para>
+
+<para>
+For instance:
+
+<informalexample>
+<programlisting>
+                 millimeter = mm = 1;
+                 meter = m = 1000*mm;
+                 ...
+                 m3 = m*m*m;
+                 ...
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+In the file
+<literal>source/global/management/include/SystemOfUnits.h</literal> you will
+find all of these definitions. That file is part of CLHEP.
+</para>
+
+<para>
+Moreover, the user is free to change the system of units to be
+used by the kernel.
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.SysUni.InputData">
+<title>
+Input your data
+</title>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.SysUni.InputData.AvoidHardCoded">
+<title>
+Avoid 'hard coded' data
+</title>
+
+<para>
+You <emphasis role="bold">must</emphasis> give the units for the 
+data you are going to
+introduce:
+
+<informalexample>
+<programlisting>
+ G4double Size = 15*km, KineticEnergy = 90.3*GeV, density = 11*mg/cm3;
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Indeed, the full Geant4 code is written respecting these
+specifications, and this makes it independent of the units chosen
+by the user.
+</para>
+
+<para>
+If the units are not specified, it is understood that the data
+is implicitly in the internal G4 system, but this is strongly
+discouraged.
+</para>
+
+<para>
+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:
+
+<informalexample>
+<programlisting>
+  for (int j=0, j&lt;jmax, j++) CrossSection[j] *= millibarn;
+  ...
+  my calculations
+  ...
+</programlisting>
+</informalexample>
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.SysUni.InputData.Interactive">
+<title>
+Interactive commands
+</title>
+
+<para>
+Some built-in commands from the User Interface (UI) also require
+the units to be specified.
+</para>
+
+<para>
+For instance:
+
+<informalexample>
+<programlisting>
+    /gun/energy 15.2 keV
+    /gun/position 3 2 -7 meter
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+If the units are not specified, or are not valid, the command is
+refused.
+</para>
+
+</sect3>
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.SysUni.OutputData">
+<title>
+Output your data
+</title>
+
+<para>
+You can output your data with the units you wish. To do so, it is
+sufficient to <emphasis role="bold">divide</emphasis> the data by the 
+corresponding unit:
+
+<informalexample>
+<programlisting>     
+      G4cout &lt;&lt; KineticEnergy/keV &lt;&lt; " keV";
+      G4cout &lt;&lt; density/(g/cm3)   &lt;&lt; " g/cm3";
+</programlisting>
+</informalexample>     
+</para>
+
+<para>
+Of course, <literal>G4cout &lt;&lt; KineticEnergy</literal> will print the
+energy in the internal units system.
+</para>
+
+<para>
+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
+
+<informalexample>
+<programlisting>     
+      G4cout &lt;&lt; G4BestUnit(StepSize, "Length");
+</programlisting>
+</informalexample>     
+</para>
+
+<para>
+<literal>StepSize</literal> will be printed in km, m, mm, fermi, etc.
+depending of its actual value.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.SysUni.IntroNewUnits">
+<title>
+Introduce new units
+</title>
+
+<para>
+If you wish to introduce new units, there are two methods:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    You can complete the file <literal>SystemOfUnits.h</literal>
+
+    <informalexample>
+    <programlisting>       
+      #include "SystemOfUnits.h"
+      
+      static const G4double inch = 2.54*cm;
+    </programlisting>
+    </informalexample>      
+
+    Using this method, it is not easy to define composed units. It
+    is better to do the following:
+  </para></listitem>
+  <listitem><para>
+    You can instantiate an object of the class
+    <emphasis>G4UnitDefinition</emphasis>
+
+    <informalexample>
+    <programlisting>       
+      G4UnitDefinition ( name, symbol, category, value )
+    </programlisting>
+    </informalexample>       
+
+    For example: define a few units for speed
+
+    <informalexample>
+    <programlisting>       
+      G4UnitDefinition ( "km/hour" , "km/h", "Speed", km/(3600*s) );
+      G4UnitDefinition ( "meter/ns", "m/ns", "Speed", m/ns );
+    </programlisting>
+    </informalexample>       
+
+    The category "Speed" does not exist by default in
+    <emphasis>G4UnitsTable</emphasis>, but it will be created automatically.
+    The class <emphasis>G4UnitDefinition</emphasis> is located in
+    <literal>source/global/management</literal>.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.SysUni.PrintUnits">
+<title>
+Print the list of units
+</title>
+
+<para>
+You can print the list of units with the static function:
+<literal>G4UnitDefinition::PrintUnitsTable();</literal>
+</para>
+
+<para>
+or with the interactive command: <literal>/units/list</literal>
+</para>
+
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/GettingStarted/ChapGettingStarted.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/GettingStarted/ChapGettingStarted.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/GettingStarted/ChapGettingStarted.xml	(revision 904)
@@ -0,0 +1,33 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  This is the top file for the present chapter. It        -->
+<!--  includes all section files which belong to the chapter. -->
+<!--  Entities names used below are defined in                -->
+<!--  ChapXXEntityDef.dtd in the current directory.           -->
+<!--                                                          -->
+<!--  [Note]                                                  -->
+<!--    Created by Katsuya Amako, Aug-2006                    -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************** Top of Chapter ******************** -->
+<chapter id="chap.GettingStarted">
+<title>
+Getting Started with Geant4 - Running a Simple Example
+</title>
+
+<!-- *************** Inclusion of Sections ****************** -->
+&mainProgram;
+&geometryDef;
+&materialDef;
+&particleDef;
+&physicsDef;
+&eventDef;
+&makeFile;
+&graphicalUserInterface;
+&executeProgram;
+&visualization;
+
+</chapter>
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/GettingStarted/ChapGettingStartedEntityDef.dtd
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/GettingStarted/ChapGettingStartedEntityDef.dtd	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/GettingStarted/ChapGettingStartedEntityDef.dtd	(revision 904)
@@ -0,0 +1,18 @@
+<!-- In below you need to define entities of all xml files you want to -->
+<!-- include from the current directory into the G4 DocBook manual.    -->
+
+<!ENTITY chapGettingStarted     SYSTEM "./ChapGettingStarted.xml">
+
+<!ENTITY mainProgram            SYSTEM "./mainProgram.xml">
+<!ENTITY geometryDef            SYSTEM "./geometryDef.xml">
+<!ENTITY materialDef            SYSTEM "./materialDef.xml">
+<!ENTITY particleDef            SYSTEM "./particleDef.xml">
+<!ENTITY physicsDef             SYSTEM "./physicsDef.xml">
+<!ENTITY eventDef               SYSTEM "./eventDef.xml">
+<!ENTITY makeFile               SYSTEM "./makeFile.xml">
+<!ENTITY graphicalUserInterface SYSTEM "./graphicalUserInterface.xml">
+<!ENTITY executeProgram         SYSTEM "./executeProgram.xml">
+<!ENTITY visualization          SYSTEM "./visualization.xml">
+
+
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/GettingStarted/eventDef.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/GettingStarted/eventDef.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/GettingStarted/eventDef.xml	(revision 904)
@@ -0,0 +1,241 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Changed by: Katsuya Amako,  4-Aug-1998                -->
+<!--    Changed by: Dennis Wright, 29-Nov-2001                -->
+<!--    Proof read by: Joe Chuma,  15-Jun-1999                -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.HowToGenEvent">
+<title>
+How to Generate a Primary Event
+</title>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToGenEvent.GenPrimary">
+<title>
+Generating Primary Events
+</title>
+
+<para>
+<emphasis>G4VuserPrimaryGeneratorAction</emphasis> 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 <emphasis>G4VPrimaryGenerator</emphasis>, explained in the
+following sub-section. Your <emphasis>G4VUserPrimaryGeneratorAction</emphasis>
+concrete class just arranges the way primary particles are generated.
+
+<example id="programlist_HowToGenEvent_1">
+<title>
+An example of a <emphasis>G4VUserPrimaryGeneratorAction</emphasis> 
+concrete class using <emphasis>G4ParticleGun</emphasis>. 
+For the usage of <emphasis>G4ParticleGun</emphasis> refer to the
+next subsection.
+</title>
+
+<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);
+}
+</programlisting>
+</example>
+
+</para>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.HowToGenEvent.GenPrimary.SelectGenerator">
+<title>
+Selection of the generator
+</title>
+
+<para>
+In the constructor of your <emphasis>G4VUserPrimaryGeneratorAction</emphasis>,
+you should instantiate the primary generator(s). If necessary, you
+need to set some initial conditions for the generator(s).
+</para>
+
+<para>
+In <xref linkend="programlist_HowToGenEvent_1" />, 
+<emphasis>G4ParticleGun</emphasis> is constructed to
+use as the actual primary particle generator. Methods of
+<emphasis>G4ParticleGun</emphasis> are described in the following section. Please
+note that the primary generator object(s) you construct in your
+<emphasis>G4VUserPrimaryGeneratorAction</emphasis> concrete class must be deleted
+in your destructor.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.HowToGenEvent.GenPrimary.GenEvent">
+<title>
+Generation of an event
+</title>
+
+<para>
+<emphasis>G4VUserPrimaryGeneratorAction</emphasis> has a pure virtual method
+named <literal>generatePrimaries()</literal>. This method is invoked at the
+beginning of each event. In this method, you have to invoke the
+<emphasis>G4VPrimaryGenerator</emphasis> concrete class you instantiated via the
+<literal>generatePrimaryVertex()</literal> method.
+</para>
+
+<para>
+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.
+</para>
+
+</sect3>
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToGenEvent.G4VPrimGen">
+<title>
+G4VPrimaryGenerator
+</title>
+
+<para>
+Geant4 provides two <emphasis>G4VPrimaryGenerator</emphasis> concrete classes.
+One is <emphasis>G4ParticleGun</emphasis>, which will be discussed here, and the
+other is <emphasis>G4HEPEvtInterface</emphasis>, which will be discussed in
+<xref linkend="sect.EventGen" />.
+</para>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.HowToGenEvent.G4VPrimGen.G4PartGun">
+<title>
+G4ParticleGun
+</title>
+
+<para>
+<emphasis>G4ParticleGun</emphasis> 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
+<emphasis>G4ParticleGun</emphasis> 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
+<emphasis>G4ParticleGun</emphasis>. The invocation of these methods should be
+implemented in the <literal>generatePrimaries()</literal> method of your
+concrete <emphasis>G4VUserPrimaryGeneratorAction</emphasis> class before invoking
+<literal>generatePrimaryVertex()</literal> of
+<emphasis>G4ParticleGun</emphasis>. 
+Geant4 provides various random number generation methods with various
+distributions (see <xref linkend="sect.GlobClass" />).
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.HowToGenEvent.G4VPrimGen.PublicMethG4PartGun">
+<title>
+Public methods of <emphasis>G4ParticleGun</emphasis>
+</title>
+
+<para>
+The following methods are provided by <emphasis>G4ParticleGun</emphasis>, and all
+of them can be invoked from the <literal>generatePrimaries()</literal> method
+in your concrete <emphasis>G4VUserPrimaryGeneratorAction</emphasis> class.
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+  <literal>void SetParticleDefinition(G4ParticleDefinition*)</literal>
+  </para></listitem>
+  <listitem><para>
+  <literal>void SetParticleMomentum(G4ParticleMomentum)</literal>
+  </para></listitem>
+  <listitem><para>
+  <literal>void SetParticleMomentumDirection(G4ThreeVector)</literal>
+  </para></listitem>
+  <listitem><para>
+  <literal>void SetParticleEnergy(G4double)</literal>
+  </para></listitem>
+  <listitem><para>
+  <literal>void SetParticleTime(G4double)</literal>
+  </para></listitem>
+  <listitem><para>
+  <literal>void SetParticlePosition(G4ThreeVector)</literal>
+  </para></listitem>
+  <listitem><para>
+  <literal>void SetParticlePolarization(G4ThreeVector)</literal>
+  </para></listitem>
+  <listitem><para>
+  <literal>void SetNumberOfParticles(G4int)</literal>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+
+</sect3>
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/GettingStarted/executeProgram.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/GettingStarted/executeProgram.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/GettingStarted/executeProgram.xml	(revision 904)
@@ -0,0 +1,499 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Changed by: Katsuya Amako, 30-Jul-1998                -->
+<!--    Changed by: Michel MAIRE,   3-Aug-1998                -->
+<!--    Changed by: Katsuya Amako, 16-Nov-1998                -->
+<!--    Changed by: Dennis Wright, 28-Nov-2001                -->
+<!--    Proof read by: Joe Chuma,  15-Jun-1999                -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.HowToExec">
+<title>
+How to Execute a Program
+</title>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToExec.Intro">
+<title>
+Introduction
+</title>
+
+<para>
+A Geant4 application can be run either in
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+  `purely hard-coded` batch mode
+  </para></listitem>
+  <listitem><para>
+  batch mode, but reading a macro of commands
+  </para></listitem>
+  <listitem><para>
+  interactive mode, driven by command lines
+  </para></listitem>
+  <listitem><para>
+  interactive mode via a Graphical User Interface
+  </para></listitem>
+</itemizedlist>
+
+The last mode will be covered in <xref linkend="sect.HowToSetUpInter" />.
+The first three modes are explained here.
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToExec.HardCodedBatch">
+<title>
+'Hard-coded' Batch Mode
+</title>
+
+<para>
+Below is an example of the main program for an application which
+will run in batch mode.
+
+<example id="programlist_HowToExec_1">
+<title>
+An example of the <literal>main()</literal> routine 
+for an application which will run in batch mode.
+</title>
+<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;
+}
+</programlisting>
+</example>
+</para>
+
+<para>
+Even the number of events in the run is `frozen`. To change this
+number you must at least recompile <literal>main()</literal>.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToExec.BatchMacro">
+<title>
+Batch Mode with Macro File
+</title>
+
+<para>
+Below is an example of the main program for an application which
+will run in batch mode, but reading a file of commands.
+
+<example id="programlist_HowToExec_2">
+<title>
+An example of the <literal>main()</literal> routine 
+for an application which will run in batch mode, but reading a file of commands.
+</title>
+<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;
+}
+</programlisting>
+</example>
+</para>
+
+<para>
+This example will be executed with the command:
+
+<informalexample>
+<programlisting>
+    &gt; myProgram  run1.mac
+</programlisting>
+</informalexample>
+
+where <literal>myProgram</literal> is the name of your executable and
+<literal>run1.mac</literal> is a macro of commands located in the current
+directory, which could look like:
+
+<example id="programlist_HowToExec_3">
+<title>
+A typical command macro.
+</title>
+<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
+</programlisting>
+</example>
+</para>
+
+<para>
+Indeed, you can re-execute your program with different run
+conditions without recompiling anything.
+</para>
+
+<para>
+<emphasis>Digression:</emphasis> 
+many G4 category of classes have a verbose flag which controls
+the level of 'verbosity'.
+</para>
+
+<para>
+Usually <literal>verbose=0</literal> means silent. For instance
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+  <literal>/run/verbose</literal> is for the <literal>RunManager</literal>
+  </para></listitem>
+  <listitem><para>
+  <literal>/event/verbose</literal> is for the <literal>EventManager</literal>
+  </para></listitem>
+  <listitem><para>
+  <literal>/tracking/verbose</literal> is for the <literal>TrackingManager</literal>
+  </para></listitem>
+  <listitem><para>
+  ...etc...
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToExec.InteractiveMode">
+<title>
+Interactive Mode Driven by Command Lines
+</title>
+
+<para>
+Below is an example of the main program for an application which
+will run interactively, waiting for command lines entered from the
+keyboard.
+
+<example id="programlist_HowToExec_4">
+<title>
+An example of the <literal>main()</literal> routine for 
+an application which will run interactively, waiting for commands from the
+keyboard.
+</title>
+<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;
+}
+</programlisting>
+</example>
+</para>                           
+
+<para>
+This example will be executed with the command:
+
+<informalexample>
+<programlisting>
+  &gt; myProgram                  
+</programlisting>
+</informalexample>
+
+where <literal>myProgram</literal> is the name of your executable.
+</para>
+
+<para>
+The G4 kernel will prompt:
+
+<informalexample>
+<programlisting>
+  Idle&gt;
+</programlisting>
+</informalexample>
+
+and you can start your session. An example session could be:
+</para>
+
+<para>
+Create an empty scene ("world" is default):
+
+<informalexample>
+<programlisting>
+  Idle&gt; /vis/scene/create
+</programlisting>
+</informalexample>
+
+Add a volume to the scene:
+
+<informalexample>
+<programlisting>
+  Idle&gt; /vis/scene/add/volume
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Create a scene handler for a specific graphics system. Change the
+next line to choose another graphic system:
+
+<informalexample>
+<programlisting>
+  Idle&gt; /vis/sceneHandler/create OGLIX
+</programlisting>
+</informalexample>
+
+Create a viewer:
+
+<informalexample>
+<programlisting>
+  Idle&gt; /vis/viewer/create
+</programlisting>
+</informalexample>
+
+Draw the scene, etc.:
+
+<informalexample>
+<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                  
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+For the meaning of the machine state <literal>Idle</literal>, see 
+<xref linkend="sect.Run.StateMac" />.
+</para>
+
+<para>
+This mode is useful for running a few events in debug mode and
+visualizing them. Notice that the <emphasis>VisManager</emphasis> is created in
+the <literal>main()</literal>, and the visualization system is choosen via
+the command:
+
+<informalexample>
+<programlisting>
+  /vis/sceneHandler/create OGLIX
+</programlisting>
+</informalexample>
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToExec.GeneralCase">
+<title>
+General Case
+</title>
+
+<para>
+Most of the examples in the <literal>$G4INSTALL/examples/</literal> directory
+have the following <literal>main()</literal>, which covers cases 2 and 3
+above. Thus, the application can be run either in batch or
+interactive mode.
+
+<example id="programlist_HowToExec_5">
+<title>
+The typical <literal>main()</literal> routine from the examples directory.
+</title>
+<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;
+}
+</programlisting>
+</example>
+</para>
+
+<para>
+Notice that the visualization system is under the control of the
+precompiler variable <literal>G4VIS_USE</literal>. Notice also that, in
+interactive mode, few intializations have been put in the macro
+<literal>prerunN03.mac</literal> which is executed before the session
+start.
+
+<example id="programlist_HowToExec_6">
+<title>
+The <literal>prerunN03.mac</literal> macro.
+</title>
+<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
+</programlisting>
+</example>
+</para>
+
+<para>
+Also, this example demonstrates that you can read and execute a
+macro interactively:
+
+<informalexample>
+<programlisting>
+  Idle&gt; /control/execute  mySubMacro.mac
+</programlisting>
+</informalexample>
+</para>
+
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/GettingStarted/geometryDef.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/GettingStarted/geometryDef.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/GettingStarted/geometryDef.xml	(revision 904)
@@ -0,0 +1,304 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Changed by: Katsuya Amako,  6-Aug-1998                -->
+<!--    Changed by: Dennis Wright, 28-Nov-2001                -->
+<!--    Proof read by: Joe Chuma,  14-Jun-1999                -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.HowToDefDetectorGeom">
+<title>
+How to Define a Detector Geometry
+</title>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToDefDetectorGeom.BasicConcepts">
+<title>
+Basic Concepts
+</title>
+
+<para>
+A detector geometry in Geant4 is made of a number of volumes. The
+largest volume is called the <emphasis role="bold">World</emphasis> 
+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.
+</para>
+
+<para>
+Each volume is created by describing its shape and its physical
+characteristics, and then placing it inside a containing
+volume.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToDefDetectorGeom.CreateSimpleVol">
+<title>
+Create a Simple Volume
+</title>
+
+<para>
+What do you need to do to create a volume?
+<itemizedlist spacing="compact">
+  <listitem><para>
+  Create a solid.
+  </para></listitem>
+  <listitem><para>
+  Create a logical volume, using this solid, and adding other
+  attributes.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToDefDetectorGeom.ChooseSolid">
+<title>Choose a Solid
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+In the detector description in the source file
+<literal>ExN01DetectorConstruction.cc</literal>, you will find the following
+box definition:
+
+<example id="programlist_HowToDefDetectorGeom_1">
+<title>
+Creating a box.
+</title>
+<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);
+</programlisting>
+</example>
+
+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.
+</para>
+
+<para>
+It is also very simple to create a cylinder. To do this, you can
+use the <emphasis>G4Tubs</emphasis> class.
+
+<example id="programlist_HowToDefDetectorGeom_2">
+<title>
+Creating a cylinder.
+</title>
+<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);
+</programlisting>
+</example>
+
+This creates a full cylinder, named "tracker_tube", of radius 60
+centimeters and length 50 cm.
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToDefDetectorGeom.CreateLogicalVol">
+<title>
+Create a Logical Volume
+</title>
+
+<para>
+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:
+
+<informalexample>
+<programlisting>
+ G4LogicalVolume* experimentalHall_log
+    = new G4LogicalVolume(experimentalHall_box,Ar,"expHall_log");
+</programlisting>
+</informalexample>
+
+This logical volume is named "expHall_log".
+</para>
+
+<para>
+Similarly we create a logical volume with the cylindrical solid
+filled with aluminium
+
+<informalexample>
+<programlisting>
+  G4LogicalVolume* tracker_log
+    = new G4LogicalVolume(tracker_tube,Al,"tracker_log");
+</programlisting>
+</informalexample>
+
+
+and named "tracker_log"
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToDefDetectorGeom.PlaceVolume">
+<title>
+Place a Volume
+</title>
+
+<para>
+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.
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToDefDetectorGeom.CreatePhysicalVol">
+<title>Create a Physical Volume</title>
+
+<para>
+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:
+</para>
+
+<example id="programlist_HowToDefDetectorGeom_3">
+<title>
+A simple physical volume.
+</title>
+<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
+</programlisting>
+</example>
+
+<para>
+This places the logical volume <literal>tracker_log</literal> at the
+origin of the mother volume <literal>experimentalHall_log</literal>, shifted
+by one meter along X and unrotated. The resulting physical volume
+is named "tracker" and has a copy number of 0.
+</para>
+
+<para>
+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 <emphasis>G4PVPlacement</emphasis> 
+with a null mother pointer. It also must be unrotated, and it must be
+placed at the origin of the global coordinate system.
+</para>
+
+<para>
+Generally, it is best to choose a simple solid as the World
+volume, and in Example N01, we use the experimental hall:
+
+<example id="programlist_HowToDefDetectorGeom_4">
+<title>
+The World volume from Example N01.
+</title>
+<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
+</programlisting>
+</example>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToDefDetectorGeom.CoordinateRotations">
+<title>
+Coordinate Systems and Rotations
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/GettingStarted/graphicalUserInterface.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/GettingStarted/graphicalUserInterface.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/GettingStarted/graphicalUserInterface.xml	(revision 904)
@@ -0,0 +1,509 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.HowToSetUpInter">
+<title>
+How to Set Up an Interactive Session
+</title>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToSetUpInter.Intro">
+<title>
+Introduction
+</title>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.HowToSetUpInter.Intro.RolesIntercoms">
+<title>
+Roles of the "intercoms" category
+</title>
+
+<para>
+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.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.HowToSetUpInter.Intro.UserInterfaces">
+<title>
+User Interfaces to steer the simulation
+</title>
+
+<para>
+To avoid too much programming, the
+"intercoms" category provides the abstract class <emphasis>G4UIsession</emphasis>
+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;
+
+<orderedlist spacing="compact">
+  <listitem><para>
+  Character terminal (dumb terminal and tcsh(bash)-like terminal), 
+  the default user interface of Geant4,
+  </para></listitem>
+  <listitem><para>
+  Xm, Xaw, Win32, variations of the upper terminal by using a
+  Motif, Athena or Windows widget to retrieve commands, and
+  </para></listitem>
+  <listitem><para>
+  GAG, a fully Graphical User Interface and its extension
+  GainServer of the client/server type.
+  </para></listitem>
+</orderedlist>
+</para>
+
+<para>
+Full implementation of the character
+terminals (1 and 2) is included in the standard Geant4 distribution
+in the <literal>source/interfaces/basic</literal> 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
+<literal>environments/MOMO</literal> directory.
+</para>
+
+<para>
+GAG, GainServer's client GUI Gain: 
+<ulink url="http://erpc1.naruto-u.ac.jp/~geant4">
+http://erpc1.naruto-u.ac.jp/~geant4
+</ulink>
+</para>
+
+</sect3>
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToSetUpInter.DescInter">
+<title>
+A Short Description of Available Interface Classes
+</title>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.HowToSetUpInter.DescInter.G4UI">
+<title>
+<emphasis>G4UIterminal</emphasis> and <emphasis>G4UItcsh</emphasis> classes
+</title>
+
+<para>
+These interfaces open a session on the character terminal. 
+<emphasis>G4UIterminal</emphasis> runs on all platform supported by Geant4, 
+including <emphasis>cygwin</emphasis> on Windows, 
+while <emphasis>G4UItcsh</emphasis> runs on Solaris and Linux. G4UItcsh
+supports user-friendly key bindings a-la-tcsh (or bash);
+
+<variablelist>
+  <varlistentry>
+    <term>^A</term>
+    <listitem>
+    move cursor to the top
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>^B</term>
+    <listitem>
+    backward cursor ([LEFT] cursor)
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>^C (except Windows terminal)</term>
+    <listitem>
+    abort a run (<emphasis>soft abort</emphasis>) during event processing. 
+    A program will be terminated while accepting a user command. 
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>^D</term>
+    <listitem>
+    delete/exit/show matched list
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>^E</term>
+    <listitem>
+    move cursor to the end
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>^F</term>
+    <listitem>
+    forward cursor ([RIGHT] cursor)
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>^K</term>
+    <listitem>
+    clear after the cursor
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>^N</term>
+    <listitem>
+    next command ([DOWN] cursor)
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>^P</term>
+    <listitem>
+    previous command ([UP] cursor)
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>TAB</term>
+    <listitem>
+    command completion
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>DEL</term>
+    <listitem>
+    backspace
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>BS</term>
+    <listitem>
+    backspace
+    </listitem>
+  </varlistentry>
+</variablelist>
+</para>
+
+<para>
+In addition, the following string substitutions are supported;
+
+<variablelist>
+  <varlistentry>
+    <term>%s</term>
+    <listitem>
+    current application status
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>%/</term>
+    <listitem>
+    current working directory
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>%h</term>
+    <listitem>
+    history number
+    </listitem>
+  </varlistentry>
+</variablelist>
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.HowToSetUpInter.DescInter.G4UIXm">
+<title>
+<emphasis>G4UIXm</emphasis>, <emphasis>G4UIXaw</emphasis> and 
+<emphasis>G4UIWin32</emphasis> classes
+</title>
+
+<para>
+These interfaces are versions of <emphasis>G4UIterminal</emphasis> 
+implemented over libraries Motif, Athena and WIN32 respectively. 
+<emphasis>G4UIXm</emphasis> uses the Motif XmCommand widget, 
+<emphasis>G4UIXaw</emphasis> the Athena dialog
+widget, and <emphasis>G4UIWin32</emphasis> 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.
+</para>
+
+<para>
+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 <emphasis>AddMenu</emphasis> and 
+<emphasis>AddButton</emphasis> method. Ex:
+
+<variablelist>
+  <varlistentry>
+    <term>/gui/addMenu</term>
+    <listitem>
+    test Test
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>/gui/addButton</term>
+    <listitem>
+    test Init /run/initialize
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>/gui/addButton</term>
+    <listitem>
+    test "Set gun" "/control/execute gun.g4m"
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>/gui/addButton</term>
+    <listitem>
+    test "Run one event" "/run/beamOn 1"
+    </listitem>
+  </varlistentry>
+</variablelist>
+</para>
+
+<para>
+<emphasis>G4UIXm</emphasis> runs on Unix/Linux with Motif. <emphasis>G4UIXaw</emphasis>, 
+less user friendly, runs on Unix with Athena widgets. 
+<emphasis>G4UIWin32</emphasis> runs on Windows.
+</para>
+
+</sect3>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.HowToSetUpInter.DescInter.G4UIGAG">
+<title>
+<emphasis>G4UIGAG</emphasis> and <emphasis>G4UIGainServer</emphasis> classes
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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 <emphasis>G4UIGAG</emphasis> 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.
+</para>
+
+<para>
+GAG has following functions.
+
+<variablelist>
+  <varlistentry>
+    <term>GAG Menu:</term>
+    <listitem>
+    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.    
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>GEANT4 Command tree:</term>
+    <listitem>
+    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.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>Command Parameter panel:</term>
+    <listitem>
+    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.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>Logging:</term>
+    <listitem>
+    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.
+    </listitem>
+  </varlistentry>
+</variablelist>
+</para>
+
+</sect3>
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToSetUpInter.BuildLib">
+<title>
+Building the Interface Libraries
+</title>
+
+<para>
+The libraries that don't depend on external packages are made by default. 
+They include <emphasis>G4UIterminal</emphasis>, <emphasis>G4UItcsh</emphasis>
+and <emphasis>G4UIGAG</emphasis> in libraries <emphasis>libG4UIbasic.a/so</emphasis> and
+<emphasis>libG4UIGAG.a/so</emphasis>. <emphasis>G4UIGainServer.o</emphasis> is packed in
+the <emphasis>libG4UIGAG</emphasis>.
+</para>
+
+<para>
+To make the libraries of <emphasis>G4UIXm</emphasis>, <emphasis>G4UIXaw</emphasis> and
+<emphasis>G4UIWin32</emphasis> , respective environment variables
+<emphasis role="bold">G4UI_BUILD_XM_SESSION</emphasis>, 
+<emphasis role="bold">G4UI_BUILD_XAW_SESSION</emphasis> or
+<emphasis role="bold">G4UI_BUILD_WIN32_SESSION</emphasis> must be set
+explicitly.
+</para>
+
+<para>
+However, if the environment variable <emphasis role="bold">G4UI_NONE</emphasis> is
+set, no interface libraries are built at all.
+</para>
+
+<para>
+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".
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToSetUpInter.HowToUseInter">
+<title>
+How to Use the Interface
+</title>
+
+<para>
+To use a given interface
+(<literal>G4UIxxx</literal> where <literal>xxx = terminal,Xm, Xaw, Win32,
+GAG, GainServer</literal>) in a user's program, he has the following
+lines in his main program;
+
+<informalexample>
+<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;
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+For a tcsh session, the second line must be :
+
+<informalexample>
+<programlisting>
+   G4UIsession* session = new G4UIterminal(new G4UItcsh);
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+See the examples in "examples/novice/N0x" in which the terminal session 
+is used.
+</para>
+
+<para>
+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 <emphasis>G4UIterminal</emphasis> constructor like;
+
+<informalexample>
+<programlisting>
+   G4UIsession* session = new G4UIterminal(new G4UItcsh, false).
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Again, environment variable selects a given interface. But for your
+convenience, some of them are set defaults.
+
+<itemizedlist spacing="compact">
+   <listitem><para>
+   <emphasis>G4UIterminal</emphasis>, <emphasis>G4UItcsh</emphasis>, 
+   <emphasis>G4UIGAG</emphasis> and <emphasis>G4UIGainServer</emphasis> 
+   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.,
+   <emphasis role="bold">G4UI_USE_TERMINAL</emphasis>, 
+   <emphasis role="bold">G4UI_USE_TCSH</emphasis> and
+   <emphasis role="bold">G4UI_USE_GAG</emphasis> ) are set. However, 
+   if he/she sets no environment variables, then the C-pre-processor variable
+   <emphasis role="bold">G4UI_USE_TERMINAL</emphasis> is set by default, 
+   although there is no need to use it.
+   </para></listitem>
+   <listitem><para>
+   The environment variable <emphasis role="bold">G4UI_USE_XM</emphasis>, 
+   <emphasis role="bold">G4UI_USE_XAW</emphasis> or
+   <emphasis role="bold">G4UI_USE_WIN32</emphasis> must be set to use the 
+   respective interface. The file "$G4INSTALL/config/interactivity.gmk"
+   resolves their dependencies on external packages.
+   </para></listitem>
+   <listitem><para>
+   If the environment variable <emphasis role="bold">G4UI_NONE</emphasis> is
+   set, no externa ibraries are selected. Also, for your convenience, if any
+   <emphasis role="bold">G4UI_USE_XXX</emphasis> environment variable is set, 
+   then the corresponding C-pre-processor flag is also set. However, if the
+   environment variable <emphasis role="bold">G4UI_NONE</emphasis> is set, 
+   no C-pre-processor flags are set.
+   </para></listitem>
+</itemizedlist>
+</para>
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/GettingStarted/mainProgram.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/GettingStarted/mainProgram.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/GettingStarted/mainProgram.xml	(revision 904)
@@ -0,0 +1,454 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Changed by: Katsuya Amako,  4-Aug-1998                -->
+<!--    Changed by: Dennis Wright, 29-Nov-2001                -->
+<!--    Proof read by: Joe Chuma,  14-Jun-1999                -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.HowToDefMain">
+<title>
+How to Define the main() Program
+</title>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToDefMain.SimpleMainMethod">
+<title>
+A Sample <literal>main()</literal> Method
+</title>
+
+<para>
+The contents of <literal>main()</literal> 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 <literal>main()</literal>
+method, but a sample is provided here as a guide to the beginning
+user. <xref linkend="programlist_HowToDefMain_1" /> is the  simplest example of
+<literal>main()</literal> required to build a simulation program.
+</para>
+
+<example id="programlist_HowToDefMain_1">
+<title>
+Simplest example of <literal>main()</literal> 
+</title>
+
+<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;
+ }
+</programlisting>
+</example>
+
+<para>
+The <literal>main()</literal> method is implemented by two toolkit
+classes, <emphasis>G4RunManager</emphasis> and <emphasis>G4UImanager</emphasis>, 
+and three classes, <emphasis>ExN01DetectorConstruction</emphasis>, 
+<emphasis>ExN01PhysicsList</emphasis> and 
+<emphasis>ExN01PrimaryGeneratorAction</emphasis>, which are derived from
+toolkit classes. Each of these are explained in the following sections.
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToDefMain.G4RunManager">
+<title>
+<emphasis>G4RunManager</emphasis>
+</title>
+
+<para>
+The first thing <literal>main()</literal> must do is create an instance of
+the <emphasis>G4RunManager</emphasis> class. This is the only manager class in
+the Geant4 kernel which should be explicitly constructed in the
+user's <literal>main()</literal>. It controls the flow of the program and
+manages the event loop(s) within a run. When <emphasis>G4RunManager</emphasis> is
+created, the other major manager classes are also created. They are
+deleted automatically when <emphasis>G4RunManager</emphasis> 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
+</para>
+
+<orderedlist spacing="compact">
+  <listitem><para>
+  how the detector should be constructed,
+  </para></listitem>
+  <listitem><para>
+  all the particles and all the physics processes to be
+  simulated,
+  </para></listitem>
+  <listitem><para>
+  how the primary particle(s) in an event should be produced
+  and
+  </para></listitem>
+  <listitem><para>
+  any additional requirements of the simulation.</para></listitem>
+</orderedlist>
+
+<para>
+In the sample <literal>main()</literal> the lines
+
+<informalexample>
+<programlisting>
+  runManager-&gt;SetUserInitialization(new ExN01DetectorConstruction);
+  runManager-&gt;SetUserInitialization(new ExN01PhysicsList);
+</programlisting>
+</informalexample>
+
+create objects which specify the detector geometry and physics
+processes, respectively, and pass their pointers to the run
+manager. <emphasis>ExN01DetectorConstruction</emphasis> is an example of a user
+initialization class which is derived from
+<emphasis>G4VUserDetectorConstruction</emphasis>. This is where the user
+describes the entire detector setup, including
+</para>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+  its geometry,
+  </para></listitem>
+  <listitem><para>
+  the materials used in its construction,
+  </para></listitem>
+  <listitem><para>
+  a definition of its sensitive regions and
+  </para></listitem>
+  <listitem><para>
+  the readout schemes of the sensitive regions.
+  </para></listitem>
+</itemizedlist>
+
+<para>
+Similarly <emphasis>ExN01PhysicsList</emphasis> is derived from
+<emphasis>G4VUserPhysicsList</emphasis> and requires the user to define
+</para>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+  the particles to be used in the simulation,
+  </para></listitem>
+  <listitem><para>
+  the range cuts for these particles and
+  </para></listitem>
+  <listitem><para>
+  all the physics processes to be simulated.
+  </para></listitem>
+</itemizedlist>
+
+<para>
+The next instruction in <literal>main()</literal>
+
+<informalexample>
+<programlisting>
+  runManager-&gt;SetUserAction(new ExN01PrimaryGeneratorAction);
+</programlisting>
+</informalexample>
+
+creates an instance of a particle generator and passes its pointer
+to the run manager. <emphasis>ExN01PrimaryGeneratorAction</emphasis> is an
+example of a user action class which is derived from
+<emphasis>G4VUserPrimaryGeneratorAction</emphasis>. In this class the user must
+describe the initial state of the primary event. This class has a
+public virtual method named <literal>generatePrimaries()</literal> which will
+be invoked at the beginning of each event. Details will be given in
+<xref linkend="sect.HowToGenEvent" />. 
+Note that Geant4 does not provide any default behavior for generating a primary event.
+</para>
+
+<para>
+The next instruction
+
+<informalexample>
+<programlisting>
+  runManager-&gt;Initialize();
+</programlisting>
+</informalexample>
+
+performs the detector construction, creates the physics processes,
+calculates cross sections and otherwise sets up the run. The final
+run manager method in <literal>main()</literal>
+
+<informalexample>
+<programlisting>
+  int numberOfEvent = 3;
+  runManager-&gt;beamOn(numberOfEvent);
+</programlisting>
+</informalexample>
+
+begins a run of three sequentially processed events. The
+<literal>beamOn()</literal> method may be invoked any number of times within
+<literal>main()</literal> 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 <xref linkend="sect.Run.Custom" />.
+More information on <emphasis>G4RunManager</emphasis> in general is found in 
+<xref linkend="sect.Run" />.
+</para>
+
+<para>
+As mentioned above, other manager classes are created when the
+run manager is created. One of these is the user interface manager,
+<emphasis>G4UImanager</emphasis>. In <literal>main()</literal> a pointer to 
+the interface manager must be obtained
+
+<informalexample>
+<programlisting>
+  G4UImanager* UI = G4UImanager::getUIpointer();
+</programlisting>
+</informalexample> 
+
+in order for the user to issue commands to the program. In the
+present example the <literal>applyCommand()</literal> 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 
+<xref linkend="sect.BuiltinCom" />.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToDefMain.UserInitAction">
+<title>
+User Initialization and Action Classes
+</title>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.HowToDefMain.UserInitAction.MandatoryUserClasses">
+<title>
+Mandatory User Classes
+</title>
+
+<para>
+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: <emphasis>G4VUserDetectorConstruction</emphasis>,
+<emphasis>G4VuserPhysicsList</emphasis> and 
+<emphasis>G4VuserPrimaryGeneratorAction</emphasis>.
+Geant4 does not provide default behavior for these classes.
+<emphasis>G4RunManager</emphasis> checks for the existence of these mandatory
+classes when the <literal>Initialize()</literal> and <literal>BeamOn()</literal>
+methods are invoked.
+</para>
+
+<para>
+As mentioned in the previous section,
+<emphasis>G4VUserDetectorConstruction</emphasis> requires the user to define the
+detector and <emphasis>G4VUserPhysicsList</emphasis> requires the user to define
+the physics. Detector definition will be discussed in Sections
+</para>
+
+<para>
+<xref linkend="sect.HowToDefDetectorGeom" /> and 
+<xref linkend="sect.HowToSpecMate" />.
+Physics definition will be discussed in Sections 
+<xref linkend="sect.HowToSpecParti" /> 
+and 
+<xref linkend="sect.HowToSpecPhysProc" />.
+The user action  <emphasis>G4VuserPrimaryGeneratorAction</emphasis> 
+requires that the initial event state be defined. Primary event generation will 
+be discussed in 
+<xref linkend="sect.HowToMakeExec" />.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.HowToDefMain.UserInitAction.OptionalUserAction">
+<title>
+Optional User Action Classes
+</title>
+
+<para>
+Geant4 provides five user hook classes:
+</para>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+  <emphasis>G4UserRunAction</emphasis>
+  </para></listitem>
+  <listitem><para>
+  <emphasis>G4UserEventAction</emphasis>
+  </para></listitem>
+  <listitem><para>
+  <emphasis>G4UserStackingAction</emphasis>
+  </para></listitem>
+  <listitem><para>
+  <emphasis>G4UserTrackingAction</emphasis>
+  </para></listitem>
+  <listitem><para>
+  <emphasis>G4UserSteppingAction</emphasis>
+  </para></listitem>
+</itemizedlist>
+
+<para>
+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 
+<xref linkend="chap.UserActions" />.
+</para>
+
+</sect3>
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToDefMain.G4UImanagerUICommand">
+<title>
+<emphasis>G4UImanager</emphasis> and UI CommandSubmission
+</title>
+
+<para>
+Geant4 provides a category named <emphasis role="bold">intercoms</emphasis>.
+<emphasis>G4UImanager</emphasis> is the manager class of this category. Using the
+functionalities of this category, you can invoke 
+<emphasis role="bold">set</emphasis> methods
+of class objects of which you do not know the pointer. 
+In <xref linkend="programlist_HowToDefMain_2" />, 
+the verbosities of various Geant4 manager classes
+are set. Detailed mechanism description and usage of
+<emphasis role="bold">intercoms</emphasis> will be given in the next chapter, 
+with a list of available commands. Command submission can be done all through the
+application.
+</para>
+
+<example id="programlist_HowToDefMain_2">
+<title>
+An example of <literal>main()</literal> using interactive 
+terminal and visualization. Code modified from the previous
+example are shown in  <emphasis role="color_blue">blue</emphasis>.
+</title>
+<programlisting>
+ #include "G4RunManager.hh"
+ #include "G4UImanager.hh"
+ <emphasis role="color_blue">#include "G4UIterminal.hh"</emphasis>
+ #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();
+
+ <emphasis role="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);
+   }
+</emphasis>
+
+   // job termination
+   delete visManager;
+   delete runManager;
+
+   return 0;
+ }
+</programlisting>
+</example>
+
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToDefMain.G4coutG4cerr">
+<title>
+<emphasis>G4cout</emphasis> and <emphasis>G4cerr</emphasis>
+</title>
+
+<para>
+Although not yet included in the above examples, output streams
+will be needed. <emphasis>G4cout</emphasis> and <emphasis>G4cerr</emphasis> 
+are <emphasis role="bold">iostream</emphasis>
+objects defined by Geant4. The usage of these objects is exactly
+the same as the ordinary <emphasis>cout</emphasis> and
+<emphasis>cerr</emphasis>, 
+except that the output streams will be handled by
+<emphasis>G4UImanager</emphasis>. 
+Thus, output strings may be displayed on another window or stored in a
+file. Manipulation of these output streams will be described in
+<xref linkend="sect.UIDefNew.HowCont" />.
+These objects should be used instead of the ordinary
+<emphasis>cout</emphasis> and <emphasis>cerr</emphasis>.
+</para>
+
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/GettingStarted/makeFile.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/GettingStarted/makeFile.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/GettingStarted/makeFile.xml	(revision 904)
@@ -0,0 +1,165 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Changed by: Katsuya Amako, 16-Nov-1998                -->
+<!--    Changed by: Dennis Wright, 28-Nov-2001                -->
+<!--    Proof read by: Joe Chuma,  16-Jun-1999                -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.HowToMakeExec">
+<title>
+How to Make an Executable Program
+</title>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToMakeExec.UNIX">
+<title>
+Building ExampleN01 in a UNIX Environment
+</title>
+
+<para>
+The code for the user examples in Geant4 is placed in the directory
+<literal>$G4INSTALL/examples</literal>, where <literal>$G4INSTALL</literal> is the
+environment variable set to the place where the Geant4 distribution
+is installed (set by default to <literal>$HOME/geant4</literal>). 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.
+</para>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.HowToMakeExec.UNIX.HowGNUmakeWorks">
+<title>
+How GNUmake works in Geant4
+</title>
+
+<para>
+The GNUmake process in Geant4 is mainly controlled by the following
+GNUmake script files (<literal>*.gmk</literal> scripts are placed in 
+<literal>$G4INSTALL/config</literal>):
+
+<variablelist>
+  <varlistentry>
+    <term><literal>architecture.gmk</literal></term>
+    <listitem>
+    invoking and defining all the architecture specific settings
+    and paths which are stored in <literal>$G4INSTALL/config/sys</literal>.
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term><literal>common.gmk</literal></term>
+    <listitem>
+    defining all general GNUmake rules for building objects and libraries
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term><literal>globlib.gmk</literal></term>
+    <listitem>
+    defining all general GNUmake rules for building compound libraries
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term><literal>binmake.gmk</literal></term>
+    <listitem>
+    defining the general GNUmake rules for building executables
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term><literal>GNUmakefile</literal></term>
+    <listitem>
+    placed inside each directory in the Geant4 distribution and defining 
+    directives specific to build a library, a set of sub-libraries, or 
+    an executable.
+    </listitem>
+  </varlistentry>
+</variablelist>
+</para>
+
+<para>
+Kernel libraries are placed by default in
+<literal>$G4INSTALL/lib/$G4SYSTEM</literal>, where <literal>$G4SYSTEM</literal>
+specifies the system architecture and compiler in use. Executable
+binaries are placed in <literal>$G4WORKDIR/bin/$G4SYSTEM</literal>, and
+temporary files (object-files and data products of the compilation
+process) in <literal>$G4WORKDIR/tmp/$G4SYSTEM</literal>. <literal>$G4WORKDIR</literal>
+(set by default to <literal>$G4INSTALL</literal>) should be set by the user
+to specify the place his/her own workdir for Geant4 in the user
+area.
+</para>
+
+<para>
+For more information on how to build Geant4 kernel libraries and
+set up the correct environment for Geant4, refer to the
+"Installation Guide".
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.HowToMakeExec.UNIX.BuildExec">
+<title>
+Building the executable</title>
+
+<para>
+The compilation process to build an executable, such as an example
+from <literal>$G4INSTALL/examples</literal>, is started by invoking the
+"gmake" command from the (sub)directory in which you are
+interested. To build, for instance, exampleN01 in your
+<literal>$G4WORKDIR</literal> area, you should copy the module
+<literal>$G4INSTALL/examples</literal> to your <literal>$G4WORKDIR</literal> 
+and do the following actions:
+
+<informalexample>
+<programlisting>
+  &gt; cd $G4WORKDIR/examples/novice/N01
+  &gt; gmake
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+This will create, in <literal>$G4WORKDIR/bin/$G4SYSTEM</literal>, the
+"exampleN01" executable, which you can invoke and run. You should
+actually add <literal>$G4WORKDIR/bin/$G4SYSTEM</literal> to
+<literal>$PATH</literal> in your environment.
+</para>
+
+</sect3>
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToMakeExec.Windows">
+<title>
+Building ExampleN01 in a Windows Environment
+</title>
+
+<para>
+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").
+</para>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.HowToMakeExec.Windows.BuildExec">
+<title>
+Building the executable
+</title>
+
+<para>
+See paragraph <xref linkend="sect.HowToMakeExec.UNIX" />.
+</para>
+
+
+
+</sect3>
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/GettingStarted/materialDef.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/GettingStarted/materialDef.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/GettingStarted/materialDef.xml	(revision 904)
@@ -0,0 +1,229 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Changed by: Katsuya Amako,  4-Aug-1998                -->
+<!--    Changed by: Dennis Wright, 28-Nov-2001                -->
+<!--    Proof read by: Joe Chuma,  15-Jun-1999                -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.HowToSpecMate">
+<title>
+How to Specify Materials in the Detector
+</title>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToSpecMate.GeneCons">
+<title>
+General Considerations
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+The <emphasis>G4Element</emphasis> class describes the properties of the
+atoms:
+<itemizedlist spacing="compact">
+  <listitem><para>
+  atomic number,
+  </para></listitem>
+  <listitem><para>
+  number of nucleons,
+  </para></listitem>
+  <listitem><para>
+  atomic mass,
+  </para></listitem>
+  <listitem><para>
+  shell energy,
+  </para></listitem>
+  <listitem><para>
+  as well as quantities such as cross sections per atom, etc.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+The <emphasis>G4Material</emphasis> class describes the macroscopic properties
+of matter:
+<itemizedlist spacing="compact">
+  <listitem><para>
+  density,
+  </para></listitem>
+  <listitem><para>
+  state,
+  </para></listitem>
+  <listitem><para>
+  temperature,
+  </para></listitem>
+  <listitem><para>
+  pressure,
+  </para></listitem>
+  <listitem><para>
+  as well as macroscopic quantities like radiation length, mean
+  free path, dE/dx, etc.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+The <emphasis>G4Material</emphasis> 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.
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToSpecMate.DefSimpleMate">
+<title>
+Define a Simple Material
+</title>
+
+<para>
+In the example below, liquid argon is created, by specifying its
+name, density, mass per mole, and atomic number.
+<example id="programlist_HowToSpecMate_1">
+<title>
+Creating liquid argon.
+</title>
+<programlisting>
+  G4double density = 1.390*g/cm3;
+  G4double a = 39.95*g/mole;
+  G4Material* lAr = new G4Material(name="liquidArgon", z=18., a, density);
+</programlisting>
+</example>
+</para>
+
+<para>
+The pointer to the material, <emphasis>lAr</emphasis>, will be used to specify
+the matter of which a given logical volume is made:
+<informalexample>
+<programlisting>
+  G4LogicalVolume* myLbox = new G4LogicalVolume(aBox,lAr,"Lbox",0,0,0);
+</programlisting>
+</informalexample>
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToSpecMate.DefineMolecule">
+<title>
+Define a Molecule
+</title>
+
+<para>
+In the example below, the water, <emphasis>H2O</emphasis>, is built from its
+components, by specifying the number of atoms in the molecule.
+<example id="programlist_HowToSpecMate_2">
+<title>
+Creating water by defining its molecular components.
+</title>
+<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);
+</programlisting>
+</example>
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToSpecMate.DefMixtureByFractionalMass">
+<title>
+Define a Mixture by Fractional Mass
+</title>
+
+<para>
+In the example below, air is built from nitrogen and oxygen, by
+giving the fractional mass of each component.
+
+<example id="programlist_HowToSpecMate_3">
+<title>
+Creating air by defining the fractional mass of its components.
+</title>
+<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);
+</programlisting>
+</example>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToSpecMate.DefMateFromDatabase">
+<title>
+Define a Material from the Geant4 Material Database
+</title>
+
+<para>
+In the example below, air and water are accessed via the Geant4
+material database.
+<example id="programlist_HowToSpecMate_4">
+<title>
+Defining air and water from the internal Geant4 database.
+</title>
+<programlisting>
+  G4NistManager* man = G4NistManager::Instance();
+
+  G4Material* H2O  = man-&gt;FindOrBuildMaterial("G4_WATER");
+  G4Material* Air  = man-&gt;FindOrBuildMaterial("G4_AIR");
+</programlisting>
+</example>
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToSpecMate.PrintMateInfo">
+<title>
+Print Material Information
+</title>
+
+<para>
+<example id="programlist_HowToSpecMate_5">
+<title>
+Printing information about materials.
+</title>
+<programlisting>
+  G4cout &lt;&lt; H2O;                                \\ print a given material
+  G4cout &lt;&lt; *(G4Material::GetMaterialTable());  \\ print the list of materials
+</programlisting>
+</example>
+
+In <literal>examples/novice/N03/N03DetectorConstruction.cc</literal>, you
+will find examples of all possible ways to build a material.
+</para>
+
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/GettingStarted/particleDef.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/GettingStarted/particleDef.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/GettingStarted/particleDef.xml	(revision 904)
@@ -0,0 +1,445 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Changed by: Katsuya Amako,  4-Aug-1998                -->
+<!--    Proof read by: Joe Chuma,  15-Jun-1999                -->
+<!--    Changed by: Hisaya Kurashige, 28-Oct-2001             -->
+<!--    Changed by: Dennis Wright, 29-Nov-2001                -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--    Changed by: Hisaya Kurashige, 18-Jan-2007             -->
+<!--    Changed by: Hisaya Kurashige, 1-Dec-2007              -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.HowToSpecParti">
+<title>
+How to Specify Particles
+</title>
+
+<para>
+<literal>G4VuserPhysicsList</literal> is one of the mandatory user base
+classes described in 
+<xref linkend="sect.HowToDefMain" />.
+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.
+</para>
+
+<para>
+The user must create a class derived from
+<literal>G4VuserPhysicsList</literal> and implement the following pure
+virtual methods:
+
+<informalexample>
+<programlisting>
+ConstructParticle();      // construction of particles
+ConstructProcess();       // construct processes and register them to particles
+SetCuts();                // setting a range cut value for all particles
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+This section provides some simple examples of the
+<literal>ConstructParticle()</literal> and <literal>SetCuts()</literal>
+methods. 
+For information on <literal>ConstructProcess()</literal> methods, please see
+<xref linkend="sect.HowToSpecPhysProc" />.
+
+</para>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToSpecParti.PartiDef">
+<title>
+Particle Definition
+</title>
+
+<para>
+Geant4 provides various types of particles for use in simulations:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+  ordinary particles, such as electrons, protons, and gammas
+  </para></listitem>
+  <listitem><para>
+  resonant particles with very short lifetimes, such as vector
+  mesons and delta baryons
+  </para></listitem>
+  <listitem><para>
+  nuclei, such as deuteron, alpha, and heavy ions (including hyper-nuclei)
+  </para></listitem>
+  <listitem><para>
+  quarks, di-quarks, and gluon
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+Each particle is represented by its own class, which is derived
+from <literal>G4ParticleDefinition</literal>. 
+(Exception: G4Ions represents all heavy nuclei. Please see
+<xref linkend="sect.Parti" />.)
+Particles are organized into six major categories:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+  lepton,
+  </para></listitem>
+  <listitem><para>
+  meson,
+  </para></listitem>
+  <listitem><para>
+  baryon,
+  </para></listitem>
+  <listitem><para>
+  boson,
+  </para></listitem>
+  <listitem><para>
+  shortlived and
+  </para></listitem>
+  <listitem><para>
+  ion,
+  </para></listitem>
+</itemizedlist>
+
+each of which is defined in a corresponding sub-directory under
+<literal>geant4/source/particles</literal>. There is also a corresponding
+granular library for each particle category.
+</para>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.HowToSpecParti.PartiDef.G4ParticleDefinition">
+<title>
+The <literal>G4ParticleDefinition</literal> Class
+</title>
+
+<para>
+<literal>G4ParticleDefinition</literal> 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 directly.
+<literal>G4ParticlePropertyTable</literal> is used to retrieve (load) 
+particle property of <literal>G4ParticleDefinition</literal> 
+into (from) <literal>G4ParticlePropertyData</literal>.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.HowToSpecParti.PartiDef.HowToAccessParti">
+<title>
+How to Access a Particle
+</title>
+
+<para>
+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 
+<xref linkend="sect.Parti" /> for details.
+</para>
+
+<para>
+For example, the class <literal>G4Electron</literal> represents the
+electron and the member <literal>G4Electron::theInstance</literal> 
+points its only object. 
+The pointer to this object is available
+through the static methods
+<literal>G4Electron::ElectronDefinition()</literal>.
+<literal>G4Electron::Definition()</literal>.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+The unique object for each particle class is created when its static 
+method to get the pointer is called iat the first time.
+Because particles are dynamic objects and should be instantiated before 
+initialization of physics processes, 
+you must explicitly invoke static methods of all particle classes 
+required by your program at the initialization step.
+(NOTE: The particle object was static and created automatically before 8.0 release)
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.HowToSpecParti.PartiDef.DictOfParti">
+<title>Dictionary of Particles
+</title>
+
+<para>
+The <literal>G4ParticleTable</literal> class is provided as a dictionary of
+particles. Various utility methods are provided, such as:
+
+<informalexample>
+<programlisting>
+FindParticle(G4String name);         // find the particle by name
+FindParticle(G4int PDGencoding)      // find the particle by PDG encoding .
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+<literal>G4ParticleTable</literal> is defined as a singleton object,
+and the static method <literal>G4ParticleTable::GetParticleTable()</literal>
+provides its pointer.
+</para>
+
+<para>
+As for heavy ions (including hyper-nuclei), objects are created
+dynamically by requests from users and processes.  
+The <literal>G4ParticleTable</literal> class provides
+methods to create ions, such as:
+<informalexample>
+<programlisting>
+G4ParticleDefinition* GetIon(  G4int    atomicNumber,  
+                               G4int    atomicMass, 
+                               G4double   excitationEnergy);
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Particles are registered automatically during construction. The
+user has no control over particle registration.
+</para>
+
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.HowToSpecParti.PartiDef.ConstruParti">
+<title>
+Constructing Particles
+</title>
+
+<para>
+<literal>ConstructParticle()</literal> 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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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 <literal>ConstructParticle()</literal> method is
+implemented as below:
+
+<example id="programlist_HowToSpecParti_1">
+<title>
+Construct a proton and a geantino.
+</title>
+<programlisting>
+ void ExN01PhysicsList::ConstructParticle()
+ {
+   G4Proton::ProtonDefinition();
+   G4Geantino::GeantinoDefinition();
+ }
+</programlisting>
+</example>
+</para>
+
+<para>
+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:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+  <literal>G4BosonConstructor</literal>
+  </para></listitem>
+  <listitem><para>
+  <literal>G4LeptonConstructor</literal>
+  </para></listitem>
+  <listitem><para>
+  <literal>G4MesonConstructor</literal>
+  </para></listitem>
+  <listitem><para>
+  <literal>G4BarionConstructor</literal>
+  </para></listitem>
+  <listitem><para>
+  <literal>G4IonConstructor</literal>
+  </para></listitem>
+  <listitem><para>
+  <literal>G4ShortlivedConstructor</literal>.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+An example of this is shown in <literal>ExN05PhysicsList</literal>, 
+listed below.
+
+<example id="programlist_HowToSpecParti_2">
+<title>
+Construct all leptons.
+</title>
+<programlisting>
+void ExN05PhysicsList::ConstructLeptons()
+{
+  // Construct all leptons
+  G4LeptonConstructor pConstructor;
+  pConstructor.ConstructParticle();
+}
+</programlisting>
+</example>
+</para>
+
+</sect3>
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToSpecParti.RangeCuts">
+<title>
+Range Cuts
+</title>
+
+<para>
+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 <literal>SetCuts()</literal> method of <literal>G4VUserPhysicsList</literal>.
+<xref linkend="sect.CutReg" /> discusses threshold and tracking 
+cuts in detail.
+</para>
+
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.HowToSpecParti.RangeCuts.SetCuts">
+<title>
+Setting the cuts
+</title>
+
+<para>
+Production threshold values should be defined in <literal>SetCuts()</literal>
+which is a pure virtual method of the <literal>G4VUserPhysicsList</literal>
+class. Construction of particles, materials, and processes should
+precede the invocation of <literal>SetCuts()</literal>. <literal>G4RunManager</literal>
+takes care of this sequence in usual applications.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+In such a case, the <literal>SetCutsWithDefault()</literal> method may be
+used. It is provided by the <literal>G4VuserPhysicsList</literal> base class,
+which has a <literal>defaultCutValue</literal> member as the default range
+cut-off value. <literal>SetCutsWithDefault()</literal> uses this value.
+</para>
+
+<para>
+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.
+
+<example id="programlist_HowToSpecParti_3">
+<title>
+Set cut values by using the default cut value.
+</title>
+<programlisting>
+void ExN04PhysicsList::SetCuts()
+{
+  //   the G4VUserPhysicsList::SetCutsWithDefault() method sets 
+  //   the default cut value for all particle types 
+  SetCutsWithDefault();   
+}
+</programlisting>
+</example>
+</para>
+
+<para>
+The <literal>defaultCutValue</literal> 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.
+
+<example id="programlist_HowToSpecParti_4">
+<title>
+Set the default cut value.
+</title>
+<programlisting>
+ExN04PhysicsList::ExN04PhysicsList():  G4VUserPhysicsList()
+{
+  // default cut value  (1.0mm) 
+  defaultCutValue = 1.0*mm;
+}
+</programlisting>
+</example>
+</para>
+
+<para>
+The <literal>SetDefaultCutValue()</literal> method in
+<literal>G4VUserPhysicsList</literal> may also be used, and the "/run/setCut"
+command may be used to change the default cut value
+interactively.
+</para>
+
+<para>
+WARNING: DO NOT change cut values inside the event loop. Cut
+values may however be changed between runs.
+</para>
+
+<para>
+An example implementation of <literal>SetCuts()</literal> is shown
+below:
+
+<example id="programlist_HowToSpecParti_5">
+<title>
+Example implementation of the <literal>SetCuts()</literal> method.
+</title>
+<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+");
+}
+</programlisting>
+</example>
+</para>
+
+<para>
+Beginning with Geant4 version 5.1, it is now possible to set
+production thresholds for each geometrical region. This new
+functionality is described in <xref linkend="sect.CutReg" />.
+</para>
+
+
+</sect3>
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/GettingStarted/physicsDef.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/GettingStarted/physicsDef.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/GettingStarted/physicsDef.xml	(revision 904)
@@ -0,0 +1,264 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Changed by: Katsuya Amako, 15-Jul-1998                -->
+<!--    Proof read by: Joe Chuma,  15-Jun-1999                -->
+<!--    Changed by: Hisaya Kurashige, 28-Oct-2001             -->
+<!--    Changed by: Dennis Wright, 29-Nov-2001                -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.HowToSpecPhysProc">
+<title>
+How to Specify Physics Processes
+</title>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToSpecPhysProc.PhysProc">
+<title>
+Physics Processes
+</title>
+
+<para>
+Physics processes describe how particles interact with materials.
+Geant4 provides seven major categories of processes:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+  electromagnetic,
+  </para></listitem>
+  <listitem><para>
+  hadronic,
+  </para></listitem>
+  <listitem><para>
+  transportation,
+  </para></listitem>
+  <listitem><para>
+  decay,
+  </para></listitem>
+  <listitem><para>
+  optical,
+  </para></listitem>
+  <listitem><para>
+  photolepton_hadron, and
+  </para></listitem>
+  <listitem><para>parameterisation.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+All physics processes are derived from the <emphasis>G4VProcess</emphasis>
+base class. Its virtual methods
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+  <literal>AtRestDoIt</literal>,
+  </para></listitem>
+  <listitem><para>
+  <literal>AlongStepDoIt</literal>, and
+  </para></listitem>
+  <listitem><para>
+  <literal>PostStepDoIt</literal>
+  </para></listitem>
+</itemizedlist>
+
+and the corresponding methods
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+  <literal>AtRestGetPhysicalInteractionLength</literal>,
+  </para></listitem>
+  <listitem><para>
+  <literal>AlongStepGetPhysicalInteractionLength</literal>, and
+  </para></listitem>
+  <listitem><para>
+  <literal>PostStepGetPhysicalInteractionLength</literal>
+  </para></listitem>
+</itemizedlist>
+
+describe the behavior of a physics process when they are
+implemented in a derived class. The details of these methods are
+described in 
+<xref linkend="sect.PhysProc" />.
+</para>
+
+<para>
+The following are specialized base classes to be used for simple
+processes:
+
+<variablelist>
+  <varlistentry>
+    <term><emphasis>G4VAtRestProcess</emphasis></term>
+    <listitem>
+    Processes with only <literal>AtRestDoIt</literal>
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term><emphasis>G4VContinuousProcess</emphasis></term>
+    <listitem>
+    Processes with only <literal>AlongStepDoIt</literal>
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term><emphasis>G4VDiscreteProcess</emphasis></term>
+    <listitem>
+    processes with only <literal>PostStepDoIt</literal>
+    </listitem>
+  </varlistentry>
+</variablelist>
+</para>
+
+<para>
+Another 4 virtual classes, such as
+<emphasis>G4VContinuousDiscreteProcess</emphasis>, are provided for complex
+processes.
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToSpecPhysProc.ManagingProc">
+<title>
+Managing Processes
+</title>
+
+<para>
+The <emphasis>G4ProcessManager</emphasis> 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 <literal>DoIt</literal>
+method is valid for each process in the list. A
+<emphasis>G4ProcessManager</emphasis> object corresponds to each particle and is
+attached to the <emphasis>G4ParticleDefiniton</emphasis> class.
+</para>
+
+<para>
+In order to validate processes, they should be registered with
+the particle's <emphasis>G4ProcessManager</emphasis>. Process ordering
+information is included by using the <literal>AddProcess()</literal> and
+<literal>SetProcessOrdering()</literal> methods. For registration of simple
+processes, the <literal>AddAtRestProcess()</literal>,
+<literal>AddContinuousProcess()</literal> and <literal>AddDiscreteProcess()</literal>
+methods may be used.
+</para>
+
+<para>
+<emphasis>G4ProcessManager</emphasis> is able to turn some processes on or off
+during a run by using the <literal>ActivateProcess()</literal> and
+<literal>InActivateProcess()</literal> methods. These methods are valid only
+after process registration is complete, so they must not be used in
+the <emphasis>PreInit</emphasis> phase.
+</para>
+
+<para>
+The <emphasis>G4VUserPhysicsList</emphasis> class creates and attaches
+<emphasis>G4ProcessManager</emphasis> objects to all particle classes defined in
+the <literal>ConstructParticle()</literal> method.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToSpecPhysProc.SpecPhysProc">
+<title>
+Specifying Physics Processes
+</title>
+
+<para>
+<emphasis>G4VUserPhysicsList</emphasis> is the base class for a "mandatory user
+class" (see <xref linkend="sect.HowToDefMain" />), in which all physics 
+processes and all particles required in a simulation must be registered. 
+The user must create a class derived from
+<emphasis>G4VUserPhysicsList</emphasis> and implement the pure virtual method
+<literal>ConstructProcess()</literal>.
+</para>
+
+<para>
+For example, if just the <emphasis>G4Geantino</emphasis> particle class is
+required, only the transportation process need be registered. The
+<literal>ConstructProcess()</literal> method would then be implemented as
+follows:
+
+<example id="programlist_HowToSpecPhysProc_1">
+<title>
+Register processes for a geantino.
+</title>
+<programlisting>
+  void ExN01PhysicsList::ConstructProcess()
+  {
+    // Define transportation process
+    AddTransportation();
+  }
+</programlisting>
+</example>
+
+Here, the <literal>AddTransportation()</literal> method is provided in the
+<emphasis>G4VUserPhysicsList</emphasis> class to register the
+<emphasis>G4Transportation</emphasis> class with all particle classes. The
+<emphasis>G4Transportation</emphasis> class (and/or related classes) describes
+the particle motion in space and time. It is the mandatory process
+for tracking particles.
+</para>
+
+<para>
+In the <literal>ConstructProcess()</literal> method, physics processes
+should be created and registered with each particle's instance of
+<emphasis>G4ProcessManager</emphasis>.
+</para>
+
+<para>
+An example of process registration is given in the
+<emphasis>G4VUserPhysicsList</emphasis>::<literal>AddTransportation()</literal> 
+method.
+</para>
+
+<para>
+Registration in <emphasis>G4ProcessManager</emphasis> is a complex procedure
+for other processes and particles because the relations between
+processes are crucial for some processes. Please see 
+<xref linkend="sect.PhysProc" /> and the example codes.
+</para>
+
+<para>
+An example of electromagnetic process registration for photons
+is shown below:
+
+<example id="programlist_HowToSpecPhysProc_2">
+<title>
+Register processes for a gamma.
+</title>
+<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);
+}
+</programlisting>
+</example>
+</para>
+
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/GettingStarted/visualization.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/GettingStarted/visualization.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/GettingStarted/visualization.xml	(revision 904)
@@ -0,0 +1,494 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--    Changed by: Katsuya Amako, 30-Nov-1998                -->
+<!--    Changed by: Satoshi Tanaka,  1-Jun-2000               -->
+<!--    Changed by: Dennis Wright, 29-Nov-2001                -->
+<!--    Proof read by: Joe Chuma,  15-Jun-1999                -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.HowToVis">
+<title>
+How to Visualize the Detector and Events
+</title>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToVis.Intro">
+<title>
+Introduction
+</title>
+
+<para>
+This section briefly explains how to perform Geant4 Visualization.
+The description here is based on the sample program
+<literal>examples/novice/N03</literal>. More details are given in 
+<xref linkend="chap.Visualization" /> "Visualization". 
+Example macro files can be found in
+<literal>examples/novice/N03/visTutor/exN03VisX.mac</literal>.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToVis.VisDrivers">
+<title>
+Visualization Drivers
+</title>
+
+<para>
+The Geant4 visualization system was developed in response to a
+diverse set of requirements:
+
+<orderedlist spacing="compact">
+  <listitem><para>
+  Quick response to study geometries, trajectories and hits
+  </para></listitem>
+  <listitem><para>
+  High-quality output for publications
+  </para></listitem>
+  <listitem><para>
+  Flexible camera control to debug complex geometries
+  </para></listitem>
+  <listitem><para>
+  Tools to show volume overlap errors in detector geometries
+  </para></listitem>
+  <listitem><para>
+  Interactive picking to get more information on visualized objects
+  </para></listitem>
+</orderedlist>
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+In order to use the DAWNFILE driver, you need Fukui Renderer
+DAWN, which is obtainable from the following Web site: 
+<ulink url="http://geant4.kek.jp/GEANT4/vis">
+http://geant4.kek.jp/GEANT4/vis</ulink>.
+</para>
+
+<para>
+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
+<literal>G4VIS_BUILD_OPENGLX_DRIVER</literal> to <literal>1</literal> in 
+building (installing) Genat4 libraries, and also set another environmental
+variable <literal>G4VIS_USE_OPENGLX</literal> to <literal>1</literal> 
+in compiling your Geant4 executable. You may also have to set an 
+environmental variable <literal>OGLHOME</literal> to the OpenGL root 
+directory. For example,
+
+<informalexample>
+<programlisting>
+     setenv G4VIS_BUILD_OPENGLX_DRIVER 1
+     setenv G4VIS_USE_OPENGLX 1
+     setenv OGLHOME /usr/X11R6
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Some other visualization drivers depending on external libraries
+are also required to set the similar environmental variables,
+<literal>G4VIS_BUILD_DRIVERNAME_DRIVER</literal> and
+<literal>G4VIS_USE_DRIVERNAME</literal>, to <literal>1</literal>. 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 <literal>main()</literal>
+function, anyway. See below.)
+</para>
+
+<para>
+For all visualization drivers available in your Geant4
+executable, the C-pre-processor flags <literal>G4VIS_USE_DRIVERNAME</literal>
+are automatically set by <literal>config/G4VIS_USE.gmk</literal> in
+compilation. Similarly, for all visualization drivers incorporated
+into the Geant4 libraries, the C-pre-processor flags
+<literal>G4VIS_BUILD_DRIVERNAME_DRIVER</literal> are automatically set by
+<literal>config/G4VIS_BUILD.gmk</literal> in installation.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToVis.IncorpVisDrivers">
+<title>
+How to Incorporate Visualization Drivers into an Executable
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+In order to realize visualization drivers, you must instantiate
+and initialize a subclass of <literal>G4VisManager</literal> that implements
+the pure virtual function <literal>RegisterGraphicsSystems()</literal>. 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 <literal>G4VisExecutive</literal>, a provided class with
+included implementation. <literal>G4VisExecutive</literal> is sensitive to
+the <literal>G4VIS_USE...</literal> variables mentioned above.
+</para>
+
+<para>
+If you do wish to write your own subclass, you may do so. You
+will see how to do this by looking at <literal>G4VisExecutive.icc</literal>.
+A typical extract is:
+
+<informalexample>
+<programlisting>
+     ...
+       RegisterGraphicsSystem (new G4DAWNFILE);
+     ...
+     #ifdef G4VIS_USE_OPENGLX
+       RegisterGraphicsSystem (new G4OpenGLImmediateX);
+       RegisterGraphicsSystem (new G4OpenGLStoredX);
+     #endif
+     ...
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+If you wish to use <literal>G4VisExecutive</literal> but register an
+additional graphics system, <literal>XXX</literal> say, you may do so either
+before or after initializing:
+
+<informalexample>
+<programlisting>
+     visManager-&gt;RegisterGraphicsSytem(new XXX);
+     visManager-&gt;Initialize();
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+An example of a typical <literal>main()</literal> function is given
+below.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToVis.WritingMain">
+<title>
+Writing the <literal>main()</literal> Method to Include Visualization
+</title>
+
+<para>
+Now we explain how to write a visualization manager and the
+<literal>main()</literal> function for Geant4 visualization. In order that
+your Geant4 executable is able to perform visualization, you must
+instantiate and initialize <emphasis>your</emphasis> Visualization Manager 
+in the <literal>main()</literal> function. The typical
+<literal>main()</literal> 
+function available for visualization is written in the following style:
+
+<example id="programlist_HowToVis_1">
+<title>
+The typical <literal>main()</literal> routine available for visualization.
+</title>
+<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++
+</programlisting>
+</example>
+</para>
+
+<para>
+In the instantiation, initialization, and deletion of the
+Visualization Manager, the use of the macro <literal>G4VIS_USE</literal> is
+recommended. This is set unless the environment variable
+<literal>G4VIS_NONE</literal> 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 <literal>main()</literal> function is
+described in <literal>examples/novice/N03/exampleN03.cc</literal>.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToVis.SampleVis">
+<title>
+Sample Visualization Sessions
+</title>
+
+<para>
+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. )
+</para>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.HowToVis.SampleVis.VisDetector">
+<title>
+Visualization of detector components
+</title>
+
+<para>
+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).
+
+<informalexample>
+<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 ###################
+</programlisting>
+</informalexample>
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.HowToVis.SampleVis.VisEvents">
+<title>
+Visualization of events
+</title>
+
+<para>
+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",
+
+<informalexample>
+<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 ###################
+</programlisting>
+</informalexample>
+</para>
+
+</sect3>
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.HowToVis.MoreInfo">
+<title>
+For More Information on Geant4 Visualization
+</title>
+
+<para>
+See the <xref linkend="chap.Visualization" /> "Visualization" 
+part of this user guide.
+</para>
+
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Introduction/ChapIntroduction.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Introduction/ChapIntroduction.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Introduction/ChapIntroduction.xml	(revision 904)
@@ -0,0 +1,23 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  This is the top file for the present chapter. It        -->
+<!--  includes all section files which belong to the chapter. -->
+<!--  Entities names used below are defined in                -->
+<!--  ChapXXEntityDef.dtd in the current directory.           -->
+<!--                                                          -->
+<!--  [Note]                                                  -->
+<!--    Created by Katsuya Amako, Aug-2006                    -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!-- ******************** Top of Chapter ******************** -->
+<chapter id="chap.Introduction">
+<title>
+Introduction
+</title>
+
+<!-- *************** Inclusion of Sections ****************** -->
+&introduction;
+
+</chapter>
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Introduction/ChapIntroductionEntityDef.dtd
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Introduction/ChapIntroductionEntityDef.dtd	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Introduction/ChapIntroductionEntityDef.dtd	(revision 904)
@@ -0,0 +1,16 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  In this file you need to define entities of all xml     -->
+<!--  section files you want to include from the current      -->
+<!--  directory into the G4 DocBook manual.                   -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Creation:  Katsuya Amako,  Aug-2006                   -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!ENTITY chapIntroduction    SYSTEM "./ChapIntroduction.xml">
+
+<!ENTITY introduction        SYSTEM "./introduction.xml">
+
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Introduction/introduction.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Introduction/introduction.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Introduction/introduction.xml	(revision 904)
@@ -0,0 +1,141 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Changed by: Katsuya Amako,  4-Aug-1998                -->
+<!--    Changed by: Dennis Wright, 10-Dec-2001                -->
+<!--    Proof read by: Joe Chuma,   9-Jun-1999                -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.scope">
+<title>
+Scope of this manual
+</title>
+
+<para>
+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:
+</para>
+
+<itemizedlist spacing="compact">
+   <listitem><para>
+   introduce the first-time user to the Geant4 object-oriented
+   detector simulation toolkit,
+   </para></listitem>
+   <listitem><para>
+   provide a description of the available tools and how to use
+   them, and
+   </para></listitem>
+   <listitem><para>
+   supply the practical information required to develop and run
+   simulation applications which may be used in real experiments.
+   </para></listitem>
+</itemizedlist>
+
+<para>
+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 
+<ulink url="http://geant4.web.cern.ch/geant4/support/userdocuments.shtml">
+Physics Reference Manual</ulink>. 
+Details of the design and functionality of the Geant4 classes can be found in the 
+<ulink url="http://geant4.web.cern.ch/geant4/support/userdocuments.shtml">
+User's Guide for Toolkit Developers</ulink>, and a complete list of 
+all Geant4 classes is given in the 
+<ulink url="http://pcitapiww.cern.ch/asdcgi/geant4/SRM/G4GenDoc.csh?flag=1">
+Software Reference Manual</ulink>.
+</para>
+
+<para>
+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.
+</para>
+
+</sect1>
+
+<!-- ****************** Section (Level#1) **************************** -->
+<sect1 id="sect.howto">
+<title>
+How to use this manual
+</title>
+
+<para>
+A very basic introduction to Geant4 is presented in 
+<emphasis role="bold">Chapter 2, "Getting Started with Geant4 - 
+Running a Simple Example"</emphasis>. 
+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 
+<ulink
+url="http://geant4.web.cern.ch/geant4/support/userdocuments.shtml">
+Installation Guide for Setting up Geant4 in Your Computing Environment</ulink>.
+</para>
+
+<para>
+<emphasis role="bold">Chapter 3, "Toolkit Fundamentals"</emphasis> 
+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.
+</para>
+
+<para>
+<emphasis role="bold">Chapter 4, "Detector Definition and Response"</emphasis> 
+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.
+</para>
+
+<para>
+How particles are propagated through a material is treated in
+<emphasis role="bold">Chapter 5, "Tracking and Physics"</emphasis>. 
+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.
+</para>
+
+<para>
+<emphasis role="bold">Chapter 6, "User Actions"</emphasis> is a description 
+of the "user hooks" by which the simulation code may be customized to perform
+special tasks.
+</para>
+
+<para>
+<emphasis role="bold">Chapter 7, "Communication and Control"</emphasis> 
+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.
+</para>
+
+<para>
+The display of detector geometry, tracks and events may be incorporated 
+into a simulation application by using the tools described in 
+<emphasis role="bold">Chapter 8, "Visualization"</emphasis>.
+</para>
+
+<para>
+<emphasis role="bold">Chapter 9, "Examples"</emphasis> 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.
+</para>
+
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/ChapTrackingAndPhysics.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/ChapTrackingAndPhysics.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/ChapTrackingAndPhysics.xml	(revision 904)
@@ -0,0 +1,31 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  This is the top file for the present chapter. It        -->
+<!--  includes all section files which belong to the chapter. -->
+<!--  Entities names used below are defined in                -->
+<!--  ChapXXEntityDef.dtd in the current directory.           -->
+<!--                                                          -->
+<!--  [Note]                                                  -->
+<!--    Created by Katsuya Amako, Aug-2006                    -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************** Top of Chapter ******************** -->
+<chapter id="chap.TrackAndPhysics">
+<title>
+Tracking and Physics
+</title>
+
+<!-- *************** Inclusion of Sections ****************** -->
+&tracking;
+&physicsProcess;
+&particle;
+&thresholdVScut;
+&cutsPerRegion;
+&physicsTable;
+&userLimits;
+&trackErrorPropagation;
+
+</chapter>
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/ChapTrackingAndPhysicsEntityDef.dtd
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/ChapTrackingAndPhysicsEntityDef.dtd	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/ChapTrackingAndPhysicsEntityDef.dtd	(revision 904)
@@ -0,0 +1,13 @@
+<!-- In below you need to define entities of all xml files you want to -->
+<!-- include from the current directory into the G4 DocBook manual.    -->
+
+<!ENTITY chapTrackingAndPhysics  SYSTEM "./ChapTrackingAndPhysics.xml">
+
+<!ENTITY tracking                SYSTEM "./tracking.xml">
+<!ENTITY physicsProcess          SYSTEM "./physicsProcess.xml">
+<!ENTITY particle                SYSTEM "./particle.xml">
+<!ENTITY thresholdVScut          SYSTEM "./thresholdVScut.xml">
+<!ENTITY cutsPerRegion           SYSTEM "./cutsPerRegion.xml">
+<!ENTITY physicsTable            SYSTEM "./physicsTable.xml">
+<!ENTITY userLimits              SYSTEM "./userLimits.xml">
+<!ENTITY trackErrorPropagation   SYSTEM "./trackErrorPropagation.xml">
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/cutsPerRegion.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/cutsPerRegion.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/cutsPerRegion.xml	(revision 904)
@@ -0,0 +1,148 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Created by: Makoto Asai,       14-Apr-2003            -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.CutReg">
+<title>
+Cuts per Region
+</title>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.CutReg.Gene">
+<title>
+General Concepts
+</title>
+
+<para>
+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 
+<xref linkend="sect.Geom.LogVol.SubReg" />. 
+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 <xref linkend="sect.ProThres" />.
+</para>
+
+<para>
+Please note that this new feature is intended only for users
+who
+
+<orderedlist spacing="compact">
+  <listitem><para>
+    are simulating the most complex geometries, such as an LHC
+    detector, and
+  </para></listitem>
+  <listitem><para>
+    are experienced in simulating electromagnetic showers in
+    matter.
+  </para></listitem>
+</orderedlist>
+</para>
+
+<para>
+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.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.CutReg.DefReg">
+<title>
+Default Region
+</title>
+
+<para>
+The world volume is treated as a region by default. A
+<emphasis>G4Region</emphasis> 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
+<emphasis>UserPhysicsList</emphasis>. Unless the user defines different cut
+values for other regions, the cuts in the default region will be
+used for the entire geometry.
+</para>
+
+<para>
+Please note that the default region and its default production
+cuts are created and set automatically by <emphasis>G4RunManager</emphasis>. 
+The user is <emphasis role="bold">not</emphasis> allowed to set a region to 
+the world volume, <emphasis role="bold">nor</emphasis> to assign other 
+production cuts to the default region.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.CutReg.Assig">
+<title>
+Assigning Production Cuts to a Region
+</title>
+
+<para>
+In the <literal>SetCuts()</literal> method of the user's physics list, the
+user must first define the default cuts. Then a
+<emphasis>G4ProductionCuts</emphasis> 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 <emphasis>G4RegionStore</emphasis>. An example <literal>SetCuts()</literal> 
+code follows.
+
+<example id="programlist_CutReg_1">
+<title>
+<literal>Setting production cuts to a region</literal>
+</title>
+
+<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);
+}
+</programlisting>
+</example>
+</para>
+
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/particle.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/particle.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/particle.xml	(revision 904)
@@ -0,0 +1,776 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Changed by: Katsuya Amako, 21-Sep-1998                -->
+<!--    Proof read by: Joe Chuma,  29-Jun-1999                -->
+<!--    Changed by: Hisaya Kurashige, 28-Oct-2001             -->
+<!--    Changed by: Dennis Wright, 27-Nov-2001                -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--    Changed by: Hisaya Kurashige, 02-Dec-2007             -->
+<!--    Changed by: Hisaya Kurashige, 01-Dec-2008             -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.Parti">
+<title>
+Particles
+</title>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Parti.Basic">
+<title>
+Basic concepts
+</title>
+
+<para>
+There are three levels of classes to describe particles in Geant4.
+
+<variablelist>
+  <varlistentry>
+    <term>
+      <emphasis>G4ParticleDefinition</emphasis>
+    </term>
+    <listitem>
+      defines a particle
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      <emphasis>G4DynamicParticle</emphasis>
+    </term>
+    <listitem>
+      describes a particle interacting with materials
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      <emphasis>G4Track</emphasis>
+    </term>
+    <listitem>
+      describes a particle traveling in space and time
+    </listitem>
+  </varlistentry>
+</variablelist>
+</para>
+
+<para>
+<emphasis>G4ParticleDefinition</emphasis> aggregates information to
+characterize a particle's properties, such as name, mass, spin,
+life time, and decay modes. <emphasis>G4DynamicParticle</emphasis> aggregates
+information to describe the dynamics of particles, such as energy,
+momentum, polarization, and proper time, as well as ``particle
+definition'' information. <emphasis>G4Track</emphasis> includes all information
+necessary for tracking in a detector simulation, such as time,
+position, and step, as well as ``dynamic particle''
+information.
+</para>
+
+<para>
+<emphasis>G4Track</emphasis> has all the information necessary for tracking in
+Geant4. It includes position, time, and step, as well as
+kinematics. Details of <emphasis>G4Track</emphasis> will be described in 
+<xref linkend="sect.Track" />.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Parti.Def">
+<title>
+Definition of a particle
+</title>
+
+<para>
+There are a large number of elementary particles and nuclei. Geant4
+provides the <emphasis>G4ParticleDefinition</emphasis> class to represent
+particles, and various particles, such as the electron, proton, and
+gamma have their own classes derived from
+<emphasis>G4ParticleDefinition</emphasis>.
+</para>
+
+<para>
+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 <emphasis role="bold">User's Guide: For ToolKit
+Developers</emphasis>).
+</para>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Parti.Def.PartiList">
+<title>
+Particle List in Geant4
+</title>
+
+<para>
+This list includes all particles in Geant4 and you can see
+properties of particles such as
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    PDG encoding
+  </para></listitem>
+  <listitem><para>
+    mass and width
+  </para></listitem>
+  <listitem><para>
+    electric charge
+  </para></listitem>
+  <listitem><para>
+    spin, isospin and parity
+  </para></listitem>
+  <listitem><para>
+    magnetic moment
+  </para></listitem>
+  <listitem><para>
+    quark contents
+  </para></listitem>
+ <listitem><para>
+    life time and decay modes
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+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).
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Categories
+</bridgehead>
+
+<para>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <ulink url="./AllResources/TrackingAndPhysics/particleList.src/quarks/index.html">
+    gluon / quarks / di-quarks
+    </ulink>
+  </para></listitem>
+  <listitem><para>
+    <ulink url="./AllResources/TrackingAndPhysics/particleList.src/leptons/index.html">
+    leptons
+    </ulink>
+  </para></listitem>
+  <listitem><para>
+    <ulink url="./AllResources/TrackingAndPhysics/particleList.src/mesons/index.html">
+    mesons
+    </ulink>
+  </para></listitem>
+  <listitem><para>
+    <ulink url="./AllResources/TrackingAndPhysics/particleList.src/baryons/index.html">
+    baryons
+    </ulink>
+  </para></listitem>
+  <listitem><para>
+    <ulink url="./AllResources/TrackingAndPhysics/particleList.src/ions/index.html">
+    ions
+    </ulink>
+  </para></listitem>
+  <listitem><para>
+    <ulink url="./AllResources/TrackingAndPhysics/particleList.src/others/index.html">
+    others
+    </ulink>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Parti.Def.Classif">
+<title>
+Classification of particles
+</title>
+
+<para>
+<orderedlist spacing="compact">
+  <listitem><para>
+    <para>
+    elementary particles which should be tracked in Geant4 volumes
+    </para>
+    <para>
+    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.
+
+    <orderedlist spacing="compact">
+      <listitem><para>
+        stable particles
+        <para>
+        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.
+        </para>
+      </para></listitem>
+      <listitem><para>
+        long life (&gt;10<superscript>-14</superscript>sec) particles
+        <para>
+        Particles which may travel a finite length, e.g., muon, charged
+        pions.
+        </para>
+      </para></listitem>
+      <listitem><para>
+        short life particles that decay immediately in Geant4
+        <para>
+        For example, pi<superscript>0</superscript>, eta
+        </para>
+      </para></listitem>
+      <listitem><para>
+        K<superscript>0</superscript> system
+        <para>
+        K<superscript>0</superscript> "decays" immediately into 
+        K<superscript>0</superscript><subscript>S</subscript>
+        or K<superscript>0</superscript><subscript>L</subscript>, and then
+        K<superscript>0</superscript><subscript>S</subscript>/
+        K<superscript>0</superscript><subscript>L</subscript> decays
+        according to its life time and decay modes.
+        </para>
+      </para></listitem>
+      <listitem><para>
+        optical photon
+        <para>
+        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.
+        </para>
+      </para></listitem>
+      <listitem><para>
+        geantino/charged geantino
+        <para>
+        Geantino and charged geantino are virtual particles for
+        simulation which do not interact with materials and undertake
+        transportation processes only.
+        </para>
+      </para></listitem>
+    </orderedlist>
+    </para>
+  </para></listitem>
+  <listitem><para>
+    nuclei
+    <para>
+    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.
+    <orderedlist spacing="compact">
+      <listitem><para>
+        light nuclei
+        <para>
+        Light nuclei frequently used in simulation, e.g., alpha, deuteron,
+        He3, triton.
+        </para>
+      </para></listitem>
+      <listitem><para>
+        heavy nuclei (including hyper-nuclei)
+        <para>
+        Nuclei other than those defined in the previous category.
+        </para>
+      </para></listitem>
+    </orderedlist>
+
+    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)
+    </para>
+  </para></listitem>
+  <listitem><para>
+    short-lived particles
+    <para>
+    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. <emphasis>G4VShortLivedParticle</emphasis> is provided as 
+    the base class for these particles. All classes related to particles in 
+    this category can be found in <literal>shortlived</literal> sub-directory 
+    under the <literal>particles</literal> directory.
+
+    <orderedlist spacing="compact">
+      <listitem><para>
+        quarks/di-quarks
+        <para>
+        For example, all 6 quarks.
+        </para>
+      </para></listitem>
+      <listitem><para>
+        gluon
+      </para></listitem>
+      <listitem><para>
+        baryon excited states with very short life
+        <para>
+        For example, spin 3/2 baryons and anti-baryons
+        </para>
+      </para></listitem>
+      <listitem><para>
+        meson excited states with very short life
+        <para>
+        For example, spin 1 vector bosons
+        </para>
+      </para></listitem>
+    </orderedlist>
+    </para>
+  </para></listitem>
+</orderedlist>
+</para>
+
+</sect3>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Parti.Def.Imple">
+<title>
+Implementation of particles
+</title>
+
+<para>
+<emphasis>Single object created in the initialization :</emphasis> 
+Categories a, b-1
+</para>
+
+<para>
+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''.
+</para>
+
+<para>
+<emphasis>On-the-fly creation:</emphasis> Category b-2
+</para>
+
+<para>
+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 <emphasis>G4Ions</emphasis>
+class.
+<emphasis>G4IonTable</emphasis> class is a dictionary for ions. 
+<literal>G4ParticleTable::GetIon()</literal> method invokes
+<literal>G4IonTable::GetIon()</literal> method to create ions 
+on the fly. 
+</para>
+
+<para>
+ Users can register a <emphasis>G4IsotopeTable</emphasis> to the
+<emphasis>G4IonTable</emphasis>. <emphasis>G4IsotopeTable</emphasis>
+describes properties of ions (exited energy, decay modes, life time
+and magnetic moments), which are used to create ions.
+</para>
+
+<para>
+Processes attached to heavy ions are same as those for
+<emphasis>G4GenericIon</emphasis> class. In other words, you need to
+create <emphasis>G4GenericIon</emphasis> and attach processes to it 
+if you want to use heavy ions. 
+</para>
+
+<para>
+<emphasis>G4ParticleGun</emphasis> can shoot any heavy ions 
+with /gun/ions command after ``ion'' is selected by /gun/particle command.
+</para>
+
+<para>
+<emphasis>Dynamic creation by processes:</emphasis> Category c
+</para>
+
+<para>
+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 <emphasis>G4VshortLivedParticle</emphasis>, 
+and it will be created dynamically during the ``initialization
+phase''.
+</para>
+
+</sect3>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.Parti.Def.G4Parti">
+<title>
+G4ParticleDefinition
+</title>
+
+<para>
+The <emphasis>G4ParticleDefinition</emphasis> 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 
+<xref linkend="table.Parti_1" />.
+
+<table id="table.Parti_1">
+<title>
+Methods to get particle properties.
+</title>
+
+<tgroup cols="2">
+  <tbody>
+  <row>
+    <entry>
+      <literal>G4String GetParticleName()</literal>
+    </entry>
+    <entry>
+      particle name
+    </entry>
+  </row>
+  <row>
+    <entry>
+      <literal>G4double GetPDGMass()</literal>
+    </entry>
+    <entry>
+      mass
+    </entry>
+  </row>
+  <row>
+    <entry>
+      <literal>G4double GetPDGWidth()</literal>
+    </entry>
+    <entry>
+      decay width
+    </entry>
+  </row>
+  <row>
+    <entry>
+      <literal>G4double GetPDGCharge()</literal>
+    </entry>
+    <entry>
+      electric charge
+    </entry>
+  </row>
+  <row>
+    <entry>
+      <literal>G4double GetPDGSpin()</literal>
+    </entry>
+    <entry>
+      spin
+    </entry>
+  </row>
+  <row>
+    <entry>
+      <literal>G4double GetPDGMagneticMoment()</literal>
+    </entry>
+    <entry>
+      magnetic moment (0: not defined or no magnetic moment)
+    </entry>
+  </row>
+  <row>
+    <entry>
+      <literal>G4int GetPDGiParity()</literal>
+    </entry>
+    <entry>
+      parity (0:not defined)
+    </entry>
+  </row>
+  <row>
+    <entry>
+      <literal>G4int GetPDGiConjugation()</literal>
+    </entry>
+    <entry>
+      charge conjugation (0:not defined)
+    </entry>
+  </row>
+  <row>
+    <entry>
+      <literal>G4double GetPDGIsospin()</literal>
+    </entry>
+    <entry>
+      iso-spin
+    </entry>
+  </row>
+  <row>
+    <entry>
+      <literal>G4double GetPDGIsospin3()</literal>
+    </entry>
+    <entry>
+      3<superscript>rd</superscript>-component of iso-spin
+    </entry>
+  </row>
+  <row>
+    <entry>
+      <literal>G4int GetPDGiGParity()</literal>
+    </entry>
+    <entry>
+      G-parity (0:not defined)
+    </entry>
+  </row>
+  <row>
+    <entry>
+      <literal>G4String GetParticleType()</literal>
+    </entry>
+    <entry>
+      particle type
+    </entry>
+  </row>
+  <row>
+    <entry>
+      <literal>G4String GetParticleSubType()</literal>
+    </entry>
+    <entry>
+      particle sub-type
+    </entry>
+  </row>
+  <row>
+    <entry>
+      <literal>G4int GetLeptonNumber()</literal>
+    </entry>
+    <entry>
+      lepton number
+    </entry>
+  </row>
+  <row>
+    <entry>
+      <literal>G4int GetBaryonNumber()</literal>
+    </entry>
+    <entry>
+      baryon number
+    </entry>
+  </row>
+  <row>
+    <entry>
+      <literal>G4int GetPDGEncoding()</literal>
+    </entry>
+    <entry>
+      particle encoding number by PDG
+    </entry>
+  </row>
+  <row>
+    <entry>
+      <literal>G4int GetAntiPDGEncoding()</literal>
+    </entry>
+    <entry>
+      encoding for anti-particle of this particle
+    </entry>
+  </row>
+  </tbody>
+</tgroup>
+</table>
+</para>
+
+<para>
+<xref linkend="table.Parti_2" /> shows the methods of 
+<emphasis>G4ParticleDefinition</emphasis> for
+getting information about decay modes and the life time of the
+particle.
+
+<table id="table.Parti_2">
+<title>
+Methods to get particle decay modes and life time.
+</title>
+
+<tgroup cols="2">
+  <tbody>
+  <row>
+    <entry>
+      <literal>G4bool GetPDGStable()</literal>
+    </entry>
+    <entry>
+      stable flag
+    </entry>
+  </row>
+  <row>
+    <entry>
+      <literal>G4double GetPDGLifeTime()</literal>
+    </entry>
+    <entry>
+      life time
+    </entry>
+  </row>
+  <row>
+    <entry>
+      <literal>G4DecayTable* GetDecayTable()</literal>
+    </entry>
+    <entry>
+      decay table
+    </entry>
+  </row>
+  </tbody>
+</tgroup>
+</table>
+</para>
+
+<para>
+Users can modify these properties, though the other properties
+listed above can not be change without rebuilding the
+libraries.
+</para>
+
+<para>
+Each particle has its own <emphasis>G4ProcessManger</emphasis>
+object that manages a list of processes applicable to the
+particle.(see <xref linkend="sect.HowToSpecPhysProc.ManagingProc"/> )
+</para>
+
+
+</sect3>
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Parti.Dynam">
+<title>
+Dynamic particle
+</title>
+
+<para>
+The <emphasis>G4DynamicParticle</emphasis> class has kinematics information for
+the particle and is used for describing the dynamics of physics
+processes. The properties in <emphasis>G4DynamicParticle</emphasis> are listed in
+<xref linkend="table.Parti_4" />.
+
+<table id="table.Parti_4">
+<title>
+Methods to set/get cut off values.
+</title>
+
+<tgroup cols="2">
+  <tbody>
+  <row>
+    <entry>
+      <literal>G4double theDynamicalMass</literal>
+    </entry>
+    <entry>
+      dynamical mass
+    </entry>
+  </row>
+  <row>
+    <entry>
+      <literal>G4ThreeVector theMomentumDirection</literal>
+    </entry>
+    <entry>
+      normalized momentum vector
+    </entry>
+  </row>
+  <row>
+    <entry>
+      <literal>G4ParticleDefinition* theParticleDefinition</literal>
+    </entry>
+    <entry>
+      definition of particle
+    </entry>
+  </row>
+  <row>
+    <entry>
+      <literal>G4double theDynamicalSpin</literal>
+    </entry>
+    <entry>
+      dynamical spin 
+      (i.e. total angular momentum as a ion/atom )
+    </entry>
+  </row>
+  <row>
+    <entry>
+      <literal>G4ThreeVector thePolarization</literal>
+    </entry>
+    <entry>
+      polarization vector
+    </entry>
+  </row>
+  <row>
+    <entry>
+      <literal>G4double theMagneticMoment</literal>
+    </entry>
+    <entry>
+      dynamical magnetic moment
+      (i.e. total magnetic moment as a ion/atom )
+    </entry>
+  </row>
+  <row>
+    <entry>
+      <literal>G4double theKineticEnergy</literal>
+    </entry>
+    <entry>
+      kinetic energy
+    </entry>
+  </row>
+  <row>
+    <entry>
+      <literal>G4double theProperTime</literal>
+    </entry>
+    <entry>
+      proper time
+    </entry>
+  </row>
+  <row>
+    <entry>
+      <literal>G4double theDynamicalCharge</literal>
+    </entry>
+    <entry>
+      dynamical electric charge 
+      (i.e. total electric charge as a ion/atom )
+    </entry>
+  </row>
+  <row>
+    <entry>
+      <literal>G4ElectronOccupancy* theElectronOccupancy</literal>
+    </entry>
+    <entry>
+      electron orbits for ions
+    </entry>
+  </row>
+  </tbody>
+</tgroup>
+</table>
+</para>
+
+<para>
+Here, the dynamical mass is defined as the mass for the dynamic
+particle. For most cases, it is same as the mass defined in
+<emphasis>G4ParticleDefinition</emphasis> class ( i.e. mass value given by
+<literal>GetPDGMass()</literal> method). However, there are two
+exceptions.
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    resonance particle
+  </para></listitem>
+  <listitem><para>
+    ions
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+As for ions, <emphasis>G4ParticleDefintion</emphasis> defines a nucleus and
+<emphasis>G4DynamicParticle</emphasis> defines an atom.
+<emphasis>G4ElectronOccupancy</emphasis> 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). 
+</para>
+
+<para>
+Decay products of heavy flavor particles are given in many event
+generators. In such cases, <emphasis>G4VPrimaryGenerator</emphasis> sets this
+information in <literal>*thePreAssignedDecayProducts</literal>. In addition,
+decay time of the particle can be set arbitrarily time by using
+<literal>PreAssignedDecayProperTime</literal>.
+</para>
+
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/physicsProcess.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/physicsProcess.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/physicsProcess.xml	(revision 904)
@@ -0,0 +1,4181 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Changed by: Katsuya Amako, 30-Jul-1998                -->
+<!--    Proof read by: Joe Chuma,  29-Jun-1999                -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.PhysProc">
+<title>
+Physics Processes
+</title>
+
+<para>
+Physics processes describe how particles interact with a
+material. Seven major categories of processes are provided by
+Geant4:
+
+<orderedlist spacing="compact">
+  <listitem><para>
+    <link linkend="sect.PhysProc.EleMag">
+    electromagnetic
+    </link>
+    ,
+  </para></listitem>
+  <listitem><para>
+    <link linkend="sect.PhysProc.Had">
+    hadronic
+    </link>
+    ,
+  </para></listitem>
+  <listitem><para>
+    <link linkend="sect.PhysProc.Decay">
+    decay
+    </link>
+    ,
+  </para></listitem>
+  <listitem><para>
+    <link linkend="sect.PhysProc.PhotoHad">
+    photolepton-hadron
+    </link>
+    ,
+  </para></listitem>
+  <listitem><para>
+    <link linkend="sect.PhysProc.Photo">
+    optical
+    </link>
+    ,
+  </para></listitem>
+  <listitem><para>
+    <link linkend="sect.PhysProc.Param">
+    parameterization
+    </link>
+    and
+  </para></listitem>
+  <listitem><para>
+    <link linkend="sect.PhysProc.Trans">
+    transportation
+    </link>
+    .
+  </para></listitem>
+</orderedlist>
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+Each process has two groups of methods which play an important
+role in tracking, <literal>GetPhysicalInteractionLength</literal> (GPIL) and
+<literal>DoIt</literal>. 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
+<literal>DoIt</literal> method should be invoked. The <literal>DoIt</literal> 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
+<emphasis>G4VParticleChange</emphasis> objects(see 
+<link linkend="brhead.PhysProc.PrtChng">
+Particle Change</link>).
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+G4VProcess
+</bridgehead>
+
+<para>
+<emphasis>G4VProcess</emphasis> is the base class for all physics processes.
+Each physics process must implement virtual methods of
+<emphasis>G4VProcess</emphasis> which describe the interaction (DoIt) and
+determine when an interaction should occur (GPIL). In order to
+accommodate various types of interactions <emphasis>G4VProcess</emphasis>
+provides three <literal>DoIt</literal> methods:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <literal>G4VParticleChange* AlongStepDoIt( const G4Track&amp; track,
+    const G4Step&amp; stepData )</literal>
+    <para>
+    This method is invoked while <emphasis>G4SteppingManager</emphasis> is
+    transporting a particle through one step. The corresponding
+    <literal>AlongStepDoIt</literal> 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 <emphasis>G4Step</emphasis>. After all processes have been
+    invoked, changes due to <literal>AlongStepDoIt</literal> are applied to
+    <emphasis>G4Track</emphasis>, including the particle relocation and the safety
+    update. Note that after the invocation of <literal>AlongStepDoIt</literal>,
+    the endpoint of the <emphasis>G4Track</emphasis> object is in a new volume if the
+    step was limited by a geometric boundary. In order to obtain
+    information about the old volume, <emphasis>G4Step</emphasis> must be accessed,
+    since it contains information about both endpoints of a step.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>G4VParticleChange* PostStepDoIt( const G4Track&amp; track,
+    const G4Step&amp; stepData )</literal>
+    <para>
+    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. <emphasis>G4Track</emphasis> will be updated after each
+    invocation of <literal>PostStepDoIt</literal>, in contrast to the
+    <literal>AlongStepDoIt</literal> method.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>G4VParticleChange* AtRestDoIt( const G4Track&amp; track,
+    const G4Step&amp; stepData )</literal>
+    <para>
+    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.
+    </para>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+For each of the above <literal>DoIt</literal> methods <emphasis>G4VProcess</emphasis>
+provides a corresponding pure virtual GPIL method:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <literal>G4double PostStepGetPhysicalInteractionLength( const
+    G4Track&amp; track, G4double previousStepSize, G4ForceCondition*
+    condition )</literal>
+    <para>
+    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.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>G4double AlongStepGetPhysicalInteractionLength( const
+    G4Track&amp; track, G4double previousStepSize, G4double
+    currentMinimumStep, G4double&amp; proposedSafety, G4GPILSelection*
+    selection )</literal>
+    <para>
+    This method generates the step length allowed by its process.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>G4double AtRestGetPhysicalInteractionLength( const
+    G4Track&amp; track, G4ForceCondition* condition )</literal>
+    <para>
+    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.
+    </para>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+Other pure virtual methods in <emphasis>G4VProcess</emphasis> follow:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <literal>virtual G4bool IsApplicable(const
+    G4ParticleDefinition&amp;)</literal>
+    <para>
+    returns true if this process object is applicable to the
+    particle type.
+    </para>
+  </para></listitem>
+    <listitem><para>
+      <literal>virtual void PreparePhysicsTable(const
+      G4ParticleDefinition&amp;)</literal> and
+  </para></listitem>
+  <listitem><para>
+    <literal>virtual void BuildPhysicsTable(const
+    G4ParticleDefinition&amp;)</literal>
+    <para>
+    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.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <literal>virtual void StartTracking()</literal> and
+  </para></listitem>
+  <listitem><para>
+    <literal>virtual void EndTracking()</literal>
+    <para>
+    are messaged by the tracking manager at the beginning and end of
+    tracking the current track.
+    </para>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Other base classes for processes
+</bridgehead>
+
+<para>
+Specialized processes may be derived from seven additional
+virtual base classes which are themselves derived from
+<emphasis>G4VProcess</emphasis>. Three of these classes are used for simple
+processes:
+
+<variablelist>
+  <varlistentry>
+    <term><emphasis>G4VRestProcess</emphasis></term>
+    <listitem>
+      <para>
+      Processes using only the <literal>AtRestDoIt</literal> method.
+      </para>
+      <para>
+      example: neutron capture
+      </para>
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term><emphasis>G4VDiscreteProcess</emphasis></term>
+    <listitem>
+      <para>
+      Processes using only the <literal>PostStepDoIt</literal> method.
+      </para>
+      <para>
+      example: compton scattering, hadron inelastic interaction
+      </para>    
+    </listitem>
+  </varlistentry>
+</variablelist>
+</para>
+
+<para>
+The other four classes are provided for rather complex
+processes:
+
+<variablelist>
+  <varlistentry>
+    <term><emphasis>G4VContinuousDiscreteProcess</emphasis></term>
+    <listitem>
+      <para>
+      Processes using both <literal>AlongStepDoIt</literal> and
+      <literal>PostStepDoIt</literal> methods.
+      </para>
+      <para>
+      example: transportation, ionisation(energy loss and delta ray)
+      </para>    
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term><emphasis>G4VRestDiscreteProcess</emphasis></term>
+    <listitem>
+      <para>
+      Processes using both <literal>AtRestDoIt</literal> and
+      <literal>PostStepDoIt</literal> methods.
+      </para>
+      <para>
+      example: positron annihilation, decay (both in flight and at rest)
+      </para>    
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term><emphasis>G4VRestContinuousProcess</emphasis></term>
+    <listitem>
+      <para>
+      Processes using both <literal>AtRestDoIt</literal> and
+      <literal>AlongStepDoIt</literal> methods.
+      </para>
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term><emphasis>G4VRestContinuousDiscreteProcess</emphasis></term>
+    <listitem>
+      <para>
+      Processes using <literal>AtRestDoIt</literal>, 
+      <literal>AlongStepDoIt and</literal> PostStepDoIt methods.
+      </para>
+    </listitem>
+  </varlistentry>
+</variablelist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4' id="brhead.PhysProc.PrtChng">
+Particle change
+</bridgehead>
+
+<para>
+<emphasis>G4VParticleChange</emphasis> and its descendants are used to store
+the final state information of the track, including secondary
+tracks, which has been generated by the <literal>DoIt</literal> methods. The
+instance of <emphasis>G4VParticleChange</emphasis> 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 <emphasis>G4Step</emphasis>.
+</para>
+
+<para>
+<emphasis>G4VParticleChange</emphasis> is introduced as an abstract class. It
+has a minimal set of methods for updating <emphasis>G4Step</emphasis> and
+handling secondaries. A physics process can therefore define its
+own particle change derived from <emphasis>G4VParticleChange</emphasis>. Three
+pure virtual methods are provided,
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <literal>virtual G4Step* UpdateStepForAtRest( G4Step* step)</literal>, 
+  </para></listitem>
+  <listitem><para>
+    <literal>virtual G4Step* UpdateStepForAlongStep( G4Step* step )</literal>
+    and
+  </para></listitem>
+  <listitem><para>
+    <literal>virtual G4Step* UpdateStepForPostStep( G4Step* step)</literal>,
+  </para></listitem>
+</itemizedlist>
+
+which correspond to the three <literal>DoIt</literal> methods of
+<emphasis>G4VProcess</emphasis>. Each derived class should implement these
+methods.
+</para>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.PhysProc.EleMag">
+<title>
+Electromagnetic Interactions
+</title>
+
+<para>
+This section summarizes the electromagnetic physics processes which
+are installed in Geant4. For details on the implementation of these
+processes please refer to the 
+<ulink url="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/PhysicsReferenceManual.html">
+<emphasis role="bold">Physics Reference Manual</emphasis></ulink>.
+</para>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.PhysProc.EleMag.Stand">
+<title>
+"Standard" Electromagnetic Processes
+</title> 
+
+<para>
+The following is a summary of the standard electromagnetic
+processes available in Geant4.
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Photon processes
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Compton scattering (class name <emphasis>G4ComptonScattering</emphasis>)
+      </para></listitem>
+      <listitem><para>
+        Gamma conversion (also called pair production, class name
+        <emphasis>G4GammaConversion</emphasis>)
+      </para></listitem>
+      <listitem><para>
+        Photo-electric effect (class name <emphasis>G4PhotoElectricEffect</emphasis>)
+      </para></listitem>
+      <listitem><para>
+        Muon pair production (class name <emphasis>G4GammaConversionToMuons</emphasis>)
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    Electron/positron processes
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Ionisation and delta ray production (class name
+        <emphasis>G4eIonisation</emphasis>)
+      </para></listitem>
+      <listitem><para>
+        Bremsstrahlung (class name <emphasis>G4eBremsstrahlung</emphasis>)
+      </para></listitem>
+      <listitem><para>
+        Positron annihilation into two gammas (class name
+        <emphasis>G4eplusAnnihilation</emphasis>)
+      </para></listitem>
+      <listitem><para>
+        Positron annihilation into two muons (class name
+        <emphasis>G4AnnihiToMuPair</emphasis>)
+      </para></listitem>
+      <listitem><para>
+        Positron annihilation into hadrons (class name
+        <emphasis>G4eeToHadrons</emphasis>)
+      </para></listitem> 
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    Muon processes
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Ionisation and delta ray production (class name
+        <emphasis>G4MuIonisation</emphasis>)
+      </para></listitem>
+      <listitem><para>
+        Bremsstrahlung (class name <emphasis>G4MuBremsstrahlung</emphasis>)
+      </para></listitem>
+      <listitem><para>
+        e+e- pair production (class name
+        <emphasis>G4MuPairProduction</emphasis>)
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    Hadron/ion processes
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Ionisation (class name <emphasis>G4hIonisation</emphasis>)
+      </para></listitem>
+      <listitem><para>
+        Ionisation for ions (class name <emphasis>G4ionIonisation</emphasis>)
+      </para></listitem>
+      <listitem><para>
+        Ionisation for ions in low-density media (class name <emphasis>G4ionGasIonisation</emphasis>)
+      </para></listitem>
+      <listitem><para>
+        Ionisation for heavy exotic particles (class name
+        <emphasis>G4hhIonisation</emphasis>)
+      </para></listitem>
+      <listitem><para>
+        Ionisation for classical magnetic monopole (class name
+        <emphasis>G4mplIonisation</emphasis>)
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    Coulomb scattering processes
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        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 <emphasis>G4MultipleScattering</emphasis>)
+      </para></listitem>
+      <listitem><para>
+        Specialised process for more fast simulation the multiple scattering 
+        of muons and hadrons (class name <emphasis>G4hMultipleScattering</emphasis>)
+      </para></listitem>
+      <listitem><para>
+        Alternative process (beta-version) for the multiple scattering 
+        of muons (class name <emphasis>G4MuMultipleScattering</emphasis>)
+      </para></listitem>
+      <listitem><para>
+        Alternative process for simulation of single Coulomb scattering 
+        of all charged particles (class name <emphasis>G4CoulombScattering</emphasis>)
+      </para></listitem>
+      <listitem><para>
+        Alternative process for simulation of single Coulomb scattering 
+        of ions (class name <emphasis>G4ScreenedNuclearRecoil</emphasis>)
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    Processes for simulation of polarized electron and gamma beams
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Compton scattering of circularly polarized gamma beam on 
+        polarized target (class name <emphasis>G4PolarizedCompton</emphasis>)
+      </para></listitem>
+      <listitem><para>
+        Pair production induced by circularly polarized gamma beam 
+        (class name <emphasis>G4PolarizedGammaConversion</emphasis>)
+      </para></listitem>
+      <listitem><para>
+        Photo-electric effect induced by circularly polarized gamma beam
+        (class name <emphasis>G4PolarizedPhotoElectricEffect</emphasis>)
+      </para></listitem>
+      <listitem><para>
+        Bremsstrahlung of polarized electrons and positrons 
+        (class name <emphasis>G4ePolarizedBremsstrahlung</emphasis>)
+      </para></listitem>
+      <listitem><para>
+        Ionisation of polarized electron and positron beam 
+        (class name <emphasis>G4ePolarizedIonisation</emphasis>)
+      </para></listitem>
+      <listitem><para>
+        Annihilation of polarized positrons 
+        (class name <emphasis>G4eplusPolarizedAnnihilation</emphasis>)
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    Processes for simulation of X-rays and optical protons production by charged particles
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Synchrotron radiation (class name <emphasis>G4SynchrotronRadiation</emphasis>)
+      </para></listitem>
+      <listitem><para>
+        Transition radiation 
+        (class name <emphasis>G4TransitionRadiation</emphasis>)
+      </para></listitem>
+      <listitem><para>
+        Cerenkov radiation  
+        (class name <emphasis>G4Cerenkov</emphasis>)
+      </para></listitem>
+      <listitem><para>
+        Scintillations
+        (class name <emphasis>G4Scintillation</emphasis>)
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    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:
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Ionisation in thin absorbers (class name <emphasis>G4PAIModel</emphasis>)
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+An example of the registration of these processes in a physics list
+is given in <xref linkend="programlist_PhysProc_1" />, 
+similar method is used in EM-builders of reference physics
+lists ($G4INSTALL/source/physics_lists/builders) and in
+EM examples ($G4INSTALL/examples/extended/electromagnetic).
+
+<example id="programlist_PhysProc_1">
+<title>
+<literal>Registration of standard electromagnetic processes</literal>
+</title>
+
+<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 >= +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);
+            
+    }
+  }
+}
+</programlisting>
+</example>
+</para>
+
+<para>
+Novice and extended electromagnetic examples illustrating the use
+of electromagnetic processes are available as part of the Geant4
+<ulink url="http://geant4.web.cern.ch/geant4/support/download.shtml">
+release</ulink>.
+</para>
+
+<para>
+<emphasis role="bold">Options</emphasis> 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:
+
+<itemizedlist spacing="compact">
+   <listitem><para>
+     SetLossFluctuations(G4bool)
+   </para></listitem>
+   <listitem><para>
+     SetSubCutoff(G4bool, const G4Region* r=0)
+   </para></listitem>
+   <listitem><para>
+     SetIntegral(G4bool)
+   </para></listitem>
+   <listitem><para>
+     SetMinSubRange(G4double)
+   </para></listitem>
+   <listitem><para>
+     SetMinEnergy(G4double)
+   </para></listitem>
+   <listitem><para>
+     SetMaxEnergy(G4double)
+   </para></listitem>
+   <listitem><para>
+     SetMaxEnergyForCSDARange(G4double)
+   </para></listitem>
+   <listitem><para>
+     SetMaxEnergyForMuons(G4double)
+   </para></listitem>
+   <listitem><para>
+     SetDEDXBinning(G4int)
+   </para></listitem>
+   <listitem><para>
+     SetDEDXBinningForCSDARange(G4int)
+   </para></listitem>
+   <listitem><para>
+     SetLambdaBinning(G4int)
+   </para></listitem>
+   <listitem><para>
+     SetStepFunction(G4double, G4double)
+   </para></listitem>
+   <listitem><para>
+     SetRandomStep(G4bool)
+   </para></listitem>
+   <listitem><para>
+     SetApplyCuts(G4bool)
+   </para></listitem>
+   <listitem><para>
+     SetBuildCSDARange(G4bool)
+   </para></listitem>
+   <listitem><para>
+     SetVerbose(G4int, const G4String name= "all")
+   </para></listitem>
+   <listitem><para>
+     SetLambdaFactor(G4double)  
+   </para></listitem>
+   <listitem><para>
+     SetLinearLossLimit(G4double)  
+   </para></listitem>
+   <listitem><para>
+     ActivateDeexcitation(G4bool val, const G4Region* r = 0)  
+   </para></listitem>
+   <listitem><para>
+     SetMscStepLimitation(G4MscStepLimitType val)  
+   </para></listitem>
+   <listitem><para>
+     SetMscLateralDisplacement(G4bool val)  
+   </para></listitem>
+   <listitem><para>
+     SetSkin(G4double)  
+   </para></listitem>
+   <listitem><para>
+     SetMscRangeFactor(G4double)  
+   </para></listitem>
+   <listitem><para>
+     SetMscGeomFactor(G4double)  
+   </para></listitem>
+   <listitem><para>
+     SetLPMFlag(G4bool)
+   </para></listitem>
+   <listitem><para>
+     SetBremsstrahlungTh(G4double)
+   </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+The corresponding UI command can be accessed in the UI subdirectory
+"/process/eLoss". The following types of step limitation by multiple scattering 
+are available:
+
+<itemizedlist spacing="compact">
+   <listitem><para>
+     fSimple - step limitation used in g4 7.1 version (used in QGSP_EMV Physics List)
+   </para></listitem>
+   <listitem><para>
+     fUseSafety - default
+   </para></listitem>
+   <listitem><para>
+     fUseDistanceToBoundary - advance method of step limitation used in EM examples,
+     required parameter <emphasis>skin &gt; 0</emphasis>, should be used for
+     setup without magnetic field
+   </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+<emphasis role="bold">G4EmCalculator</emphasis> 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:
+
+<itemizedlist spacing="compact">
+   <listitem><para>
+     GetDEDX(kinEnergy,particle,material,G4Region region=0)
+   </para></listitem>
+   <listitem><para>
+     GetRangeFromRestrictedDEDX(kinEnergy,particle,material,G4Region* region=0)
+   </para></listitem>
+   <listitem><para>
+     GetCSDARange(kinEnergy,particle,material,G4Region* region=0)
+   </para></listitem>
+   <listitem><para>
+     GetRange(kinEnergy,particle,material,G4Region* region=0)
+   </para></listitem>
+   <listitem><para>
+     GetKinEnergy(range,particle,material,G4Region* region=0)
+   </para></listitem>
+   <listitem><para>
+     GetCrosSectionPerVolume(kinEnergy,particle,material,G4Region* region=0)
+   </para></listitem>
+   <listitem><para>
+     GetMeanFreePath(kinEnergy,particle,material,G4Region* region=0)
+   </para></listitem>
+   <listitem><para>
+     PrintDEDXTable(particle)
+   </para></listitem>
+   <listitem><para>
+     PrintRangeTable(particle)
+   </para></listitem>
+   <listitem><para>
+     PrintInverseRangeTable(particle)
+   </para></listitem>
+   <listitem><para>
+     ComputeDEDX(kinEnergy,particle,process,material,cut=DBL_MAX)
+   </para></listitem>
+   <listitem><para>
+     ComputeElectronicDEDX(kinEnergy,particle,material,cut=DBL_MAX)
+   </para></listitem>
+   <listitem><para>
+     ComputeNuclearDEDX(kinEnergy,particle,material,cut=DBL_MAX)
+   </para></listitem>
+   <listitem><para>
+     ComputeTotalDEDX(kinEnergy,particle,material,cut=DBL_MAX)
+   </para></listitem>
+   <listitem><para>
+     ComputeCrosSectionPerVolume(kinEnergy,particle,process,material,cut=0)
+   </para></listitem>
+   <listitem><para>
+     ComputeCrosSectionPerAtom(kinEnergy,particle,process,Z,A,cut=0)
+   </para></listitem>
+   <listitem><para>
+     ComputeMeanFreePath(kinEnergy,particle,process,material,cut=0)
+   </para></listitem>
+   <listitem><para>
+     ComputeEnergyCutFromRangeCut(range,particle,material)
+   </para></listitem>
+   <listitem><para>
+     FindParticle(const G4String&amp;)
+   </para></listitem>
+   <listitem><para>
+     FindMaterial(const G4String&amp;)
+   </para></listitem>
+   <listitem><para>
+     FindRegion(const G4String&amp;)
+   </para></listitem>
+   <listitem><para>
+     FindCouple(const G4Material*, const G4Region* region=0)
+   </para></listitem>
+   <listitem><para>
+     SetVerbose(G4int)
+   </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+For these interfaces, particles, materials, or processes may be
+pointers or strings with names.
+</para>
+
+</sect3>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.PhysProc.EleMag.LowE">
+<title>
+Low Energy Electromagnetic Processes
+</title>
+
+<para>
+The following is a summary of the Low Energy Electromagnetic
+processes available in Geant4. Further information is available in
+the 
+<ulink url="http://www.ge.infn.it/geant4/lowE/index.html">
+homepage 
+</ulink>
+of the Geant4 Low Energy Electromagnetic Physics Working Group. 
+The physics content of these processes is documented in Geant4 
+<ulink url="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/PhysicsReferenceManual.html">
+Physics Reference Manual 
+</ulink>
+and in other 
+<ulink url="http://www.ge.infn.it/geant4/lowE/papers.html">
+papers</ulink>.
+</para>
+
+<para>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis role="bold">Photon processes</emphasis>
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Compton scattering (class <emphasis>G4LowEnergyCompton</emphasis>)
+      </para></listitem>
+      <listitem><para>
+        Polarized Compton scattering (class
+        <emphasis>G4LowEnergyPolarizedCompton</emphasis>)
+      </para></listitem>
+      <listitem><para>
+        Rayleigh scattering (class <emphasis>G4LowEnergyRayleigh</emphasis>)
+      </para></listitem>
+      <listitem><para>
+        Gamma conversion (also called pair production, class
+        <emphasis>G4LowEnergyGammaConversion</emphasis>)
+      </para></listitem>
+      <listitem><para>
+        Photo-electric effect (class<emphasis>G4LowEnergyPhotoElectric</emphasis>)
+      </para></listitem>
+      </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">Electron processes</emphasis>
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Bremsstrahlung (class <emphasis>G4LowEnergyBremsstrahlung</emphasis>)
+      </para></listitem>
+      <listitem><para>
+        Ionisation and delta ray production (class
+        <emphasis>G4LowEnergyIonisation</emphasis>)
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">Hadron and ion processes</emphasis>
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Ionisation and delta ray production (class
+        <emphasis>G4hLowEnergyIonisation</emphasis>)
+      </para></listitem>
+      </itemizedlist>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+An example of the registration of these processes in a physics list
+is given in <xref linkend="programlist_PhysProc_2" />.
+
+<example id="programlist_PhysProc_2">
+<title>
+Registration of electromagnetic low energy electron/photon processes.
+</title>
+
+<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);
+    }
+  }
+}
+</programlisting>
+</example>
+</para>
+
+<para>
+Advanced <emphasis role="bold">examples</emphasis> illustrating the use of Low Energy
+Electromagnetic processes are available as part of the Geant4
+<ulink url="http://geant4.web.cern.ch/geant4/support/download.shtml">
+release
+</ulink>
+and are further documented 
+<ulink url="http://www.ge.infn.it/geant4/lowE/examples/index.html">
+here</ulink>.
+</para>
+
+<para>
+To run the Low Energy code for photon and electron
+electromagnetic processes, <emphasis role="bold">
+<ulink url="http://geant4.web.cern.ch/geant4/support/download.shtml">
+data files
+</ulink>
+</emphasis> 
+need to be copied by the user to his/her code
+repository. These files are distributed together with Geant4
+<ulink url="http://geant4.web.cern.ch/geant4/support/download.shtml">
+release</ulink>.
+</para>
+
+<para>
+The user should set the environment variable 
+<emphasis role="bold">G4LEDATA</emphasis> to the
+directory where he/she has copied the files.
+</para>
+
+<para>
+<emphasis role="bold">Options</emphasis> are available for low energy electromagnetic
+processes for hadrons and ions in terms of public member functions
+of the G4hLowEnergyIonisation class:
+
+<itemizedlist spacing="compact">
+   <listitem><para>
+     SetHighEnergyForProtonParametrisation(G4double)
+   </para></listitem>
+   <listitem><para>
+     SetLowEnergyForProtonParametrisation(G4double)
+   </para></listitem>
+   <listitem><para>
+     SetHighEnergyForAntiProtonParametrisation(G4double)
+   </para></listitem>
+   <listitem><para>
+     SetLowEnergyForAntiProtonParametrisation(G4double)
+   </para></listitem>
+   <listitem><para>
+     SetElectronicStoppingPowerModel(const G4ParticleDefinition*,const G4String&amp; )
+   </para></listitem>
+   <listitem><para>
+     SetNuclearStoppingPowerModel(const G4String&amp;)
+   </para></listitem>
+   <listitem><para>
+     SetNuclearStoppingOn()
+   </para></listitem>
+   <listitem><para>
+     SetNuclearStoppingOff()
+   </para></listitem>
+   <listitem><para>
+     SetBarkasOn()
+   </para></listitem>
+   <listitem><para>
+     SetBarkasOff()
+   </para></listitem>
+   <listitem><para>
+     SetFluorescence(const G4bool)
+   </para></listitem>
+   <listitem><para>
+     ActivateAugerElectronProduction(G4bool)
+   </para></listitem>
+   <listitem><para>
+     SetCutForSecondaryPhotons(G4double)
+   </para></listitem>
+   <listitem><para>
+     SetCutForSecondaryElectrons(G4double)
+   </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+The available models for ElectronicStoppingPower and
+NuclearStoppingPower are documented in the 
+<ulink url="http://www.ge.infn.it/geant4/lowE/swprocess/design/">
+class diagrams</ulink>.
+</para>
+
+<para>
+<emphasis role="bold">Options</emphasis> are available for low energy electromagnetic
+processes for electrons in the G4LowEnergyIonisation class:
+
+<itemizedlist spacing="compact">
+   <listitem><para>
+     ActivateAuger(G4bool)
+   </para></listitem>
+   <listitem><para>
+     SetCutForLowEnSecPhotons(G4double)
+   </para></listitem>
+   <listitem><para>
+     SetCutForLowEnSecElectrons(G4double)
+   </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+<emphasis role="bold">Options</emphasis> are available for low energy electromagnetic
+processes for electrons/positrons in the G4LowEnergyBremsstrahlung
+class, that allow the use of alternative bremsstrahlung angular
+generators:
+
+<itemizedlist spacing="compact">
+   <listitem><para>
+     SetAngularGenerator(G4VBremAngularDistribution* distribution);
+   </para></listitem>
+   <listitem><para>
+     SetAngularGenerator(const G4String&amp; name);
+   </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+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 
+<ulink url="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/PhysicsReferenceManual.html">
+Physics Reference Manual
+</ulink> 
+and in the Geant4 Low Energy Electromagnetic Physics Working Group 
+<ulink url="http://www.ge.infn.it/geant4/lowE/index.html">
+homepage</ulink>.
+</para>
+
+<para>
+Other <emphasis role="bold">options</emphasis> G4LowEnergyBremsstrahlung class are:
+
+<itemizedlist spacing="compact">
+   <listitem><para>
+     SetCutForLowEnSecPhotons(G4double)
+   </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+<emphasis role="bold">Options</emphasis> can also be set in the G4LowEnergyPhotoElectric
+class, that allow the use of alternative photoelectron angular
+generators:
+
+<itemizedlist spacing="compact">
+   <listitem><para>
+     SetAngularGenerator(G4VPhotoElectricAngularDistribution* distribution);
+   </para></listitem>
+   <listitem><para>
+     SetAngularGenerator(const G4String&amp; name);
+   </para></listitem>
+   <listitem><para>
+     
+   </para></listitem>
+   <listitem><para>
+     
+   </para></listitem>
+   <listitem><para>
+     
+   </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+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 
+<ulink url="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/PhysicsReferenceManual.html">
+Physics Reference Manual
+</ulink> 
+and in the Geant4 Low Energy Electromagnetic Physics Working Group 
+<ulink url="http://www.ge.infn.it/geant4/lowE/index.html">
+homepage</ulink>.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.PhysProc.EleMag.VeryLowE">
+<title>
+Very Low energy Electromagnetic Processes (Geant4 DNA extension)
+</title> 
+
+<para>
+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 
+[
+<ulink url="http://www.ge.infn.it/geant4/dna">
+http://www.ge.infn.it/geant4/dna
+</ulink>
+] and are fully described in the paper 
+<citation>
+<xref linkend="biblio.chauvie2007" endterm="biblio.chauvie2007.abbrev" />
+</citation>.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+These processes apply to electrons, protons, hydrogen, alpha particles and 
+their charge states.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ Electron processes
+</bridgehead>
+<para>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Elastic scattering (two complementary models available depending on energy range) 
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Cross section policy class name, common to both models : 
+        G4CrossSectionElasticScreenedRutherford       
+      </para></listitem>
+      <listitem><para>
+        Final state policy class names : G4FinalStateElasticScreenedRutherford
+        or  G4FinalStateElasticBrennerZaider      
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    Excitation (one model) 
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Cross section policy class name : G4CrossSectionExcitationEmfietzoglou  
+      </para></listitem>
+      <listitem><para>
+        Final state policy class name : G4FinalStateExcitationEmfietzoglou
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    Ionisation (one model)   
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Cross section policy class name : G4CrossSectionIonisationBorn  
+      </para></listitem>
+      <listitem><para>
+        Final state policy class names : G4FinalStateIonisationBorn
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ Proton processes
+</bridgehead>
+<para>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Excitation  (two complementary models available depending on energy range)
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Cross section policy class name : G4CrossSectionExcitationMillerGreen
+      </para></listitem>
+      <listitem><para>
+        Final state policy class name : G4FinalStateExcitationMillerGreen
+      </para></listitem>
+      <listitem><para>
+        Cross section policy class name : G4CrossSectionExcitationBorn
+      </para></listitem>
+      <listitem><para>
+        Final state policy class name : G4FinalStateExcitationBorn
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    Ionisation (two complementary models available depending on energy range) 
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Cross section policy class name : G4CrossSectionIonisationRudd
+      </para></listitem>
+      <listitem><para>
+        Final state policy class name : G4FinalStateIonisationRudd 
+      </para></listitem>
+      <listitem><para>
+        Cross section policy class name : G4CrossSectionIonisationBorn
+      </para></listitem>
+      <listitem><para>
+        Final state policy class name : G4FinalStateIonisationBorn
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    Charge decrease (one model)
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Cross section policy class name : G4CrossSectionChargeDecrease
+      </para></listitem>
+      <listitem><para>
+        Final state policy class name : G4FinalStateChargeDecrease
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ Hydrogen processes
+</bridgehead>
+<para>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Ionisation (one model)
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Cross section policy class name : G4CrossSectionIonisationRudd
+      </para></listitem>
+      <listitem><para>
+        Final state policy class name : G4FinalStateIonisationRudd
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    Charge increase (one model) 
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Cross section policy class name : G4CrossSectionChargeIncrease
+      </para></listitem>
+      <listitem><para>
+        Final state policy class name : G4FinalStateChargeIncrease
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ Helium (neutral) processes
+</bridgehead>
+<para>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Excitation (one model) 
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Cross section policy class name : G4CrossSectionExcitationMillerGreen
+      </para></listitem>
+      <listitem><para>
+        Final state policy class name : G4FinalStateExcitationMillerGreen
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    Ionisation (one model)
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Cross section policy class name : G4CrossSectionIonisationRudd
+      </para></listitem>
+      <listitem><para>
+        Final state policy class name : G4FinalStateIonisationRudd
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    Charge increase (one model) 
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Cross section policy class name : G4CrossSectionChargeIncrease
+      </para></listitem>
+      <listitem><para>
+        Final state policy class name : G4FinalStateChargeIncrease
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ Helium+ (ionized once) processes
+</bridgehead>
+<para>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Excitation (one model) 
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Cross section policy class name : G4CrossSectionExcitationMillerGreen
+      </para></listitem>
+      <listitem><para>
+        Final state policy class name : G4FinalStateExcitationMillerGreen
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    Ionisation (one model)
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Cross section policy class name : G4CrossSectionIonisationRudd
+      </para></listitem>
+      <listitem><para>
+        Final state policy class name : G4FinalStateIonisationRudd
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    Charge increase (one model) 
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Cross section policy class name : G4CrossSectionChargeIncrease
+      </para></listitem>
+      <listitem><para>
+        Final state policy class name : G4FinalStateChargeIncrease
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    Charge decrease (one model)  
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Cross section policy class name : G4CrossSectionChargeDecrease
+      </para></listitem>
+      <listitem><para>
+        Final state policy class name : G4FinalStateChargeDecrease
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+ Helium++ (ionised twice) processes
+</bridgehead>
+<para>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Excitation (one model) 
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Cross section policy class name : G4CrossSectionExcitationMillerGreen
+      </para></listitem>
+      <listitem><para>
+        Final state policy class name : G4FinalStateExcitationMillerGreen
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    Ionisation (one model)
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Cross section policy class name : G4CrossSectionIonisationRudd
+      </para></listitem>
+      <listitem><para>
+        Final state policy class name : G4FinalStateIonisationRudd
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    Charge decrease (one model) 
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Cross section policy class name : G4CrossSectionChargeDecrease
+      </para></listitem>
+      <listitem><para>
+        Final state policy class name : G4FinalStateChargeDecrease
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+An example of the registration of these processes in a physics list is given here below :
+
+<informalexample>
+<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......
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+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 :
+
+<informalexample>
+<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......
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+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. 
+</para>
+
+<para>
+The user should set the environment variable G4LEDATA to the directory where 
+he/she has copied the files. 
+</para>
+
+</sect3>
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.PhysProc.Had">
+<title>
+Hadronic Interactions
+</title>
+
+<para>
+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 
+<ulink url="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/PhysicsReferenceManual.html">
+<emphasis role="bold">Physics Reference Manual</emphasis></ulink>.
+</para>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.PhysProc.Had.TreatCross">
+<title>
+Treatment of Cross Sections
+</title>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Cross section data sets
+</bridgehead>
+
+<para>
+Each hadronic process object (derived from
+<emphasis>G4HadronicProcess</emphasis>) 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 <emphasis>G4VCrossSectionDataSet</emphasis>, and are required to implement
+the following methods:
+
+<informalexample>
+<programlisting>
+    G4bool IsApplicable( const G4DynamicParticle*, const G4Element* )
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+This method must return <literal>True</literal> if the data set is able to
+calculate a total cross section for the given particle and
+material, and <literal>False</literal> otherwise.
+
+<informalexample>
+<programlisting>
+    G4double GetCrossSection( const G4DynamicParticle*, const G4Element* )
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+This method, which will be invoked only if <literal>True</literal> was
+returned by <literal>IsApplicable</literal>, must return a cross section, in
+Geant4 default units, for the given particle and material.
+
+<informalexample>
+<programlisting>
+    void BuildPhysicsTable( const G4ParticleDefinition&amp; )
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+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.
+
+
+<informalexample>
+<programlisting>
+    void DumpPhysicsTable( const G4ParticleDefinition&amp; ) = 0
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+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.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Cross section data store
+</bridgehead>
+
+<para>
+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 <emphasis>G4CrossSectionDataStore</emphasis> 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:
+
+<informalexample>
+<programlisting>
+    G4CrossSectionDataStore()
+
+   ~G4CrossSectionDataStore()
+</programlisting>
+</informalexample>
+
+and
+
+<informalexample>
+<programlisting>
+    G4double GetCrossSection( const G4DynamicParticle*, const G4Element* )
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+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 <literal>G4Exception</literal> is thrown and <literal>DBL_MIN</literal> is
+returned. Otherwise, each data set in the list is queried, in
+reverse list order, by invoking its <literal>IsApplicable</literal> 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 <literal>GetCrossSection</literal> method. If no data set
+responds positively, a <literal>G4Exception</literal> is thrown and
+<literal>DBL_MIN</literal> is returned.
+</para>
+
+<para>
+<informalexample>
+<programlisting>
+    void AddDataSet( G4VCrossSectionDataSet* aDataSet )
+</programlisting>
+</informalexample>
+
+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 <literal>GetCrossSection</literal> request,
+does the <literal>IsApplicable</literal> 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.
+</para>
+
+<para>
+<informalexample>
+<programlisting>
+    void BuildPhysicsTable( const G4ParticleDefinition&amp; aParticleType )
+</programlisting>
+</informalexample>
+
+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
+<literal>BuildPhysicsTable</literal> of each of its data sets.
+</para>
+
+<para>
+<informalexample>
+<programlisting>
+    void DumpPhysicsTable( const G4ParticleDefinition&amp; )
+</programlisting>
+</informalexample>
+
+This method may be used to request the data store to invoke the
+<literal>DumpPhysicsTable</literal> method of each of its data sets.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Default cross sections
+</bridgehead>
+
+<para>
+The defaults for total cross section data and calculations have
+been encapsulated in the singleton class
+<emphasis>G4HadronCrossSections</emphasis>. Each hadronic process:
+<emphasis>G4HadronInelasticProcess</emphasis>, 
+<emphasis>G4HadronElasticProcess</emphasis>,
+<emphasis>G4HadronFissionProcess</emphasis>, 
+and <emphasis>G4HadronCaptureProcess</emphasis>,
+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 <emphasis>G4HadronCrossSections</emphasis>
+to do the real work of calculating cross sections.
+</para>
+
+<para>
+The default cross sections can be overridden in whole or in part
+by the user. To this end, the base class <emphasis>G4HadronicProcess</emphasis>
+has a ``get'' method:
+
+<informalexample>
+<programlisting>
+    G4CrossSectionDataStore* GetCrossSectionDataStore()
+</programlisting>
+</informalexample>
+
+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:
+
+<informalexample>
+<programlisting>
+    G4Hadron...Process aProcess(...)
+
+    MyCrossSectionDataSet myDataSet(...)
+
+    aProcess.GetCrossSectionDataStore()-&gt;AddDataSet( &amp;MyDataSet )
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+The added data set will override the default cross section data
+whenever so indicated by its <literal>IsApplicable</literal> method.
+</para>
+
+<para>
+In addition to the ``get'' method, <emphasis>G4HadronicProcess</emphasis> also
+has the method
+
+<informalexample>
+<programlisting>
+    void SetCrossSectionDataStore( G4CrossSectionDataStore* )
+</programlisting>
+</informalexample>
+
+which allows the user to completely replace the default data
+store with a new data store.
+</para>
+
+<para>
+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
+<emphasis>G4HadronCrossSections</emphasis> class mentioned above. Indeed,
+<emphasis>G4VCrossSectionDataSet</emphasis> 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.
+</para>
+
+<para>
+The current implementation of the data set
+<emphasis>G4HadronCrossSections</emphasis> reuses the total cross-sections for
+inelastic and elastic scattering, radiative capture and fission as
+used with <emphasis role="bold">GHEISHA</emphasis> to provide cross-sections 
+for calculation
+of the respective mean free paths of a given particle in a given
+material.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Cross-sections for low energy neutron transport
+</bridgehead>
+
+<para>
+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, <literal>NeutronHPCrossSections</literal>,
+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
+<emphasis>G4NeutronHPElasticData</emphasis>, 
+<emphasis>G4NeutronHPCaptureData</emphasis>,
+<emphasis>G4NeutronHPFissionData</emphasis>, 
+and <emphasis>G4NeutronHPInelasticData</emphasis>.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.PhysProc.Had.AtRest">
+<title>
+Hadrons at Rest
+</title>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+List of implemented "Hadron at Rest" processes
+</bridgehead>
+
+<para>
+The following process classes have been implemented:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    pi- absorption (class name <emphasis>G4PionMinusAbsorptionAtRest</emphasis>
+    or <emphasis>G4PiMinusAbsorptionAtRest</emphasis>)
+  </para></listitem>
+  <listitem><para>
+    kaon- absorption (class name <emphasis>G4KaonMinusAbsorptionAtRest</emphasis>
+    or <emphasis>G4KaonMinusAbsorption</emphasis>)
+  </para></listitem>
+  <listitem><para>
+    neutron capture (class name <emphasis>G4NeutronCaptureAtRest</emphasis>)
+  </para></listitem>
+  <listitem><para>
+    anti-proton annihilation (class name
+    <emphasis>G4AntiProtonAnnihilationAtRest</emphasis>)
+  </para></listitem>
+  <listitem><para>
+    anti-neutron annihilation (class name
+    <emphasis>G4AntiNeutronAnnihilationAtRest</emphasis>)
+  </para></listitem>
+  <listitem><para>
+    mu- capture (class name <emphasis>G4MuonMinusCaptureAtRest</emphasis>)
+  </para></listitem>
+  <listitem><para>
+    alternative CHIPS model for any negativly charged particle
+    (class name <emphasis>G4QCaptureAtRest</emphasis>)
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+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.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Implementation Interface to Geant4
+</bridgehead>
+
+<para>
+All of these classes are derived from the abstract class
+<emphasis>G4VRestProcess</emphasis>. 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:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <para>
+    <literal>AtRestGetPhysicalInteractionLength( const G4Track&amp;,
+    G4ForceCondition* )</literal>
+    </para>
+    <para>
+    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.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <para>
+    <literal>AtRestDoIt( const G4Track&amp;, const G4Step&amp;)</literal>
+    </para>
+    <para>
+    This method generates the secondary particles produced by the
+    process.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <para>
+    <literal>IsApplicable( const G4ParticleDefinition&amp; )</literal>
+    </para>
+    <para>
+    This method returns the result of a check to see if the process is
+    possible for a given particle.
+    </para>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Example of how to use a hadron at rest process
+</bridgehead>
+
+<para>
+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:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    create a process:
+    <informalexample>
+    <programlisting>
+       theProcess = new G4PionMinusAbsorptionAtRest();
+    </programlisting>
+    </informalexample>
+  </para></listitem>
+  <listitem><para>
+    register the process with the particle's process manager:
+    <informalexample>
+    <programlisting>
+       theParticleDef = G4PionMinus::PionMinus();
+       G4ProcessManager* pman = theParticleDef-&gt;GetProcessManager();
+       pman-&gt;AddRestProcess( theProcess );
+    </programlisting>
+    </informalexample>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.PhysProc.Had.Flight">
+<title>
+Hadrons in Flight
+</title>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+What processes do you need?
+</bridgehead>
+
+<para>
+For hadrons in motion, there are four physics process classes.
+<xref linkend="table.PhysProc_1" /> shows each process and the 
+particles for which it is relevant.
+
+<table id="table.PhysProc_1">
+<title>
+Hadronic processes and relevant particles.
+</title>
+
+<tgroup cols="2">
+  <tbody>
+  <row>
+    <entry>
+      <emphasis>G4HadronElasticProcess</emphasis>
+    </entry>
+    <entry>
+      pi+, pi-, K<superscript>+</superscript>, 
+      K<superscript>0</superscript><subscript>S</subscript>, 
+      K<superscript>0</superscript><subscript>L</subscript>, 
+      K<superscript>-</superscript>, 
+      p, p-bar, n, n-bar, lambda, lambda-bar, 
+      Sigma<superscript>+</superscript>, Sigma<superscript>-</superscript>,
+      Sigma<superscript>+</superscript>-bar, 
+      Sigma<superscript>-</superscript>-bar, 
+      Xi<superscript>0</superscript>, Xi<superscript>-</superscript>, 
+      Xi<superscript>0</superscript>-bar, Xi<superscript>-</superscript>-bar
+    </entry>
+  </row>
+  <row>
+    <entry>
+      <emphasis>G4HadronInelasticProcess</emphasis>
+    </entry>
+    <entry>
+      pi+, pi-, K<superscript>+</superscript>, 
+      K<superscript>0</superscript><subscript>S</subscript>,
+      K<superscript>0</superscript><subscript>L</subscript>, 
+      K<superscript>-</superscript>, 
+      p, p-bar, n, n-bar, lambda, lambda-bar, 
+      Sigma<superscript>+</superscript>, Sigma<superscript>-</superscript>,
+      Sigma<superscript>+</superscript>-bar, 
+      Sigma<superscript>-</superscript>-bar, Xi<superscript>0</superscript>,
+      Xi<superscript>-</superscript>, Xi<superscript>0</superscript>-bar, 
+      Xi<superscript>-</superscript>-bar
+    </entry>
+  </row>
+  <row>
+    <entry>
+      <emphasis>G4HadronFissionProcess</emphasis>
+    </entry>
+    <entry>
+      all
+    </entry>
+  </row>
+  <row>
+    <entry>
+      <emphasis>G4CaptureProcess</emphasis>
+    </entry>
+    <entry>
+      n, n-bar
+    </entry>
+  </row>
+  </tbody>
+</tgroup>
+</table>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+How to register Models
+</bridgehead>
+
+<para>
+To register an inelastic process model for a particle, a proton
+for example, first get the pointer to the particle's process
+manager:
+
+<informalexample>
+<programlisting>
+   G4ParticleDefinition *theProton = G4Proton::ProtonDefinition();
+   G4ProcessManager *theProtonProcMan = theProton-&gt;GetProcessManager();
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Create an instance of the particle's inelastic process:
+
+<informalexample>
+<programlisting>
+   G4ProtonInelasticProcess *theProtonIEProc = new G4ProtonInelasticProcess();
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Create an instance of the model which determines the secondaries
+produced in the interaction, and calculates the momenta of the
+particles:
+
+<informalexample>
+<programlisting>
+   G4LEProtonInelastic *theProtonIE = new G4LEProtonInelastic();
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Register the model with the particle's inelastic process:
+
+<informalexample>
+<programlisting>
+   theProtonIEProc-&gt;RegisterMe( theProtonIE );
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Finally, add the particle's inelastic process to the list of
+discrete processes:
+
+<informalexample>
+<programlisting>
+   theProtonProcMan-&gt;AddDiscreteProcess( theProtonIEProc );
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+The particle's inelastic process class,
+<emphasis>G4ProtonInelasticProcess</emphasis> in the example above, derives from
+the <emphasis>G4HadronicInelasticProcess</emphasis> class, and simply defines the
+process name and calls the <emphasis>G4HadronicInelasticProcess</emphasis>
+constructor. All of the specific particle inelastic processes
+derive from the <emphasis>G4HadronicInelasticProcess</emphasis> class, which
+calls the <literal>PostStepDoIt</literal> function, which returns the
+particle change object from the <emphasis>G4HadronicProcess</emphasis> function
+<literal>GeneralPostStepDoIt</literal>. This class also gets the mean free
+path, builds the physics table, and gets the microscopic cross
+section. The <emphasis>G4HadronicInelasticProcess</emphasis> class derives from
+the <emphasis>G4HadronicProcess</emphasis> class, which is the top level hadronic
+process class. The <emphasis>G4HadronicProcess</emphasis> class derives from the
+<emphasis>G4VDiscreteProcess</emphasis> class. The inelastic, elastic, capture,
+and fission processes derive from the <emphasis>G4HadronicProcess</emphasis>
+class. This pure virtual class also provides the energy range
+manager object and the <literal>RegisterMe</literal> access function.
+</para>
+
+<para>
+A sample case for the proton's inelastic interaction model class
+is shown in <xref linkend="programlist_PhysProc_3" />, where
+<literal>G4LEProtonInelastic.hh</literal> is the name of the include
+file:
+
+<example id="programlist_PhysProc_3">
+<title>
+An example of a proton inelastic interaction model class.
+</title>
+
+<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;
+  }
+</programlisting>
+</example>
+</para>
+
+<para>
+The <literal>CascadeAndCalculateMomenta</literal> 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 <emphasis>ParticleChange</emphasis> object which is
+returned.
+</para>
+
+<para>
+The <emphasis>G4LEProtonInelastic</emphasis> class derives from the
+<emphasis>G4InelasticInteraction</emphasis> class, which is an abstract base
+class since the pure virtual function <literal>ApplyYourself</literal> is not
+defined there. <emphasis>G4InelasticInteraction</emphasis> itself derives from
+the <emphasis>G4HadronicInteraction</emphasis> 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
+<emphasis>G4HadronicInteraction</emphasis> class provides the
+<literal>Set/GetMinEnergy</literal> and the <literal>Set/GetMaxEnergy</literal>
+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:
+
+<informalexample>
+<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 )
+</programlisting>
+</informalexample>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Which models are there, and what are the defaults
+</bridgehead>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+Three types of hadronic shower models have been implemented:
+parametrisation driven models, data driven models, and theory
+driven models.
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    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 <emphasis role="bold">GHEISHA</emphasis> 
+    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
+    <literal>hadronics/models/low_energy</literal> and
+    <literal>hadronics/models/high_energy</literal>. 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.
+  </para></listitem>
+  <listitem><para>
+    Data driven models are available for the transport of low
+    energy neutrons in matter in sub-directory
+    <literal>hadronics/models/neutron_hp</literal>. The modeling is based 
+    on the data formats of <emphasis role="bold">ENDF/B-VI</emphasis>, 
+    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.
+  </para></listitem>
+  <listitem><para>
+    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
+    <literal>hadronics/models/generator</literal>. 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.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect3>
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.PhysProc.Decay">
+<title>
+Particle Decay Process
+</title>
+
+<para>
+This section briefly introduces decay processes installed in
+Geant4. For details of the implementation of particle decays,
+please refer to the 
+<ulink url="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/PhysicsReferenceManual.html">
+<emphasis role="bold">Physics Reference Manual</emphasis></ulink>.
+</para>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.PhysProc.Decay.Class">
+<title>
+Particle Decay Class
+</title>
+
+<para>
+Geant4 provides a <emphasis>G4Decay</emphasis> class for both ``at rest'' and
+``in flight'' particle decays. <emphasis>G4Decay</emphasis> can be applied to all
+particles except:
+
+<variablelist>
+  <varlistentry>
+    <term>
+      massless particles, i.e.,
+    </term>
+    <listitem>
+      <literal>G4ParticleDefinition::thePDGMass &lt;= 0</literal>
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      particles with ``negative'' life time, i.e.,
+    </term>
+    <listitem>
+      <literal>G4ParticleDefinition::thePDGLifeTime &lt; 0</literal>
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      shortlived particles, i.e.,
+    </term>
+    <listitem>
+      <literal>G4ParticleDefinition::fShortLivedFlag = True</literal>
+    </listitem>
+  </varlistentry>
+</variablelist>
+</para>
+
+<para>
+Decay for some particles may be switched on or off by using
+<literal>G4ParticleDefinition::SetPDGStable()</literal> as well as
+<literal>ActivateProcess()</literal> and <literal>InActivateProcess()</literal> 
+methods of <emphasis>G4ProcessManager</emphasis>.
+</para>
+
+<para>
+<emphasis>G4Decay</emphasis> proposes the step length (or step time for
+<literal>AtRest</literal>) according to the lifetime of the particle unless
+<literal>PreAssignedDecayProperTime</literal> is defined in
+<emphasis>G4DynamicParticle</emphasis>.
+</para>
+
+<para>
+The <emphasis>G4Decay</emphasis> class itself does not define decay modes of
+the particle. Geant4 provides two ways of doing this:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    using <emphasis>G4DecayChannel</emphasis> in <emphasis>G4DecayTable</emphasis>, 
+    and
+  </para></listitem>
+  <listitem><para>
+    using <literal>thePreAssignedDecayProducts</literal> of
+    <emphasis>G4DynamicParticle</emphasis>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+The <emphasis>G4Decay</emphasis> class calculates the
+<literal>PhysicalInteractionLength</literal> and boosts decay products
+created by <emphasis>G4VDecayChannel</emphasis> or event generators. See below
+for information on the determination of the decay modes.
+</para>
+
+<para>
+An object of <emphasis>G4Decay</emphasis> can be shared by particles.
+Registration of the decay process to particles in the
+<literal>ConstructPhysics</literal> method of <emphasis>PhysicsList</emphasis> 
+(see <xref linkend="sect.HowToSpecPhysProc.SpecPhysProc" />) 
+is shown in <xref linkend="programlist_PhysProc_4" />.
+
+<example id="programlist_PhysProc_4">
+<title>
+Registration of the decay process to particles in the
+<literal>ConstructPhysics</literal> method of <emphasis>PhysicsList</emphasis>.
+</title>
+
+<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);
+    }
+  }
+}
+</programlisting>
+</example>
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.PhysProc.Decay.Table">
+<title>
+Decay Table
+</title>
+
+<para>
+Each particle has its <emphasis>G4DecayTable</emphasis>, 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 <emphasis>G4VDecayChannel</emphasis>. Default
+decay modes are created in the constructors of particle classes.
+For example, the decay table of the neutral pion has
+<emphasis>G4PhaseSpaceDecayChannel</emphasis> and 
+<emphasis>G4DalitzDecayChannel</emphasis> as follows:
+
+<informalexample>
+<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);
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Decay modes and branching ratios defined in Geant4 are listed in
+<xref linkend="sect.Parti.Def" />.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.PhysProc.Decay.PreAssgn">
+<title>
+Pre-assigned Decay Modes by Event Generators
+</title>
+
+<para>
+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 <emphasis>G4VDecayChannel</emphasis>. 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:
+<literal>pre-assigned decay mode</literal> and <literal>external decayer</literal>.
+</para>
+
+<para>
+In the latter approach, the class <emphasis>G4VExtDecayer</emphasis> is used
+for the interface to an external package which defines decay modes
+for a particle. If an instance of <emphasis>G4VExtDecayer</emphasis> is attached
+to <emphasis>G4Decay</emphasis>, daughter particles will be generated by the
+external decay handler.
+</para>
+
+<para>
+In the former case, decays of heavy particles are simulated by
+an event generator and the primary event contains the decay
+information. <emphasis>G4VPrimaryGenerator</emphasis> automatically attaches any
+daughter particles to the parent particle as the
+PreAssignedDecayProducts member of <emphasis>G4DynamicParticle</emphasis>.
+<emphasis>G4Decay</emphasis> adopts these pre-assigned daughter particles instead
+of asking <emphasis>G4VDecayChannel</emphasis> to generate decay products.
+</para>
+
+<para>
+In addition, the user may assign a <literal>pre-assigned</literal> decay
+time for a specific track in its rest frame (i.e. decay time is
+defined in the proper time) by using the
+<emphasis>G4PrimaryParticle::SetProperTime()</emphasis> method.
+<emphasis>G4VPrimaryGenerator</emphasis> sets the PreAssignedDecayProperTime
+member of <emphasis>G4DynamicParticle</emphasis>. <emphasis>G4Decay</emphasis> 
+uses this decay time instead of the life time of the particle type.
+</para>
+
+</sect3>
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.PhysProc.PhotoHad">
+<title>
+Photolepton-hadron Processes
+</title>
+
+<para>
+To be delivered.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.PhysProc.Photo">
+<title>
+Optical Photon Processes
+</title>
+
+<para>
+A photon is considered to be <emphasis>optical</emphasis> 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 <emphasis>gamma</emphasis> 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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+The optical properties of the medium which are key to the
+implementation of these types of processes are stored as entries in
+a <literal>G4MaterialPropertiesTable</literal> which is linked to the
+<literal>G4Material</literal> 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 <literal>G4Material</literal>
+class. The <literal>G4MaterialPropertiesTable</literal> is implemented as a
+hash directory, in which each entry consists of a <emphasis>value</emphasis> and
+a <emphasis>key</emphasis>. The key is used to quickly and efficiently retrieve
+the corresponding value. All values in the dictionary are either
+instantiations of <literal>G4double</literal> or the class
+<literal>G4MaterialPropertyVector</literal>, and all keys are of type
+<literal>G4String</literal>.
+</para>
+
+<para>
+A <literal>G4MaterialPropertyVector</literal> is composed of
+instantiations of the class <literal>G4MPVEntry</literal>. The
+<literal>G4MPVEntry</literal> is a pair of numbers, which in the case of an
+optical property, are the photon momentum and corresponding
+property value. The <literal>G4MaterialPropertyVector</literal> is
+implemented as a <literal>G4std::vector</literal>, with the sorting operation
+defined as 
+MPVEntry<subscript>1</subscript> &lt; MPVEntry<subscript>2</subscript> ==
+photon_momentum<subscript>1</subscript> &lt; photon_momentum<subscript>2</subscript>. 
+This results in all <literal>G4MaterialPropertyVector</literal>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
+<literal>G4MaterialPropertiesTable</literal> class. An example of this is
+shown in <xref linkend="programlist_PhysProc_5" />.
+
+<example id="programlist_PhysProc_5">
+<title>
+Optical properties added to a <literal>G4MaterialPropertiesTable</literal> 
+and linked to a <literal>G4Material</literal>
+</title>
+
+<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);
+</programlisting>
+</example>
+</para>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.PhysProc.Photo.Cerenkov">
+<title>
+Generation of Photons in 
+<literal>processes/electromagnetic/xrays</literal> - Cerenkov Effect
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+The flux, spectrum, polarization and emission of Cerenkov
+radiation in the <literal>AlongStepDoIt</literal> method of the class
+<literal>G4Cerenkov</literal> 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
+<literal>G4PhysicsTable</literal> which contains incremental integrals to
+expedite this calculation.
+</para>
+
+<para>
+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 <literal>SetMaxNumPhotonsPerStep(const G4int
+NumPhotons)</literal> 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.
+</para>
+
+<para>
+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 <literal>SetTrackSecondariesFirst</literal>. An example of the
+registration of the Cerenkov process is given in 
+<xref linkend="programlist_PhysProc_6" />.
+
+<example id="programlist_PhysProc_6">
+<title>
+Registration of the Cerenkov process in <literal>PhysicsList</literal>.
+</title>
+
+<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);
+    }
+  }
+}
+</programlisting>
+</example>
+</para>
+
+</sect3>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.PhysProc.Photo.Scinti">
+<title>
+Generation of Photons in 
+<literal>processes/electromagnetic/xrays</literal> - Scintillation
+</title>
+
+<para>
+Every scintillating material has a characteristic light yield,
+<literal>SCINTILLATIONYIELD</literal>, and an intrinsic resolution,
+<literal>RESOLUTIONSCALE</literal>, 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
+<literal>ResolutionScale*sqrt(MeanNumberOfPhotons)</literal>. The average
+light yield, <literal>MeanNumberOfPhotons</literal>, has a linear dependence
+on the local energy deposition, but it may be different for minimum
+ionizing and non-minimum ionizing particles.
+</para>
+
+<para>
+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 <literal>YIELDRATIO</literal>.
+Scintillation may be simulated by specifying these empirical
+parameters for each material. It is sufficient to specify in the
+user's <literal>DetectorConstruction</literal> class a relative spectral
+distribution as a function of photon energy for the scintillating
+material. An example of this is shown in 
+<xref linkend="programlist_PhysProc_7" />
+
+<example id="programlist_PhysProc_7">
+<title>
+Specification of scintillation properties in
+<literal>DetectorConstruction</literal>.
+</title>
+<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);
+</programlisting>
+</example>
+</para>
+
+<para>
+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
+<literal>ScintillationYieldFactor</literal> in the user's
+<literal>PhysicsList</literal> as shown in 
+<xref linkend="programlist_PhysProc_8" />. 
+In those cases where the fast to slow excitation ratio changes with particle
+type, the method <literal>SetScintillationExcitationRatio</literal> can be
+called for each scintillation process (see the advanced
+underground_physics example). This overwrites the
+<literal>YieldRatio</literal> obtained from the
+<literal>G4MaterialPropertiesTable</literal>.
+
+<example id="programlist_PhysProc_8">
+<title>
+Implementation of the scintillation process in
+<literal>PhysicsList</literal>.
+</title>
+
+<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);
+       }
+    }
+  }
+</programlisting>
+</example>
+</para>
+
+<para>
+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 <literal>AddConstProperty("SCINTILLATIONYIELD")</literal>, 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&pi; with a random linear polarization
+and at times characteristic for the scintillation component.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.PhysProc.Photo.WaveShift">
+<title>
+Generation of Photons in 
+<literal>processes/optical</literal> - Wavelength Shifting
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+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 <literal>DetectorConstruction</literal> 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 <xref linkend="programlist_PhysProc_9" />.
+
+<example id="programlist_PhysProc_9">
+<title>
+Specification of WLS properties in <literal>DetectorConstruction</literal>.
+</title>
+
+<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);
+</programlisting>
+</example>
+</para>
+
+<para>
+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.
+</para>
+
+</sect3>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.PhysProc.Photo.Track">
+<title>
+Tracking of Photons in <literal>processes/optical</literal>
+</title>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Absorption
+</bridgehead>
+
+<para>
+The implementation of optical photon bulk absorption,
+<literal>G4OpAbsorption</literal>, is trivial in that the process merely
+kills the particle. The procedure requires the user to fill the
+relevant <literal>G4MaterialPropertiesTable</literal> with empirical data for
+the absorption length, using <literal>ABSLENGTH</literal> as the property key
+in the public method <literal>AddProperty</literal>. 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
+<literal>GetMeanFreePath</literal> method.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Rayleigh Scattering
+</bridgehead>
+
+<para>
+The differential cross section in Rayleigh scattering,
+&sigma;/&omega;, is proportional 
+to cos<superscript>2</superscript>(&thetas;),
+where &thetas; is the polar of the new polarization vector with
+respect to the old polarization vector. The <literal>G4OpRayleigh</literal>
+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 <literal>G4DynamicParticle</literal> class.
+</para>
+
+<para>
+A photon which is not assigned a polarization at production,
+either via the <literal>SetPolarization</literal> method of the
+<literal>G4PrimaryParticle</literal> class, or indirectly with the
+<literal>SetParticlePolarization</literal> method of the
+<literal>G4ParticleGun</literal> class, may not be Rayleigh scattered.
+Optical photons produced by the <literal>G4Cerenkov</literal> process have
+inherently a polarization perpendicular to the cone's surface at
+production. Scintillation photons have a random linear polarization
+perpendicular to their direction.
+</para>
+
+<para>
+The process requires a <literal>G4MaterialPropertiesTable</literal> 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 <literal>GetMeanFreePath</literal>
+method. The <literal>G4OpRayleigh</literal> class provides a
+<literal>RayleighAttenuationLengthGenerator</literal> 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 <emphasis>Water</emphasis> and no
+Rayleigh scattering attenutation length specified by the user, the
+program automatically calls the
+<literal>RayleighAttenuationLengthGenerator</literal>
+which calculates it for 10 degrees Celsius liquid water.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Boundary Process
+</bridgehead>
+
+<para>
+Reference: E. Hecht and A. Zajac, Optics
+<citation>
+<xref linkend="biblio.hecht1974" endterm="biblio.hecht1974.abbrev" />
+</citation>
+</para>
+
+<para>
+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
+<literal>G4MaterialPropertiesTable</literal>. In all other cases, the optical
+boundary process design relies on the concept of <emphasis>surfaces</emphasis>.
+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 <emphasis>border
+surface</emphasis> while the latter is referred to as the <emphasis>skin
+surface</emphasis>. 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
+<literal>G4PVPlacement</literal>. 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.
+</para>
+
+<para>
+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 <literal>G4Navigator</literal>. Combinations of surface finish
+properties, such as <emphasis>polished</emphasis> or 
+<emphasis>ground</emphasis> and <emphasis>front
+painted</emphasis> or <emphasis>back painted</emphasis>, enumerate the different
+situations which can be simulated.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+One implementation of the <literal>G4OpBoundaryProcess</literal> class
+employs the 
+<ulink url="http://geant4.slac.stanford.edu/UsersWorkshop/G4Lectures/Peter/moisan.ps">
+UNIFIED model</ulink>
+ [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 <literal>G4Navigator</literal>.
+</para>
+
+<para>
+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.
+
+<example id="programlist_PhysProc_10">
+<title>
+Dielectric-dielectric surface properties 
+defined via the <emphasis>G4OpticalSurface</emphasis>.
+</title>
+
+<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);
+</programlisting>
+</example>
+</para>
+
+<para>
+The original 
+<ulink url="http://wwwasdoc.web.cern.ch/wwwasdoc/geant_html3/node231.html">
+GEANT3.21 implementation</ulink>  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.].
+
+<example id="programlist_PhysProc_11">
+<title>
+Dielectric metal surface properties defined via the
+<emphasis>G4OpticalSurface</emphasis>.
+</title>
+
+<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);
+</programlisting>
+</example>
+</para>
+
+<para>
+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 
+<ulink url="./AllResources/TrackingAndPhysics/physicsProcessOptical.src/GetReflectivity.pdf">
+calculates the reflectivity 
+</ulink>
+depending on the incident angle, photon energy, degree of TE and TM
+polarization, and this complex refractive index.
+</para>
+
+<para>
+The program defaults to the GLISUR model and <emphasis>polished</emphasis>
+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 <emphasis>polished</emphasis> or <emphasis>ground</emphasis>. For
+dielectric-metal surfaces, the <literal>G4OpBoundaryProcess</literal> 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.
+</para>
+
+</sect3>
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.PhysProc.Param">
+<title>
+Parameterization
+</title>
+
+<para>
+In this section we describe how to use the parameterization or
+"fast simulation" facilities of GEANT4. Examples are provided in
+the <emphasis role="bold">examples/novice/N05 directory</emphasis>.
+</para>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.PhysProc.Param.Gene">
+<title>
+Generalities:
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+Parameterisations are bound to a 
+<emphasis role="bold"><literal>G4Region</literal></emphasis>
+object, which, in the case of fast simulation is also called an
+<emphasis role="bold">envelope</emphasis>. Prior to release 8.0, 
+parameterisations were bound
+to a <literal>G4LogicalVolume</literal>, the root of a volume hierarchy.
+These root volumes are now attributes of the <literal>G4Region</literal>.
+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 <xref linkend="sect.PhysProc.Param.Ghost" />.
+</para>
+
+<para>
+In GEANT4, parameterisations have three main features. You must
+specify:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    the particle types for which your parameterisation is valid;
+  </para></listitem>
+  <listitem><para>
+    the dynamics conditions for which your parameterisation is
+    valid and must be triggered;
+  </para></listitem>
+  <listitem><para>
+    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.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+GEANT4 will message your parameterisation code for each step
+starting in any root G4LogicalVolume (including daughters.
+sub-daughters, etc. of this volume) of the <literal>G4Region</literal>.
+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 
+<emphasis role="bold"><emphasis>will not apply physics</emphasis></emphasis> 
+to the particle in the step. Instead, the UserSteppingAction will be
+invoked.
+</para>
+
+<para>
+Parameterisations look like a "user stepping action" but are more
+advanced because:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    parameterisation code is messaged only in the
+    <literal>G4Region</literal> to which it is bound;
+  </para></listitem>
+  <listitem><para>
+    parameterisation code is messaged anywhere in the
+    <literal>G4Region</literal>, that is, any volume in which the track is
+    located;
+  </para></listitem>
+  <listitem><para>
+    GEANT4 will provide information to your parameterisation code
+    about the current root volume of the <literal>G4Region</literal> 
+    in which the track is travelling.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect3>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.PhysProc.Param.OvComp">
+<title>
+Overview of Parameterisation Components
+</title>
+
+<para>
+The GEANT4 components which allow the implementation and control
+of parameterisations are:
+
+<variablelist>
+  <varlistentry>
+    <term>
+      <literal><emphasis role="bold">G4VFastSimulationModel</emphasis></literal> 
+    </term>
+    <listitem><para>
+      This is the abstract class for the implementation of parameterisations. 
+      You must inherit from it to implement your concrete parameterisation model.
+    </para></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      <literal><emphasis role="bold">G4FastSimulationManager</emphasis></literal>
+    </term>
+    <listitem><para>
+      The G4VFastSimulationModel objects are attached to the
+      <literal>G4Region</literal> through a G4FastSimulationManager. 
+      This object will manage the list of models and will message them at 
+      tracking time.
+    </para></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      <literal><emphasis role="bold">G4Region/Envelope</emphasis></literal>
+    </term>
+    <listitem><para>
+      As mentioned before, an envelope in GEANT4 is a 
+      <literal><emphasis role="bold">G4Region</emphasis></literal>. 
+      The parameterisation is bound to the <literal>G4Region</literal> by 
+      setting a <literal>G4FastSimulationManager</literal> pointer to it.
+      </para>
+      <para>
+      The figure below shows how the <literal>G4VFastSimulationModel</literal>
+      and <literal>G4FastSimulationManager</literal> objects are bound to the
+      <literal>G4Region</literal>. Then for all root G4LogicalVolume's held by
+      the G4Region, the fast simulation code is active.
+
+      <mediaobject>
+        <imageobject role="fo">
+          <imagedata fileref="./AllResources/TrackingAndPhysics/physicsProcessPARAM.src/ComponentsWithRegion.gif" 
+                     format="JPG" contentwidth="7.0cm" align="center" />
+        </imageobject>
+        <imageobject role="html">
+          <imagedata fileref="./AllResources/TrackingAndPhysics/physicsProcessPARAM.src/ComponentsWithRegion.gif" 
+                     format="JPG" align="center" />
+        </imageobject>
+        <caption>
+        </caption>
+      </mediaobject>
+
+    </para></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      <literal><emphasis role="bold">G4FastSimulationManagerProcess</emphasis></literal>
+    </term>
+    <listitem><para>
+      This is a <literal>G4VProcess</literal>. 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.
+    </para></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      <literal><emphasis role="bold">G4GlobalFastSimulationManager</emphasis></literal>
+    </term>
+    <listitem><para>
+      This a singleton class which provides the management of the
+      <literal>G4FastSimulationManager</literal> objects and some ghost
+      facilities.
+    </para></listitem>
+  </varlistentry>
+</variablelist>    
+</para>
+
+</sect3>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.PhysProc.Param.FastSimModel">
+<title>
+The <literal>G4VFastSimulationModel</literal> Abstract Class
+</title>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Constructors:
+</bridgehead>
+
+<para>
+The <literal>G4VFastSimulationModel</literal> class has two constructors.
+The second one allows you to get started quickly:
+
+<variablelist>
+  <varlistentry>
+    <term>
+      <emphasis role="bold"><literal>G4VFastSimulationModel(
+       const G4String&amp; aName)</literal></emphasis>:
+    </term>
+    <listitem><para>
+      Here <literal>aName</literal> identifies the parameterisation model.
+    </para></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      <emphasis role="bold"><literal>G4VFastSimulationModel(const G4String&amp; 
+       aName, G4Region*, G4bool IsUnique=false):</literal></emphasis>
+    </term>
+    <listitem><para>
+      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 <emphasis>G4VFastSimulationModel object will not keep track of
+      the G4Region passed in the constructor</emphasis>.
+      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".
+    </para></listitem>
+  </varlistentry>
+</variablelist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Virtual methods:
+</bridgehead>
+
+<para>
+The G4VFastSimulationModel has three pure virtual methods which
+must be overriden in your concrete class:
+
+<variablelist>
+  <varlistentry>
+    <term>
+      <emphasis role="bold"><literal>G4VFastSimulationModel(
+      <emphasis>const G4String&amp; aName</emphasis>):</literal></emphasis>
+    </term>
+    <listitem><para>
+      Here aName identifies the parameterisation model.
+    </para></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      <emphasis role="bold"><literal>G4bool ModelTrigger(
+      <emphasis>const G4FastTrack&amp;</emphasis>):</literal></emphasis>
+    </term>
+    <listitem><para>
+      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.
+    </para></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      <emphasis role="bold"><literal>G4bool IsApplicable(
+      <emphasis>const G4ParticleDefinition&amp;</emphasis>):</literal></emphasis>
+    </term>
+    <listitem><para>
+      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 ...).
+      </para>
+      <para>
+      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.
+      </para>
+      <para>
+      As an example, in a model valid for <emphasis>gamma</emphasis>s only, 
+      the IsApplicable() method should take the form:
+
+      <informalexample>
+      <programlisting>
+      #include "G4Gamma.hh"
+
+      G4bool MyGammaModel::IsApplicable(const G4ParticleDefinition&amp; partDef)
+      {
+        return &amp;partDef == G4Gamma::GammaDefinition();
+      }
+      </programlisting>
+      </informalexample>
+    </para></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      <emphasis role="bold"><literal>G4bool ModelTrigger(
+      <emphasis>const G4FastTrack&amp;</emphasis>):</literal></emphasis> 
+    </term>
+    <listitem><para>
+      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.
+    </para></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      <emphasis role="bold"><literal>void DoIt(
+      <emphasis>const G4FastTrack&amp;, G4FastStep&amp;</emphasis>):</literal></emphasis>
+    </term>
+    <listitem><para>
+      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.
+    </para></listitem>
+  </varlistentry>
+</variablelist>
+</para>
+
+</sect3>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.PhysProc.Param.FastSimMan">
+<title>
+The <literal>G4FastSimulationManager</literal> Class:
+</title>
+
+<para>
+G4FastSimulationManager functionnalities regarding the use of ghost
+volumes are explained in <xref linkend="sect.PhysProc.Param.Ghost" />.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Constructor:
+</bridgehead>
+
+<para>
+<variablelist>
+  <varlistentry>
+    <term>
+      <literal><emphasis role="bold">G4FastSimulationManager(
+      <emphasis>G4Region *anEnvelope, G4bool IsUnique=false</emphasis>):
+      </emphasis></literal> 
+    </term>
+    <listitem><para>
+      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.
+      </para>
+      <para>
+      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.
+    </para></listitem>
+  </varlistentry>
+</variablelist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+G4VFastSimulationModel object management:
+</bridgehead>
+
+<para>
+The following two methods provide the usual management
+functions.
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <literal><emphasis role="bold">void AddFastSimulationModel(
+    G4VFastSimulationModel*)</emphasis></literal>
+  </para></listitem>
+  <listitem><para>
+    <literal><emphasis role="bold">RemoveFastSimulationModel(
+    G4VFastSimulationModel*)</emphasis></literal>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Interface with the G4FastSimulationManagerProcess:
+</bridgehead>
+
+<para>
+This is described in the User's Guide for Toolkit Developers
+(
+<!-- !!! xref linkend=""/ or ulink url="" -->
+section 3.9.6
+<!-- !! /ulink (remove this tag for xref) -->
+)
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.PhysProc.Param.FastSimManProc">
+<title>
+The <literal>G4FastSimulationManagerProcess</literal> Class
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+<emphasis>In the present implementation, you must set this process in
+the G4ProcessManager of the particles you parameterise to enable
+your parameterisation.</emphasis>
+</para>
+
+<para>
+The processes ordering is:
+
+<informalexample>
+<programlisting>
+    [n-3] ...
+    [n-2] Multiple Scattering
+    [n-1] G4FastSimulationManagerProcess
+    [ n ] G4Transportation
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+The following code registers the G4FastSimulationManagerProcess
+with all the particles as a discrete and continuous process:
+
+<informalexample>
+<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);
+    }
+}
+</programlisting>
+</informalexample>
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.PhysProc.Param.FastSimManSing">
+<title>
+The <literal>G4GlobalFastSimulationManager</literal> Singleton Class
+</title>
+
+<para>
+This class is a singleton which can be accessed as follows:
+
+<informalexample>
+<programlisting>
+#include "G4GlobalFastSimulationManager.hh"
+...
+...
+G4GlobalFastSimulationManager* globalFSM;
+globalFSM = G4GlobalFastSimulationManager::getGlobalFastSimulationManager();
+...
+...
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Presently, you will mainly need to use the
+GlobalFastSimulationManager if you use ghost geometries.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.PhysProc.Param.Ghost">
+<title>
+Parameterisation Using Ghost Geometries
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+Then at the beginning of the tracking of a particle, the
+appropriate ghost world, if any, will be selected.
+</para>
+
+<para>
+The steps required to build one ghost G4Region are:
+
+<orderedlist spacing="compact">
+  <listitem><para>
+    built the ghost G4Region : myGhostRegion;
+  </para></listitem>
+  <listitem><para>
+    build the root G4LogicalVolume: myGhostLogical, set it to
+    myGhostRegion;
+  </para></listitem>
+  <listitem><para>
+    build a G4FastSimulationManager object, myGhostFSManager,
+    giving myGhostRegion as argument of the constructor;
+  </para></listitem>
+  <listitem><para>
+    <para>
+    give to the G4FastSimulationManager the placement of the
+    myGhostLogical, by invoking for the G4FastSimulationManager method:
+    <informalexample>
+    <programlisting>
+     AddGhostPlacement(G4RotationMatrix*, const G4ThreeVector&amp;);
+    </programlisting>
+    </informalexample>
+    or:
+    <informalexample>
+    <programlisting>
+     AddGhostPlacement(G4Transform3D*);
+    </programlisting>
+    </informalexample>
+
+    where the rotation matrix and translation vector of the 3-D
+    transformation describe the placement relative to the ghost world
+    coordinates.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    build your G4VFastSimulationModel objects and add them to the
+    myGhostFSManager.
+    <emphasis>The IsApplicable() methods of your models will be used by the
+    G4GlobalFastSimulationManager to build the ghost geometries
+    corresponding to a given particle type.</emphasis>
+  </para></listitem>
+  <listitem><para>
+    <para>
+    Invoke the G4GlobalFastSimulationManager method:
+
+    <informalexample>
+    <programlisting>
+     G4GlobalFastSimulationManager::getGlobalFastSimulationManager()-&gt;
+
+          CloseFastSimulation();
+    </programlisting>
+    </informalexample>
+    </para>
+  </para></listitem>
+</orderedlist>
+</para>
+
+<para>
+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).
+</para>
+
+<para>
+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:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <para>
+    /vis/draw/Ghosts particle_name
+    </para>
+    <para>
+    which makes the drawing of the ghost geometry associated with the
+    particle specified by name in the command line.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    /vis/draw/Ghosts
+    <para>
+    which draws all the ghost geometries.
+    </para>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.PhysProc.Param.GFlash">
+<title>
+Gflash Parameterization
+</title>
+
+<para>
+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
+<emphasis role="bold">examples/extended/parametrisation/gflash/</emphasis>, 
+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.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.PhysProc.Param.UsingGFlash">
+<title>
+Using the Gflash Parameterisation
+</title>
+
+<para>
+To use Gflash "out of the box" the following steps are necessary:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    The user must add the fast simulation process to his process
+    manager:
+
+    <informalexample>
+    <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);
+      }
+  }
+    </programlisting>
+    </informalexample>
+  </para></listitem>
+  <listitem><para>
+    <para>
+    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.
+    </para>
+    <para>
+    <informalexample>
+    <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);
+    </programlisting>
+    </informalexample>
+    </para>
+    <para>
+    The user must also set the material of the calorimeter, since the
+    computation depends on the material.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <para>
+    It is mandatory to use G4VGFlashSensitiveDetector as
+    (additional) base class for the sensitive detector.
+    </para>
+    <para>
+    <informalexample>
+    <programlisting>
+  class ExGflashSensitiveDetector: public G4VSensitiveDetector ,public G4VGFlashSensitiveDetector 
+    </programlisting>
+    </informalexample>
+    </para>
+    <para>
+    Here it is necessary to implement a separate interface, where the
+    GFlash spots are processed.
+    </para>
+    <para>
+    <informalexample>
+    <programlisting>
+  (ProcessHits(G4GFlashSpot*aSpot ,G4TouchableHistory* ROhist))
+    </programlisting>
+    </informalexample>
+    </para>
+    <para>
+    A separate interface is used, because the Gflash spots naturally
+    contain less information than the full simulation.
+    </para>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+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,<emphasis role="bold">GVFlashHomoShowerTuning</emphasis>, 
+to the GFlashHomoShowerParamterisation constructor. 
+The default parameters are the original Gflash parameters:
+
+<informalexample>
+<programlisting>
+GFlashHomoShowerParameterisation(G4Material * aMat, GVFlashHomoShowerTuning * aPar = 0);
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Now there is also a preliminary implemenation of a parameterization
+for sampling calorimeters.
+</para>
+
+<para>
+The user must specify the active and passive material, as well as
+the thickness of the active and passive layer.
+</para>
+
+<para>
+The sampling structure of the calorimeter is taken into account by
+using an "effective medium" to compute the shower shape.
+</para>
+
+<para>
+All material properties needed are calculated automatically. If
+tuning is required,  the user can pass his own parameter set in
+the class 
+<emphasis role="bold">GFlashSamplingShowerTuning</emphasis>. 
+Here the user can also set his calorimeter resolution.
+</para>
+
+<para>
+All in all the constructor looks the following:
+
+<informalexample>
+<programlisting>
+GFlashSamplingShowerParamterisation(G4Material * Mat1, G4Material * Mat2,G4double d1,G4double d2,
+GVFlashSamplingShowerTuning * aPar = 0);
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+An implementation of some tools that should help the user to tune
+the parameterization is forseen.
+</para>
+
+</sect3>
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.PhysProc.Trans">
+<title>
+Transportation Process
+</title>
+
+<para>
+To be delivered by J. Apostolakis (<email>John.Apostolakis@cern.ch</email>).
+</para>
+
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/physicsTable.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/physicsTable.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/physicsTable.xml	(revision 904)
@@ -0,0 +1,155 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Created by: Hisaya Kurashige,      2-Dec-2004         -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.PhysTab">
+<title>
+Physics Table
+</title>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.PhysTab.Gene">
+<title>
+General Concepts
+</title>
+
+<para>
+In Geant4, physics processes use many tables of cross sections,
+energy losses and other physics values. Before the execution of an
+event loop, the <literal>BuildPhysicsTable()</literal> method of
+<emphasis>G4VProcess</emphasis> 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.
+</para>
+
+<para>
+The <emphasis>G4PhysicsTable</emphasis> class is used to handle cross section
+tables. <emphasis>G4PhysicsTable</emphasis> is a collection of instances of
+<emphasis>G4PhysicsVector</emphasis> (and derived classes), each of which has
+cross section values for a particle within a given energy range
+traveling in a material.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.PhysTab.MateCoup">
+<title>
+Material-Cuts Couple
+</title>
+
+<para>
+Users can assign different production cuts to different regions
+(see <xref linkend="sect.CutReg" />). 
+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.
+</para>
+
+<para>
+The <emphasis>G4ProductionCutsTable</emphasis> has 
+<emphasis>G4MaterialCutsCouple</emphasis>
+objects, each of which consists of a material paired with a cut
+value. These <emphasis>G4MaterialCutsCouple</emphasis>s are numbered with an
+index which is the same as the index of a <emphasis>G4PhysicsVector</emphasis>
+for the corresponding <emphasis>G4MaterialCutsCouple</emphasis>in the
+<emphasis>G4PhysicsTable</emphasis>. The list of 
+<emphasis>MaterialCutsCouple</emphasis>s used
+in the current geometry setup is updated before starting the event
+loop in each run.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.PhysTab.Fio">
+<title>
+File I/O for the Physics Table
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+Using the built-in user command "<emphasis
+role="bold">storePhysicsTable</emphasis>"  
+(see <xref linkend="sect.BuiltinCom" />), 
+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 <emphasis>MaterialCutsCouple</emphasis>. 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
+"<emphasis role="bold">storePhysicsTable</emphasis>" command.
+</para>
+
+<para>
+Calculated physics tables can be retrieved from files by using
+the "<emphasis role="bold">retrievePhysicsTable</emphasis>" command. Materials 
+and cuts from files are compared with those defined in the current geometry
+setup, and only physics vectors corresponding to the
+<emphasis>MaterialCutsCouple</emphasis>s used in the current setup are restored.
+Note that nothing happens just after the
+"<emphasis role="bold">retrievePhysicsTable</emphasis>" command is issued. 
+Restoration of physics tables will be executed in parallel with the calculation 
+of physics tables.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.PhysTab.Build">
+<title>
+Building the Physics Table
+</title>
+
+<para>
+In the <literal>G4RunManagerKernel::RunInitialization()</literal> method,
+after the list of <emphasis>MaterialCutsCouple</emphasis>s is updated, the
+<literal>G4VUserPhysicsList::BuildPhysicsTable()</literal> method is invoked
+to build physics tables for all processes.
+</para>
+
+<para>
+Initially, the <literal>G4VProcess::PreparePhysicsTable()</literal> method
+is invoked. Each process creates <emphasis>G4PhysicsTable</emphasis> objects as
+necessary. It then checks whether the <emphasis>MaterialCutsCouple</emphasis>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.
+</para>
+
+<para>
+Next, the <literal>G4VProcess::RetrievePhysicsTable()</literal> method is
+invoked if the <literal>G4VUserPhysicsList::fRetrievePhysicsTable</literal>
+flag is asserted. After checking materials and cuts in files,
+physics vectors corresponding to the <emphasis>MaterialCutsCouple</emphasis>s
+used in the current setup are restored.
+</para>
+
+<para>
+Finally, the <literal>G4VProcess::BuildPhysicsTable()</literal> method is
+invoked and only physics vectors which need to be re-calculated are
+built.
+</para>
+
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/thresholdVScut.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/thresholdVScut.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/thresholdVScut.xml	(revision 904)
@@ -0,0 +1,367 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Changed by: Katsuya Amako,       4-Aug-1998           -->
+<!--    Changed by: Katsuya Amako,       9-Jul-1998           -->
+<!--    Proof read by: Joe Chuma,        2-Jul-1999           -->
+<!--    few corrections in 3.18.7: mma, 11-Jan-2001           -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.ProThres">
+<title>
+Production Threshold versus Tracking Cut
+</title>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ProThres.Gen">
+<title>
+General considerations
+</title>
+
+<para>
+We have to fulfill two contradictory requirements. It is the
+responsibility of each individual <emphasis role="bold">process</emphasis> 
+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.
+</para>
+
+<para>
+The general principles in Geant4 are the following:
+
+<orderedlist spacing="compact">
+  <listitem><para>
+    Each <emphasis role="bold">process</emphasis> has its intrinsic limit(s) 
+    to produce secondary particles.
+  </para></listitem>
+  <listitem><para>
+    All particles produced (and accepted) will be tracked up to
+    <emphasis role="bold">zero range</emphasis>.
+  </para></listitem>
+  <listitem><para>
+    Each <emphasis role="bold">particle</emphasis> has a suggested cut in range 
+    (which is converted to energy for all materials), and defined via a
+    <literal>SetCut()</literal> method (see 
+    <xref linkend="sect.HowToSpecParti.RangeCuts" />).
+  </para></listitem>
+</orderedlist>
+</para>
+
+<para>
+Points 1 and 2 imply that the cut associated with the
+<emphasis role="bold">particle</emphasis> is a (recommended) 
+<emphasis role="bold">production</emphasis> threshold of secondary particles.
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ProThres.Set">
+<title>
+Set production threshold (<literal>SetCut</literal> methods)
+</title>
+
+<para>
+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).
+</para>
+
+<para>See 
+<xref linkend="sect.HowToSpecParti.RangeCuts" /> to see how to set 
+the production threshold.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ProThres.Apply">
+<title>
+Apply cut
+</title>
+
+<para>
+The <literal>DoIt</literal> methods of each process can produce secondary
+particles. Two cases can happen:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    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 !).
+  </para></listitem>
+  <listitem><para>
+    a process sets its intrinsic limit smaller than the production
+    threshold (for instance 0).
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+The list of secondaries is sent to the <emphasis>SteppingManager</emphasis>
+via a <emphasis>ParticleChange</emphasis> object.
+</para>
+
+<para>
+<emphasis>Before</emphasis> 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.
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    The <emphasis>ParticleDefinition</emphasis> 
+    (or <emphasis>ParticleWithCuts</emphasis>) has a boolean data member: 
+    <literal>ApplyCut</literal>.</para></listitem>
+    <listitem><para><literal>ApplyCut</literal> 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!
+  </para></listitem>
+  <listitem><para>
+    <literal>ApplyCut</literal> in ON: the <emphasis>TrackingManager</emphasis> 
+    checks the range of each secondary against the production threshold and
+    against the safety. The particle is stacked if <literal>range &gt;
+    min(cut,safety).</literal>
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        If not, check if the process has nevertheless set the flag
+        ``good for tracking'' and then stack it (see 
+        <xref linkend="sect.ProThres.WhyProd" />
+        below for the explanation of the <literal>GoodForTracking</literal> flag).
+      </para></listitem>
+      <listitem><para>
+        If not, recuperate its kinetic energy in the
+        <literal>localEnergyDeposit</literal>, and set 
+        <literal>tkin=0</literal>.
+      </para></listitem>
+      <listitem><para>
+        Then check in the <emphasis>ProcessManager</emphasis> if the vector of
+        <emphasis>ProcessAtRest</emphasis> 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.
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+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'').
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ProThres.WhyProd">
+<title>
+Why produce secondaries below threshold?
+</title>
+
+<para>
+A process may have good reasons to produce particles below the
+recommended threshold:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    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;
+  </para></listitem>
+  <listitem><para>
+    another example is the gamma conversion: the positron is always
+    produced, even at zero energy, for further annihilation.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+These secondary particles are sent to the ``Stepping Manager''
+with a flag <literal>GoodForTracking</literal> to pass the filter explained
+in the previous section (even when <literal>ApplyCut</literal> is ON).
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ProThres.RangOrEner">
+<title>
+Cuts in stopping range or in energy?
+</title>
+
+<para>
+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.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ProThres.Sum">
+<title>
+Summary
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ProThres.Spe">
+<title>
+Special tracking cuts
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+The approach is as follows:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    special user cuts are registered in the <emphasis>UserLimits</emphasis> 
+    class (or its descendant), which is associated with the logical volume
+    class.
+    <para>
+    The current default list is:
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        max allowed step size
+      </para></listitem>
+      <listitem><para>
+        max total track length
+      </para></listitem>
+      <listitem><para>
+        max total time of flight
+      </para></listitem>
+      <listitem><para>
+        min kinetic energy
+      </para></listitem>
+      <listitem><para>
+        min remaining range
+      </para></listitem>
+    </itemizedlist>
+    </para>
+    <para>
+    The user can instantiate a <emphasis>UserLimits</emphasis> object only 
+    for the desired logical volumes and do the association.
+    </para>
+    <para>
+    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.
+    </para>
+    <para>
+    <emphasis role="bold">Example</emphasis>(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
+    <literal>DetectorConstruction::Construct()</literal>:
+    <informalexample>
+    <programlisting>
+       G4double maxStep = 0.1*TrackerLength;
+       logicTracker-&gt;SetUserLimits(new G4UserLimits(maxStep));
+    </programlisting>
+    </informalexample>
+    </para>
+    <para>
+    The <emphasis>G4UserLimits</emphasis> class is in
+    <literal>source/global/management</literal>.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    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 <literal>DoIt</literal> of this process, since, via
+    <emphasis>G4Track</emphasis>, he can access the logical volume and
+    <emphasis>UserLimits</emphasis>.
+
+    <para>
+    An example of such process (called <emphasis>UserSpecialCuts</emphasis>) is
+    provided in the repository, but not inserted in any process manager
+    of any particle.
+    </para>
+    <para>
+    <emphasis role="bold">Example: neutrons.</emphasis> 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 ...).
+    </para>
+    <para>
+    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
+    <literal>DetectorConstruction::Construct()</literal>:
+
+    <informalexample>
+    <programlisting>
+        G4double maxTime = 10*ms;
+        logicTracker-&gt;SetUserLimits(new G4UserLimits(DBL_MAX,DBL_MAX,maxTime));
+    </programlisting>
+    </informalexample>      
+
+    and put the following code in <literal>N02PhysicsList</literal>:
+
+    <informalexample>
+    <programlisting>
+        G4ProcessManager* pmanager = G4Neutron::Neutron-&gt;GetProcessManager();
+        pmanager-&gt;AddProcess(new G4UserSpecialCuts(),-1,-1,1);
+    </programlisting>
+    </informalexample>
+    </para>
+    <para>
+    (The default <emphasis>G4UserSpecialCuts</emphasis> class is in
+     <literal>source/processes/transportation</literal>.)
+    </para>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/trackErrorPropagation.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/trackErrorPropagation.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/trackErrorPropagation.xml	(revision 904)
@@ -0,0 +1,481 @@
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.G4Error">
+<title>
+Track Error Propagation
+</title>
+
+<para>
+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,...).
+</para>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.G4Error.Physics">
+<title>
+Physics
+</title>
+
+<para>
+The error propagator package computes the average trajectory that a particle would follow.  
+This means that the physics list must have the following characteristics:
+</para>
+
+<itemizedlist>
+<listitem> No multiple scattering </listitem>
+<listitem> No random fluctuations for energy loss </listitem>
+<listitem> No creation of secondary tracks </listitem>
+<listitem> No hadronic processes </listitem>
+</itemizedlist>
+
+<para>
+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. 
+</para>
+
+<para>
+All this is done in the <literal>G4ErrorPhysicsList</literal> class, that is automatically set by <literal>G4ErrorPropagatorManager</literal> as the GEANT4 physics list. 
+It sets <literal>G4ErrorEnergyLoss</literal> as unique electromagnetic process. This process uses the GEANT4 class <literal>G4EnergyLossForExtrapolator</literal> 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) <literal>G4ErrorEnergyLoss</literal> 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.
+</para>
+
+<para>
+The user may use his/her own physics list instead of <literal>G4ErrorPhysicsList</literal>. 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 <literal>G4ErrorPhysicsList</literal>. If a new physics list is used, it should also initialize the <literal>G4ErrorMessenger</literal> with the classes that serve to limit the step:
+
+<informalexample>
+<programlisting>
+  G4ErrorEnergyLoss* eLossProcess = new G4ErrorEnergyLoss;
+  G4ErrorStepLengthLimitProcess* stepLengthLimitProcess = new G4ErrorStepLengthLimitProcess;
+  G4ErrorMagFieldLimitProcess* magFieldLimitProcess = new G4ErrorMagFieldLimitProcess;
+  new G4ErrorMessenger( stepLengthLimitProcess, magFieldLimitProcess, eLossProcess );
+</programlisting>
+</informalexample>
+
+</para>
+
+<para>
+To ease the use of this package in the reconstruction code, the physics list, whether <literal>G4ErrorPhysicsList</literal> or the user's one, will be automatically initialized before starting the track propagation if it has not been done by the user.
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.G4Error.TrajState">
+<title>
+Trajectory state
+</title>
+
+<para>
+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 <literal>G4ErrorTrajState</literal>, providing: 
+</para>
+
+<itemizedlist>
+<listitem> Particle type </listitem>
+<listitem> Position </listitem>
+<listitem> Momentum </listitem>
+<listitem> Trajectory error matrix </listitem>
+</itemizedlist>
+
+<informalexample>
+<programlisting>
+ G4ErrorTrajState( const G4String&amp; partType, 
+                   const G4Point3D&amp; pos, 
+                   const G4Vector3D&amp; mom, 
+                   const G4ErrorTrajErr&amp; errmat = G4ErrorTrajErr(5,0) );
+</programlisting>
+</informalexample>
+
+<para>
+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. 
+</para>
+
+<para>
+There are two possible representations of these five parameters in the error propagator package: as a free trajectory state, class <literal>G4ErrorTrajStateFree</literal>, or as a trajectory state on a surface, class <literal>G4ErrorTrajStateonSurface</literal>. 
+</para>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.G4Error.TrajState.FreTrajState">
+<title>
+Free trajectory state
+</title>
+
+In the free trajectory state representation the five trajectory parameters are
+
+<itemizedlist>
+<listitem> G4double fInvP </listitem> 
+<listitem> G4double fLambda </listitem> 
+<listitem> G4double fPhi </listitem> 
+<listitem> G4double fYPerp </listitem> 
+<listitem> G4double fZPerp </listitem> 
+</itemizedlist>
+
+<para>
+where <literal>fInvP</literal> is the inverse of the momentum.
+<literal>fLambda</literal> and <literal>fPhi</literal> are the dip and azimuthal angles related to the momentum components in the following way:
+</para>
+
+<literal>
+            p_x = p cos(lambda) cos(phi)
+            p_y = p cos(lambda) sin(phi)   
+            p_z = p sin(lambda) 
+</literal>
+
+<para>
+that is, <literal>lambda = 90 - theta</literal>, where <literal>theta</literal> is the usual angle with respect to the Z axis.
+</para>
+
+<para>
+<literal>fYperp</literal> and <literal>fZperp</literal> 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).
+</para>
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.G4Error.TrajState.SurfaceTrajState">
+<title>
+Trajectory state on a surface
+</title>
+
+<para>
+In the trajectory state on a surface representation the five trajectory parameters are
+</para>
+
+<itemizedlist>
+<listitem> G4double fInvP </listitem> 
+<listitem> G4double fPV </listitem> 
+<listitem> G4double fPW </listitem> 
+<listitem> G4double fV </listitem> 
+<listitem> G4double fW </listitem> 
+</itemizedlist>
+
+<para>
+where <literal>fInvP</literal> is the inverse of the momentum;
+<literal>fPV</literal> and <literal>fPW</literal> are the momentum components in an orthonormal coordinate system with axis U, V and W; 
+<literal>fV</literal> and <literal>fW</literal> are the position components on this coordinate system.
+</para>
+
+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:
+
+<informalexample>
+<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) );
+</programlisting>
+</informalexample>
+
+ or by providing a plane
+
+<informalexample>
+<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) );
+</programlisting>
+</informalexample>
+
+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. 
+
+</sect3>
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.G4Error.Err">
+<title>
+Trajectory state error
+</title>
+
+<para>
+The 5X5 error matrix should also be provided at the creation of the trajectory state as a <literal>G4ErrorTrajErr</literal> object. 
+If it is not provided a default object will be created filled with null values.
+</para>
+
+<para>
+Currently the <literal>G4ErrorTrajErr</literal> is a <literal>G4ErrorSymMatrix</literal>, a simplified version of <literal>CLHEP HepSymMatrix</literal>. 
+</para>
+
+<para>
+The error matrix is given in units of GeV and cm. Therefore you should do the conversion if your code is using other units.
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.G4Error.Target">
+<title>
+Targets 
+</title>
+
+<para>
+The user has to define up to where the propagation must be done: the target. 
+The target can be a surface <literal>G4ErrorSurfaceTarget</literal>, which is not part of the GEANT4 geometry. 
+It can also be the surface of a GEANT4 volume  <literal>G4ErrorGeomVolumeTarget</literal>, 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 <literal>G4ErrorTrackLengthTarget</literal>.
+</para>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.G4Error.Target.SurfaceTarget">
+<title>
+Surface target
+</title>
+
+When the user chooses a <literal>G4ErrorSurfaceTarget</literal> 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 <literal>G4ErrorNavigator</literal> 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, <literal>G4ErrorNavigator</literal> inherits from <literal>G4Navigator</literal> and overwrites the methods <literal>ComputeStep()</literal> and <literal>ComputeSafety()</literal>.
+
+Two types of surface are currently supported (more types could be easily implemented at user request): plane and cylindrical.
+
+<!-- ******************* Section (Level#4) ****************** -->
+<sect4 id="sect.G4Error.Target.SurfaceTarget.PlaneSurfaceTarget">
+<title>
+Plane surface target
+</title>
+
+<literal>G4ErrorPlaneSurfaceTarget</literal> implements an infinite plane surface.
+The surface can be given as the four coefficients of the plane equation <literal>ax+by+cz+d = 0</literal>:
+
+<informalexample>
+<programlisting>
+    G4ErrorPlaneSurfaceTarget(G4double a=0, 
+                              G4double b=0,
+                              G4double c=0, 
+                              G4double d=0);
+</programlisting>
+</informalexample>
+
+or as the normal to the plane and a point contained in it:
+
+<informalexample>
+<programlisting>
+    G4ErrorPlaneSurfaceTarget(const G4Normal3D &amp;n,
+                              const G4Point3D &amp;p);
+</programlisting>
+</informalexample>
+
+or as three points contained in it:
+
+<informalexample>
+<programlisting>
+    G4ErrorPlaneSurfaceTarget(const G4Point3D &amp;p1,
+                              const G4Point3D &amp;p2,
+                              const G4Point3D &amp;p3);
+</programlisting>
+</informalexample>
+</sect4>
+
+<!-- ******************* Section (Level#4) ****************** -->
+<sect4 id="sect.G4Error.Target.SurfaceTarget.CylSurfaceTarget">
+<title>
+Cylindrical surface target
+</title>
+
+<literal>G4ErrorCylSurfaceTarget</literal> implements an infinite-length cylindrical surface (a cylinder without end-caps).
+The surface can be given as the radius, the translation and the rotation
+
+<informalexample>
+<programlisting>
+    G4ErrorCylSurfaceTarget( const G4double&amp; radius,
+                             const G4ThreeVector&amp; trans=G4ThreeVector(),
+                             const G4RotationMatrix&amp; rotm=G4RotationMatrix() );
+</programlisting>
+</informalexample>
+
+or as the radius and the affine transformation
+
+<informalexample>
+<programlisting>
+    G4ErrorCylSurfaceTarget( const G4double&amp; radius,
+                             const G4AffineTransform&amp; trans );
+</programlisting>
+</informalexample>
+
+</sect4>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.G4Error.Target.VolumeTarget">
+<title>
+Geometry volume target
+</title>
+
+<para>
+When the user chooses a <literal>G4ErrorGeomVolumeTarget</literal> 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.
+</para>
+
+The object has to be instantiated giving the name of a logical volume existing in the geometry:
+
+<informalexample>
+<programlisting>
+  G4ErrorGeomVolumeTarget( const G4String&amp; name );
+</programlisting>
+</informalexample>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.G4Error.Target.TrkLenTarget">
+<title>
+Track Length target
+</title>
+
+<para>
+When the user chooses a <literal>G4ErrorTrackLengthTarget</literal> as target, the track is propagated until the given track length is reached.
+</para>
+
+The object has to be instantiated giving the value of the track length:
+<informalexample>
+<programlisting>
+  G4ErrorTrackLengthTarget(const G4double maxTrkLength );
+</programlisting>
+</informalexample>
+
+<para>
+It is implemented as a <literal>G4VDiscreteProcess</literal> and it limits the step in <literal>PostStepGetPhysicalInteractionLength</literal>. 
+To ease its use, the process is registered to all particles in the constructor.
+</para>
+
+</sect3>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.G4Error.Propagation">
+<title>
+Managing the track propagation
+</title>
+
+<para>
+The user needs to propagate just one track, so there is no need of run and events. neither of <literal>G4VPrimaryGeneratorAction</literal>.
+
+<literal>G4ErrorPropagator</literal> creates a track from the information given in the <literal>G4ErrorTrajState</literal> and manages the step propagation. 
+The propagation is done by the standard GEANT4 methods, invoking <literal>G4SteppingManager::Stepping() </literal> to propagate each step. 
+</para>
+
+<para>
+After one step is propagated, <literal>G4ErrorPropagator</literal> takes cares of propagating the track errors for this step, what is done by <literal>G4ErrorTrajStateFree::PropagateError()</literal>.
+The equations of error propagation are only implemented in the representation of  <literal>G4ErrorTrajStateFree</literal>. 
+Therefore if the user has provided instead a <literal>G4ErrorTrajStateOnSurface</literal> object, it will be transformed into a <literal>G4ErrorTrajStateFree</literal> at the beginning of tracking, and at the end it is converted back into <literal>G4ErrorTrajStateOnSurface</literal> on the target surface (on the normal plane to the surface at the final point).
+</para>
+
+<para>
+The user <literal>G4VUserTrackingAction::PreUserTrackingAction( const G4Track* )</literal> and  <literal>G4VUserTrackingAction::PreUserTrackingAction( const G4Track* )</literal> are also invoked at the beginning and at the end of the track propagation. 
+</para>
+
+<para>
+<literal>G4ErrorPropagator</literal> stops the tracking when one of the three conditions is true:
+
+<itemizedlist>
+<listitem> Energy is exhausted </listitem>
+<listitem> World boundary is reached </listitem>
+<listitem> User-defined target is reached  </listitem>
+</itemizedlist>
+
+In case the defined target is not reached, <literal>G4ErrorPropagator::Propagate()</literal> returns a negative value.
+</para>
+
+<para>
+The propagation of a trajectory state until a user defined target can be done by invoking the method of <literal>G4ErrorPropagatorManager</literal>
+<informalexample>
+<programlisting>
+  G4int Propagate( G4ErrorTrajState* currentTS, const G4ErrorTarget* target, 
+                   G4ErrorMode mode = G4ErrorMode_PropForwards );
+</programlisting>
+</informalexample>
+</para>
+
+You can get the pointer to the only instance of <literal>G4ErrorPropagatorManager</literal> with
+
+<informalexample>
+<programlisting>
+  G4ErrorPropagatorManager* g4emgr = G4ErrorPropagatorManager::GetErrorPropagatorManager();
+</programlisting>
+</informalexample>
+
+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
+
+<informalexample>
+<programlisting>
+  G4int PropagateOneStep( G4ErrorTrajState* currentTS,
+                          G4ErrorMode mode = G4ErrorMode_PropForwards );
+</programlisting>
+</informalexample>
+
+In this case you should register the target first with the command
+
+<informalexample>
+<programlisting>
+  G4ErrorPropagatorData::GetG4ErrorPropagatorData()->SetTarget( theG4eTarget );
+</programlisting>
+</informalexample>
+ 
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.G4Error.Propagation.ErrorPropagation">
+<title>
+Error propagation
+</title>
+
+As in the GEANT3-based GEANE package, the error propagation is based on the equations of the European Muon Collaboration, that take into account:
+
+<itemizedlist>
+<listitem> Error from curved trajectory in magnetic field </listitem>
+<listitem> Error from multiple scattering </listitem>
+<listitem> Error from ionization </listitem>
+</itemizedlist>
+
+<para>
+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.
+</para>
+
+</sect3>
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.G4Error.StepLimits">
+<title>
+Limiting the step
+</title>
+
+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 :
+
+<informalexample>
+<programlisting>
+G4UImanager::GetUIpointer()->ApplyCommand("/geant4e/limits/stepLength MY_VALUE MY_UNIT");
+</programlisting>
+</informalexample>
+
+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 :
+
+<informalexample>
+<programlisting>
+G4UImanager::GetUIpointer()->ApplyCommand("/geant4e/limits/energyLoss MY_VALUE");
+</programlisting>
+</informalexample>
+
+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 :
+
+<informalexample>
+<programlisting>
+G4UImanager::GetUIpointer()->ApplyCommand("/geant4e/limits/magField MY_VALUE");
+</programlisting>
+</informalexample>
+
+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 <literal>G4ErrorPropagatorManager::InitGeant4e()</literal>.
+
+</sect2>
+</sect1>
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/tracking.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/tracking.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/tracking.xml	(revision 904)
@@ -0,0 +1,686 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Changed by: Katsuya Amako, 30-Nov-1998                -->
+<!--    Changed by: Katsuya Amako, 10-Jul-1998                -->
+<!--    Proof read by: Joe Chuma,  30-Jun-1999                -->
+<!--    Changed by: Takashi SasakI,  15-Nov-2001              -->
+<!--    Changed by: Dennis Wright, 27-Nov-2001                -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--    Changed by: Hisaya Kurashige, 01-Dec-2007             -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.Track">
+<title>
+Tracking
+</title>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Track.Basic">
+<title>
+Basic Concepts
+</title>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Philosophy of Tracking
+</bridgehead>
+
+<para>
+All Geant4 processes, including the transportation of particles,
+are treated generically. In spite of the name "<emphasis>tracking</emphasis>",
+particles are not <emphasis>transported</emphasis> in the tracking category.
+<emphasis>G4TrackingManager</emphasis> 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 <emphasis>G4EventManager</emphasis> class.
+</para>
+
+<para>
+The tracking manager receives a track from the event manager and
+takes the actions required to finish tracking it.
+<emphasis>G4TrackingManager</emphasis> aggregates the pointers to
+<emphasis>G4SteppingManager,</emphasis> <emphasis>G4Trajectory</emphasis> and
+<emphasis>G4UserTrackingAction</emphasis>. Also there is a "use" relation to
+<emphasis>G4Track</emphasis> and <emphasis>G4Step</emphasis>.
+</para>
+
+<para>
+<emphasis>G4SteppingManager</emphasis> 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
+<literal>Stepping()</literal> steers the stepping of the particle. The
+algorithm to handle one step is given below.
+
+<orderedlist spacing="compact">
+  <listitem><para>
+    The particle's velocity at the beginning of the step is
+    calculated.
+  </para></listitem>
+  <listitem><para>
+    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.
+  </para></listitem>
+  <listitem><para>
+    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.
+  </para></listitem>
+  <listitem><para>
+    If the minimum physical-step-length from the processes is
+    longer than "Safety", the distance to the next boundary is
+    re-calculated.
+  </para></listitem>
+  <listitem><para>
+    The smaller of the minimum physical-step-length and the
+    geometric step length is taken.
+  </para></listitem>
+  <listitem><para>
+    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.
+  </para></listitem>
+  <listitem><para>
+    The track is checked to see whether or not it has been
+    terminated by a continuous process.
+  </para></listitem>
+  <listitem><para>
+    The current track properties are updated before discrete
+    processes are invoked. This includes:
+
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        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
+      </para></listitem>
+      <listitem><para>
+        updating position and time.
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    The discrete process is invoked. After the invocation,
+
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        the energy of the current track particle is updated, and
+      </para></listitem>
+      <listitem><para>
+        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.
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    The track is checked to see whether or not it has been
+    terminated by the discrete process.
+  </para></listitem>
+  <listitem><para>
+    "Safety" is updated.
+  </para></listitem>
+  <listitem><para>
+    If the step was limited by the volume boundary, push the
+    particle into the next volume.
+  </para></listitem>
+  <listitem><para>
+    Invoke the user intervention <emphasis>G4UserSteppingAction</emphasis>.
+  </para></listitem>
+  <listitem><para>
+    Handle hit information.
+  </para></listitem>
+  <listitem><para>
+    Save data to Trajectory.
+  </para></listitem>
+  <listitem><para>
+    Update the mean free paths of the discrete processes.
+  </para></listitem>
+  <listitem><para>
+    If the parent particle is still alive, reset the maximum
+    interaction length of the discrete process which has occurred.
+  </para></listitem>
+  <listitem><para>
+    One step completed.
+  </para></listitem>
+</orderedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+What is a Step?
+</bridgehead>
+
+<para>
+<emphasis>G4Step</emphasis> stores the transient information of a step. This
+includes the two endpoints of the step, <literal>PreStepPoint</literal> and
+<literal>PostStepPoint</literal>, which contain the points' coordinates and
+the volumes containing the points. <emphasis>G4Step</emphasis> 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.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+What is a Track?
+</bridgehead>
+
+<para>
+<emphasis>G4Track</emphasis> keeps information on the final status of the
+particle after the completion of one step. This means that
+<emphasis>G4Track</emphasis> has information on the previous step while the
+<literal>AlongStepDoIt</literal>s are being invoked for the step in progress.
+Only after finishing all <literal>AlongStepDoIt</literal>s, will
+<emphasis>G4Track</emphasis> have the final information (e.g., the final
+position) for the step in progress. Also, <emphasis>G4Track</emphasis> will be
+updated after each invocation of a <literal>PostStepDoIt</literal>.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Track.AccInfo">
+<title>
+Access to Track and Step Information
+</title>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+How to Get Track Information
+</bridgehead>
+
+<para>
+Track information may be accessed by invoking various
+<literal>Get</literal> methods provided in the <emphasis>G4Track</emphasis> 
+class. For details, see the 
+<emphasis role="bold">Software Reference Manual</emphasis>. 
+Typical information available includes:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    (x,y,z)
+  </para></listitem>
+  <listitem><para>
+   Global time (time since the event was created)
+  </para></listitem>
+  <listitem><para>
+    Local time (time since the track was created)
+  </para></listitem>
+  <listitem><para>
+    Proper time (time in its rest frame since the track was created )
+  </para></listitem>
+  <listitem><para>
+    Momentum direction ( unit vector )
+  </para></listitem>
+  <listitem><para>
+    Kinetic energy
+  </para></listitem>
+  <listitem><para>
+    Accumulated geometrical track length
+  </para></listitem>
+  <listitem><para>
+    Accumulated true track length
+  </para></listitem>
+  <listitem><para>
+    Pointer to dynamic particle
+  </para></listitem>
+  <listitem><para>
+    Pointer to physical volume
+  </para></listitem>
+  <listitem><para>
+    Track ID number
+  </para></listitem>
+  <listitem><para>
+    Track ID number of the parent
+  </para></listitem>
+  <listitem><para>
+    Current step number
+  </para></listitem>
+  <listitem><para>
+    Track status
+  </para></listitem>
+  <listitem><para>
+    (x,y,z) at the start point (vertex position) of the track
+  </para></listitem>
+  <listitem><para>
+    Momentum direction at the start point (vertex position) of the
+    track
+  </para></listitem>
+  <listitem><para>
+    Kinetic energy at the start point (vertex position) of the track
+  </para></listitem>
+  <listitem><para>
+    Pinter to the process which created the current track
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+How to Get Step Information
+</bridgehead>
+
+<para>
+Step and step-point information can be retrieved by invoking
+various <literal>Get</literal> methods provided in the
+<emphasis>G4Step</emphasis>/<emphasis>G4StepPoint</emphasis> 
+classes. For details, see the
+<emphasis role="bold">Software Reference Manual</emphasis>. 
+</para>
+
+<para>
+Information in <emphasis>G4Step</emphasis>
+includes:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Pointers to <literal>PreStep</literal> and 
+    <literal>PostStepPoint</literal>
+  </para></listitem>
+  <listitem><para>
+    Geometrical step length (step length before the correction of
+    multiple scattering)
+  </para></listitem>
+  <listitem><para>
+    True step length (step length after the correction of multiple
+    scattering)
+  </para></listitem>
+  <listitem><para>
+    Increment of position and time between <literal>PreStepPoint</literal>
+    and <literal>PostStepPoint</literal>
+  </para></listitem>
+  <listitem><para>
+    Increment of momentum and energy between  <literal>PreStepPoint</literal>
+    and <literal>PostStepPoint</literal>. (Note: to get the energy deposited in
+    the step, you cannot use this 'Delta energy'. You have to use
+    'Total energy deposit' as below.)
+  </para></listitem>
+  <listitem><para>
+    Pointer to <literal>G4Track</literal>
+  </para></listitem>
+  <listitem><para>
+    Total energy deposited during the step - this is the sum of
+    <para>
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        the energy deposited by the energy loss process, and
+      </para></listitem>
+      <listitem><para>
+        the energy lost by secondaries which have NOT been generated
+        because each of their energies was below the cut threshold
+      </para></listitem>
+    </itemizedlist>
+    </para>
+  </para></listitem>
+  <listitem><para>
+    Energy deposited not by ionization during the step 
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+Information in <emphasis>G4StepPoint</emphasis> 
+(<literal>PreStepPoint</literal> and <literal>PostStepPoint</literal>) 
+includes:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    (x, y, z, t)
+  </para></listitem>
+  <listitem><para>
+    (px, py, pz, Ek)
+  </para></listitem>
+  <listitem><para>
+    Momentum direction (unit vector)
+  </para></listitem>
+  <listitem><para>
+    Pointers to physical volumes
+  </para></listitem>
+  <listitem><para>
+    Safety
+  </para></listitem>
+  <listitem><para>
+    Beta, gamma
+  </para></listitem>
+  <listitem><para>
+    Polarization
+  </para></listitem>
+  <listitem><para>
+    Step status
+  </para></listitem>
+  <listitem><para>
+    Pointer to the physics process which defined the current step
+    and its <literal>DoIt</literal> type
+  </para></listitem>
+  <listitem><para>
+    Pointer to the physics process which defined the previous step
+    and its <literal>DoIt</literal> type
+  </para></listitem>
+  <listitem><para>
+    Total track length
+  </para></listitem>
+  <listitem><para>
+    Global time (time since the current event began)
+  </para></listitem>
+  <listitem><para>
+    Local time (time since the current track began)
+  </para></listitem>
+  <listitem><para>
+    Proper time
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+How to Get "particle change"
+</bridgehead>
+
+<para>
+Particle change information can be accessed by invoking various
+<literal>Get</literal> methods provided in the 
+<emphasis>G4ParticleChange</emphasis> class.
+Typical information available includes (for details, see the
+<emphasis role="bold">Software Reference Manual</emphasis>):
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    final momentum direction of the parent particle
+  </para></listitem>
+  <listitem><para>
+    final kinetic energy of the parent particle
+  </para></listitem>
+  <listitem><para>
+    final position of the parent particle
+  </para></listitem>
+  <listitem><para>
+    final global time of the parent particle
+  </para></listitem>
+  <listitem><para>
+    final proper time of the parent particle
+  </para></listitem>
+  <listitem><para>
+    final polarization of the parent particle
+  </para></listitem>
+  <listitem><para>
+    status of the parent particle (<emphasis>G4TrackStatus</emphasis>)
+  </para></listitem>
+  <listitem><para>
+    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)
+  </para></listitem>
+  <listitem><para>
+    local energy deposited - this consists of either
+    <para>
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        energy deposited by the energy loss process, or
+      </para></listitem>
+      <listitem><para>
+        the energy lost by secondaries which have NOT been generated
+        because each of their energies was below the cut threshold.
+      </para></listitem>
+    </itemizedlist>
+    </para>
+  </para></listitem>
+  <listitem><para>
+    number of secondaries particles
+  </para></listitem>
+  <listitem><para>
+    list of secondary particles (list of <emphasis>G4Track</emphasis>)
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Track.SecPar">
+<title>
+Handling of Secondary Particles
+</title>
+
+<para>
+Secondary particles are passed as <emphasis>G4Track</emphasis>s from a physics
+process to tracking. <emphasis>G4ParticleChange</emphasis> provides the following
+four methods for a physics process:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <literal>AddSecondary( G4Track* aSecondary )</literal>
+  </para></listitem>
+  <listitem><para>
+    <literal>AddSecondary( G4DynamicParticle* aSecondary )</literal>
+  </para></listitem>
+  <listitem><para>
+    <literal>AddSecondary( G4DynamicParticle* aSecondary, G4ThreeVector
+    position )</literal>
+  </para></listitem>
+  <listitem><para>
+    <literal>AddSecondary( G4DynamicParticle* aSecondary, G4double time)</literal>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+In all but the first, the construction of <emphasis>G4Track</emphasis> is done in
+the methods using informaton given by the arguments.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Track.UserAct">
+<title>
+User Actions
+</title>
+
+<para>
+There are two classes which allow the user to intervene in the
+tracking. These are:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis>G4UserTrackingAction</emphasis>, and
+  </para></listitem>
+  <listitem><para>
+    <emphasis>G4UserSteppingAction</emphasis>.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+Each provides methods which allow the user access to the Geant4
+kernel at specific points in the tracking. For details, see the
+<emphasis role="bold">Software Reference Manual</emphasis>.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Track.Verb">
+<title>
+Verbose Outputs
+</title>
+
+<para>
+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,
+
+<informalexample>
+<programlisting>
+  G4UImanager* UI = G4UImanager::GetUIpointer();
+
+  UI-&gt;ApplyCommand("/tracking/verbose 1");
+</programlisting>
+</informalexample>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Track.Traj">
+<title>
+Trajectory and Trajectory Point
+</title>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+G4Trajectory and G4TrajectoryPoint
+</bridgehead>
+
+<para>
+<emphasis>G4Trajectory</emphasis> and <emphasis>G4TrajectoryPoint</emphasis> 
+are default concrete classes provided by Geant4, which are derived from the
+<emphasis>G4VTrajectory</emphasis> and <emphasis>G4VTrajectoryPoint</emphasis> 
+base classes, respectively. 
+A <emphasis>G4Trajectory</emphasis> class object is created by
+<emphasis>G4TrackingManager</emphasis> when a <emphasis>G4Track</emphasis> 
+is passed from the <emphasis>G4EventManager</emphasis>. 
+<emphasis>G4Trajectory</emphasis> has the following data
+members:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    ID numbers of the track and the track's parent
+  </para></listitem>
+  <listitem><para>
+    particle name, charge, and PDG code
+  </para></listitem>
+  <listitem><para>
+    a collection of <emphasis>G4TrajectoryPoint</emphasis> pointers
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+<emphasis>G4TrajectoryPoint</emphasis> corresponds to a step point along 
+the path followed by the track. Its position is given by a
+<emphasis>G4ThreeVector</emphasis>. A <emphasis>G4TrajectoryPoint</emphasis> 
+class object is created in the <emphasis>AppendStep()</emphasis> method of 
+<emphasis>G4Trajectory</emphasis> and this method is invoked by 
+<emphasis>G4TrackingManager</emphasis> at the end of each step. 
+The first point is created when the <emphasis>G4Trajectory</emphasis> 
+is created, thus the first point is the original vertex.
+</para>
+
+<para>
+The creation of a trajectory can be controlled by invoking
+<emphasis>G4TrackingManager::SetStoreTrajectory(G4bool)</emphasis>. The UI
+command <emphasis>/tracking/storeTrajectory _bool_</emphasis> does the same. The
+user can set this flag for each individual track from his/her
+<emphasis>G4UserTrackingAction::PreUserTrackingAction()</emphasis> method.
+</para>
+
+<note><title></title>
+<para>
+The user should not create trajectories for secondaries in a shower 
+due to the large amount of memory consumed.
+</para>
+</note>
+
+<para>
+All the created trajectories in an event are stored in
+<emphasis>G4TrajectoryContainer</emphasis> class object and this object will be
+kept by <emphasis>G4Event</emphasis>. To draw or print trajectories generated in
+an event, the user may invoke the <emphasis>DrawTrajectory()</emphasis> or
+<emphasis>ShowTrajectory()</emphasis> methods of <emphasis>G4VTrajectory</emphasis>,
+respectively, from his/her
+<emphasis>G4UserEventAction::EndOfEventAction()</emphasis>. The geometry must be
+drawn before the trajectory drawing. The color of the drawn
+trajectory depends on the particle charge:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    negative: red
+  </para></listitem>
+  <listitem><para>
+    neutral: green
+  </para></listitem>
+  <listitem><para>
+    positive: blue
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<note><title></title>
+<para>
+Due to improvements in <emphasis>G4Navigator</emphasis>, 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.
+</para>
+</note>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Customizing trajectory and trajectory point
+</bridgehead>
+
+<para>
+<emphasis>G4Track</emphasis> and <emphasis>G4Step</emphasis> are 
+transient classes; they are not available at the end of the event. 
+Thus, the concrete classes <emphasis>G4VTrajectory</emphasis> and 
+<emphasis>G4VTrajectoryPoint</emphasis> 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. <emphasis>G4Trajectory</emphasis> and 
+<emphasis>G4TrajectoryPoint</emphasis>,
+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.
+</para>
+
+<para>
+To use the customized trajectory, the user must construct a
+concrete trajectory class object in the
+<emphasis>G4UserTrackingAction::PreUserTrackingAction()</emphasis> method and
+make its pointer available to <emphasis>G4TrackingManager</emphasis> by using the
+<emphasis>SetTrajectory()</emphasis> method. The customized trajectory point
+class object must be constructed in the <emphasis>AppendStep()</emphasis> method
+of the user's implementation of the trajectory class. This
+<emphasis>AppendStep()</emphasis> method will be invoked by
+<emphasis>G4TrackingManager</emphasis>.
+</para>
+
+<para>
+To customize trajectory drawing, the user can override the
+<emphasis>DrawTrajectory()</emphasis> method in his/her own trajectory class.
+</para>
+
+<para>
+When a customized version of G4Trajectory declares any new class
+variables, <emphasis>operator new</emphasis> and 
+<emphasis>operator delete</emphasis> must be
+provided. It is also useful to check that the allocation size in
+<emphasis>operator new</emphasis> is equal to 
+<emphasis>sizeof(G4Trajectory)</emphasis>. These two points do not 
+apply to <emphasis>G4VTrajectory</emphasis> because it has no
+<emphasis>operator new</emphasis> or <emphasis>operator delete</emphasis>.
+</para>
+
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/userLimits.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/userLimits.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/TrackingAndPhysics/userLimits.xml	(revision 904)
@@ -0,0 +1,147 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Created by: Makoto Asai,          30-Mar-2006         -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.Ulim">
+<title>
+User Limits
+</title>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Ulim.Gene">
+<title>
+General Concepts
+</title>
+
+<para>
+The user can define artificial limits affecting to the Geant4
+tracking.
+
+<informalexample>
+<programlisting>
+G4UserLimits(G4double uStepMax = DBL_MAX,
+             G4double uTrakMax = DBL_MAX,
+             G4double uTimeMax = DBL_MAX,
+             G4double uEkinMin = 0.,
+             G4double uRangMin = 0. );
+</programlisting>
+</informalexample>
+
+<informaltable>
+<tgroup cols="2">
+  <tbody>
+  <row>
+    <entry>
+      <literal>uStepMax</literal>
+    </entry>
+    <entry>
+      Maximum step length
+    </entry>
+  </row>
+  <row>
+    <entry>
+      <literal>uTrakMax</literal>
+    </entry>
+    <entry>
+      Maximum total track length
+    </entry>
+  </row>
+  <row>
+    <entry>
+      <literal>uTimeMax</literal>
+    </entry>
+    <entry>
+      Maximum global time for a track
+    </entry>
+  </row>
+  <row>
+    <entry>
+      <literal>uEkinMin</literal>
+    </entry>
+    <entry>
+      Minimum remaining kinetic energy for a track
+    </entry>
+  </row>
+  <row>
+    <entry>
+      <literal>uRangMin</literal>
+    </entry>
+    <entry>
+      Minimum remaining range for a track
+    </entry>
+  </row>
+  </tbody>
+</tgroup>
+</informaltable>
+
+Note that <literal>uStepMax</literal> is affecting to each step, while all
+other limits are affecting to a track.
+</para>
+
+<para>
+The user can set <literal>G4UserLimits</literal> 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.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.Ulim.Proc">
+<title>
+Processes co-working with G4UserLimits
+</title>
+
+<para>
+In addition to instantiating <literal>G4UserLimits</literal> 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 <literal>G4UserLimits</literal>.
+
+<variablelist>
+  <varlistentry>
+    <term>
+      Limitation to step (<literal>uStepMax</literal>)
+    </term>
+    <listitem><para>
+      <literal>G4StepLimiter</literal> process must be defined to affected
+      particle types. This process limits a step, but it does not kill a
+      track.
+    </para></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      Limitations to track (<literal>uTrakMax, uTimeMax, uEkinMin,
+      uRangMin</literal>)
+    </term>
+    <listitem><para>
+      <literal>G4UserSpecialCuts</literal> 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.
+    </para></listitem>
+  </varlistentry>
+</variablelist>
+</para>
+
+<para>
+Example of <literal>G4UserLimits</literal> can be found in
+examples/novice/N02 : see <literal>DetectorConstruction</literal> and
+<literal>PhysicsList</literal>.
+</para>
+
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/UserActions/ChapUserActions.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/UserActions/ChapUserActions.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/UserActions/ChapUserActions.xml	(revision 904)
@@ -0,0 +1,26 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  This is the top file for the present chapter. It        -->
+<!--  includes all section files which belong to the chapter. -->
+<!--  Entities names used below are defined in                -->
+<!--  ChapXXEntityDef.dtd in the current directory.           -->
+<!--                                                          -->
+<!--  [Note]                                                  -->
+<!--    Created by Katsuya Amako, Aug-2006                    -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************** Top of Chapter ******************** -->
+<chapter id="chap.UserActions">
+<title>
+User Actions
+</title>
+
+<!-- *************** Inclusion of Sections ****************** -->
+&mandatoryActions;
+&optionalActions;
+&userInformationClasses;
+
+</chapter>
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/UserActions/ChapUserActionsEntityDef.dtd
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/UserActions/ChapUserActionsEntityDef.dtd	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/UserActions/ChapUserActionsEntityDef.dtd	(revision 904)
@@ -0,0 +1,8 @@
+<!-- In below you need to define entities of all xml files you want to -->
+<!-- include from the current directory into the G4 DocBook manual.    -->
+
+<!ENTITY chapUserActions        SYSTEM "./ChapUserActions.xml">
+
+<!ENTITY mandatoryActions       SYSTEM "./mandatoryActions.xml">
+<!ENTITY optionalActions        SYSTEM "./optionalActions.xml">
+<!ENTITY userInformationClasses SYSTEM "./userInformationClasses.xml">
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/UserActions/mandatoryActions.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/UserActions/mandatoryActions.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/UserActions/mandatoryActions.xml	(revision 904)
@@ -0,0 +1,303 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Changed by: Katsuya Amako,  9-Jul-1998                -->
+<!--    Changed by: Katsuya Amako,  4-Aug-1998                -->
+<!--    Changed by: John Allison,   4-Aug-1998                -->
+<!--    Changed by: Katsuya Amako, 30-Nov-1998                -->
+<!--    Changed by: Dennis Wright, 29-Nov-2001                -->
+<!--    Changed by: Makoto Asai,   22-Apr-2003                -->
+<!--    Proof read by: Joe Chuma,   2-Jul-1999                -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.ManUAct">
+<title>
+Mandatory User Actions and Initializations
+</title>
+
+<para>
+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.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+<literal>G4VUserDetectorConstruction</literal>
+</bridgehead>
+
+<para>
+<example id="programlist_ManUAct_1">
+<title>
+<literal>G4VUserDetectorConstruction</literal>
+</title>
+
+<programlisting>
+     class G4VUserDetectorConstruction
+     {
+       public:
+         G4VUserDetectorConstruction();
+         virtual ~G4VUserDetectorConstruction();
+
+       public:
+         virtual G4VPhysicalVolume* Construct() = 0;
+     };
+</programlisting>
+</example>
+</para>
+
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+<literal>G4VUserPhysicsList</literal>
+</bridgehead>
+
+<para>
+This is an abstract class for constructing particles and
+processes. The user must derive a concrete class from it and
+implement three virtual methods:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <literal>ConstructParticle()</literal> to instantiate each requested
+    particle type,
+  </para></listitem>
+  <listitem><para>
+    <literal>ConstructPhysics()</literal> to instantiate the desired physics
+    processes and register each of them with the process managers of
+    the appropriate particles, and
+  </para></listitem>
+  <listitem><para>
+    <literal>SetCuts(G4double aValue)</literal> to set a cut value in range
+    for all particles in the particle table, which invokes the
+    rebuilding of the physics table.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+When called, the <literal>Construct()</literal> method of
+<emphasis>G4VUserPhysicsList</emphasis> first invokes
+<literal>ConstructParticle()</literal> and then <literal>ConstructProcess()</literal>.
+The <literal>ConstructProcess()</literal> method must always invoke the
+<literal>AddTransportation()</literal> method in order to insure particle
+transportation. <literal>AddTransportation()</literal> must never be
+overridden.
+</para>
+
+<para>
+<emphasis>G4VUserPhysicsList</emphasis> provides several utility methods for
+the implementation of the above virtual methods. They are presented
+with comments in the class declaration in <xref linkend="programlist_ManUAct_2"
+/>.
+
+<example id="programlist_ManUAct_2">
+<title>
+<literal>G4VUserPhysicsList</literal>
+</title>
+
+<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;
+</programlisting>
+</example>
+<informalexample>
+<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
+</programlisting>
+</informalexample>
+<informalexample>
+<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 );
+
+};
+</programlisting>
+</informalexample>
+</para>
+
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+<literal>G4VUserPrimaryGeneratorAction</literal>
+</bridgehead>
+
+<para>
+<example id="programlist_ManUAct_3">
+<title>
+<literal>G4VUserPrimaryGeneratorAction</literal>
+</title>
+
+<programlisting>
+     class G4VUserPrimaryGeneratorAction
+     {
+       public:
+         G4VUserPrimaryGeneratorAction();
+         virtual ~G4VUserPrimaryGeneratorAction();
+     
+       public:
+         virtual void GeneratePrimaries(G4Event* anEvent) = 0;
+     };
+</programlisting>
+</example>
+</para>
+
+
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/UserActions/optionalActions.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/UserActions/optionalActions.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/UserActions/optionalActions.xml	(revision 904)
@@ -0,0 +1,404 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Changed by: Katsuya Amako,  9-Jul-1998                -->
+<!--    Changed by: Katsuya Amako,  4-Aug-1998                -->
+<!--    Changed by: John Allison,   4-Aug-1998                -->
+<!--    Changed by: Katsuya Amako, 30-Nov-1998                -->
+<!--    Changed by: Dennis Wright, 27-Nov-2001                -->
+<!--    Proof read by: Joe Chuma,   2-Jul-1999                -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.OptUAct">
+<title>
+Optional User Actions
+</title>
+
+<para>
+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
+<literal>G4RunManager</literal>.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+<literal>G4UserRunAction</literal>
+</bridgehead>
+
+<para>
+This class has three virtual methods which are invoked by
+<literal>G4RunManager</literal> for each run:
+
+<variablelist><title></title>
+  <varlistentry>
+    <term>
+      <literal>GenerateRun()</literal>
+    </term>
+    <listitem><para>
+      This method is invoked at the beginning of <literal>BeamOn</literal>.
+      Because the user can inherit the class <literal>G4Run</literal> and create
+      his/her own concrete class to store some information about the run,
+      the <literal>GenerateRun()</literal> 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 <literal>GenerateRun()</literal> is invoked before the
+      calculation of the physics table.
+    </para></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      <literal>BeginOfRunAction()</literal>
+    </term>
+    <listitem><para>
+      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.
+    </para></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      <literal>EndOfRunAction()</literal>
+    </term>
+    <listitem><para>
+      This method is invoked at the very end of the run processing.
+      It is typically used for a simple analysis of the processed run.
+    </para></listitem>
+  </varlistentry>
+</variablelist>
+</para>
+
+<para>
+<example id="programlist_OptUAct_1">
+<title>
+<literal>G4UserRunAction</literal>
+</title>
+<programlisting>
+     class G4UserRunAction
+     {
+       public:
+         G4UserRunAction();
+         virtual ~G4UserRunAction();
+
+       public:
+         virtual G4Run* GenerateRun();
+         virtual void BeginOfRunAction(const G4Run*);
+         virtual void EndOfRunAction(const G4Run*);
+     };
+</programlisting>
+</example>
+</para>
+
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+<literal>G4UserEventAction</literal>
+</bridgehead>
+
+<para>
+This class has two virtual methods which are invoked by
+<literal>G4EventManager</literal> for each event:
+
+<variablelist><title></title>
+  <varlistentry>
+    <term>
+      <literal>beginOfEventAction()</literal>
+    </term>
+    <listitem><para>
+      This method is invoked before converting the primary particles
+      to <literal>G4Track</literal> objects. A typical use of this method 
+      would be to initialize and/or book histograms for a particular event.
+    </para></listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
+      <literal>endOfEventAction()</literal>
+    </term>
+    <listitem><para>
+      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
+      <literal>fpEventManager->KeepTheCurrentEvent();</literal>
+      so that it is kept in <emphasis>G4Run</emphasis> 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.
+    </para></listitem>
+  </varlistentry>
+</variablelist>
+</para>
+
+<para>
+<example id="programlist_OptUAct_2">
+<title>
+<literal>G4UserEventAction</literal>
+</title>
+
+<programlisting>
+     class G4UserEventAction 
+     {
+       public:
+           G4UserEventAction() {;}
+           virtual ~G4UserEventAction() {;}
+           virtual void BeginOfEventAction(const G4Event*);
+           virtual void EndOfEventAction(const G4Event*);
+       protected:
+           G4EventManager* fpEventManager;
+     };
+</programlisting>
+</example>
+</para>
+ 
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+<literal>G4UserStackingAction</literal>
+</bridgehead>
+
+<para>
+This class has three virtual methods, <literal>ClassifyNewTrack</literal>,
+<literal>NewStage</literal> and <literal>PrepareNewEvent</literal> 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.
+</para>
+
+<para>
+<literal>ClassifyNewTrack()</literal> is invoked by 
+<literal>G4StackManager</literal> whenever a new <literal>G4Track</literal> 
+object is "pushed" onto a stack by <literal>G4EventManager</literal>.
+<literal>ClassifyNewTrack()</literal> returns an enumerator,
+<literal>G4ClassificationOfNewTrack</literal>, whose value indicates to which
+stack, if any, the track will be sent. This value should be
+determined by the user. <literal>G4ClassificationOfNewTrack</literal> has
+four possible values:
+
+<itemizedlist spacing="compact">      
+  <listitem><para>
+    <literal>fUrgent</literal> - track is placed in the 
+    <emphasis>urgent</emphasis> stack
+  </para></listitem>
+  <listitem><para>
+    <literal>fWaiting</literal> - track is placed in the 
+    <emphasis>waiting</emphasis> stack, and will not be simulated until
+    the <emphasis>urgent</emphasis> stack is empty
+  </para></listitem>
+  <listitem><para>
+    <literal>fPostpone</literal> - track is postponed to the next event
+  </para></listitem>
+  <listitem><para>
+    <literal>fKill</literal> - the track is deleted immediately and not
+    stored in any stack.
+  </para></listitem>
+</itemizedlist>      
+</para>
+
+<para>
+These assignments may be made based on the origin of the track
+which is obtained as follows:
+
+<informalexample>
+<programlisting>
+  G4int parent_ID = aTrack-&gt;get_parentID();
+</programlisting>
+</informalexample>
+
+where
+
+<itemizedlist spacing="compact">      
+  <listitem><para>
+    <literal>parent_ID = 0</literal> indicates a primary particle
+  </para></listitem>
+  <listitem><para>
+    <literal>parent_ID &gt; 0</literal> indicates a secondary particle
+  </para></listitem>
+  <listitem><para>
+    <literal>parent_ID &lt; 0</literal> indicates postponed particle from
+    previous event.
+  </para></listitem>
+</itemizedlist>      
+</para>
+
+<para>
+<literal>NewStage()</literal> is invoked when the <emphasis>urgent</emphasis> 
+stack is empty and the <emphasis>waiting</emphasis> stack contains at least one
+<literal>G4Track</literal> object. Here the user may kill or re-assign to
+different stacks all the tracks in the <emphasis>waiting</emphasis> stack by
+calling the <literal>stackManager-&gt;ReClassify()</literal> method which, in
+turn, calls the <literal>ClassifyNewTrack()</literal> method. If no user
+action is taken, all tracks in the <emphasis>waiting</emphasis> stack are
+transferred to the <emphasis>urgent</emphasis> stack. The user may also decide to
+abort the current event even though some tracks may remain in the
+<emphasis>waiting</emphasis> stack by calling <literal>stackManager-&gt;clear()</literal>.
+This method is valid and safe only if it is called from the
+<literal>G4UserStackingAction</literal> class. A global method of event
+abortion is
+
+<informalexample>
+<programlisting>
+  G4UImanager * UImanager = G4UImanager::GetUIpointer();
+  UImanager-&gt;ApplyCommand("/event/abort");
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+<literal>PrepareNewEvent()</literal> is invoked at the beginning of each
+event. At this point no primary particles have been converted to
+tracks, so the <emphasis>urgent</emphasis> and <emphasis>waiting</emphasis> 
+stacks are empty. However, there may be tracks in the 
+<emphasis>postponed-to-next-event</emphasis> stack; 
+for each of these the <literal>ClassifyNewTrack()</literal> method is
+called and the track is assigned to the appropriate stack.
+
+<example id="programlist_OptUAct_3">
+<title>
+<literal>G4UserStackingAction</literal>
+</title>
+
+<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();
+     //
+     //---------------------------------------------------------------
+
+     };
+</programlisting>
+</example>
+</para>
+
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+<literal>G4UserTrackingAction</literal>
+</bridgehead>
+
+<para>
+<example id="programlist_OptUAct_4">
+<title>
+<literal>G4UserTrackingAction</literal>
+</title>
+
+<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;
+     
+     };
+</programlisting>
+</example>
+</para>
+
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+<literal>G4UserSteppingAction</literal>
+</bridgehead>
+
+<para>
+<example id="programlist_OptUAct_5">
+<title>
+<literal>G4UserSteppingAction</literal>
+</title>
+
+<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;
+     
+     };
+</programlisting>
+</example>
+</para>
+
+
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/UserActions/userInformationClasses.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/UserActions/userInformationClasses.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/UserActions/userInformationClasses.xml	(revision 904)
@@ -0,0 +1,242 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Created by: Makoto Asai, 27-Nov-2004                  -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.UInfoCls">
+<title>
+User Information Classes
+</title>
+
+<para>
+Additional user information can be associated with various Geant4
+classes. There are basically two ways for the user to do this:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    derive concrete classes from base classes used in Geant4. These
+    are classes for run, hit, digit, trajectory and trajectory point,
+    which are discussed in 
+    <xref linkend="sect.OptUAct" /> for G4Run, 
+    <xref linkend="sect.Hits" /> for G4VHit,
+    <xref linkend="sect.Digi" /> for G4VDigit, and
+    <xref linkend="sect.Track.Traj" /> for G4VTrajectory and G4VTrajectoryPoint
+  </para></listitem>
+  <listitem><para>
+    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.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.UInfoCls.UEvtInfo">
+<title>
+G4VUserEventInformation
+</title>
+
+<para>
+<emphasis>G4VUserEventInformation</emphasis> 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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+The concrete class object is deleted by the Geant4 kernel when
+the associated G4Event object is deleted.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.UInfoCls.UTkInfo">
+<title>
+G4VUserTrackInformation
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+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".
+</para>
+
+<para>
+The ideal place to copy a G4VUserTrackInformation object from a
+mother track to its daughter tracks is
+<emphasis>G4UserTrackingAction::PostUserTrackingAction()</emphasis>.
+
+<example id="programlist_UInfoCls_1">
+<title>
+Copying <literal>G4VUserTrackInformation</literal> from mother to daughter tracks
+</title>
+
+<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);
+      }
+    }
+  }
+}
+</programlisting>
+</example>
+</para>
+
+<para>
+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.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.UInfoCls.UPrimVxTk">
+<title>
+G4VUserPrimaryVertexInformation and G4VUserPrimaryTrackInformation
+</title>
+
+<para>
+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 <emphasis>G4PrimaryVertex</emphasis> and 
+<emphasis>G4PrimaryParticle</emphasis> class objects, respectively.
+</para>
+
+<para>
+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.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.UInfoCls.URegInfo">
+<title>
+G4VUserRegionInformation
+</title>
+
+<para>
+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.
+
+<example id="programlist_UInfoCls_2">
+<title>
+A sample region information class
+</title>
+
+<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;}
+};
+</programlisting>
+</example>
+</para>
+
+<para>
+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".
+
+<example id="programlist_UInfoCls_3">
+<title>
+Sample use of a region information class
+</title>
+
+<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); }
+}
+</programlisting>
+</example>
+</para>
+
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/ChapVisualization.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/ChapVisualization.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/ChapVisualization.xml	(revision 904)
@@ -0,0 +1,34 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  This is the top file for the present chapter. It        -->
+<!--  includes all section files which belong to the chapter. -->
+<!--  Entities names used below are defined in                -->
+<!--  ChapXXEntityDef.dtd in the current directory.           -->
+<!--                                                          -->
+<!--  [Note]                                                  -->
+<!--    Created by Katsuya Amako, Aug-2006                    -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************** Top of Chapter ******************** -->
+<chapter id="chap.Visualization">
+<title>
+Visualization
+</title>
+
+<!-- *************** Inclusion of Sections ****************** -->
+&visintroduction;
+&visexecutable;
+&visdrivers;
+&viscommandcontrol;
+&viscompiledcontrol;
+&visattributes;
+&visenhanceddrawing;
+&visfiltering;
+&vismarkertext;
+&vismakingamovie;
+
+
+</chapter>
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/ChapVisualizationEntityDef.dtd
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/ChapVisualizationEntityDef.dtd	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/ChapVisualizationEntityDef.dtd	(revision 904)
@@ -0,0 +1,15 @@
+<!-- In below you need to define entities of all xml files you want to -->
+<!-- include from the current directory into the G4 DocBook manual.    -->
+
+<!ENTITY chapVisualization      SYSTEM "./ChapVisualization.xml">
+
+<!ENTITY visintroduction        SYSTEM "./introduction.xml">
+<!ENTITY visexecutable          SYSTEM "./visexecutable.xml">
+<!ENTITY visdrivers             SYSTEM "./visdrivers.xml">
+<!ENTITY viscommandcontrol      SYSTEM "./commandcontrol.xml">
+<!ENTITY viscompiledcontrol     SYSTEM "./compiledcontrol.xml">
+<!ENTITY visattributes          SYSTEM "./attributes.xml">
+<!ENTITY visenhanceddrawing     SYSTEM "./enhanceddrawing.xml">
+<!ENTITY visfiltering           SYSTEM "./filtering.xml">
+<!ENTITY vismarkertext          SYSTEM "./markertext.xml">
+<!ENTITY vismakingamovie        SYSTEM "./makingamovie.xml">
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/attributes.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/attributes.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/attributes.xml	(revision 904)
@@ -0,0 +1,670 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Proof read by: Joe Chuma,  5-Jul-1999                 -->
+<!--    Changed by: Katsuya Dosanjh, 15-Jul-2000              -->
+<!--    Changed by: Dennis Wright, 27-Nov-2001                -->
+<!--    Changed by: Satoshi Tanaka,  8-Dec-2002               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.VisAtt">
+<title>
+Visualization Attributes
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+A set of visualization attributes is held by an instance of
+class <emphasis>G4VisAttributes</emphasis> defined in the 
+<literal>graphics_reps</literal> category. In the following, we 
+explain the main fields of the <emphasis>G4VisAttributes</emphasis> 
+one by one.
+</para>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisAtt.Vsblty">
+<title>
+Visibility
+</title> 
+
+<para>
+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:
+
+<informalexample>
+<programlisting>
+     void G4VisAttributes::SetVisibility (G4bool visibility);
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+If you give <literal>false</literal> 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 <literal>true</literal>.
+</para>
+
+<para>
+Note that whether an object is visible or not is also affected
+by the current culling policy, which can be tuned with
+visualization commands.
+</para>
+
+<para>
+By default the following public static function is defined:
+
+<informalexample>
+<programlisting>
+     static const G4VisAttributes&amp; GetInvisible();
+</programlisting>
+</informalexample>
+
+which returns a reference to a const object in which visibility is
+set to <literal>false</literal>. It can be used as follows:
+
+<informalexample>
+<programlisting>
+     experimentalHall_logical -&gt; SetVisAttributes (G4VisAttributes::GetInvisible());
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Direct access to the public static const data member
+<literal>G4VisAttributes::Invisible</literal> is also possible but deprecated
+on account of initialisation issues with dynamic libraries.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisAtt.Colr">
+<title>
+Colour
+</title>
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.VisAtt.Colr.Cnstr">
+<title>
+Construction
+</title>
+
+<para>
+Class <emphasis>G4Colour</emphasis> (an equivalent class name, 
+<emphasis>G4Color</emphasis>, 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 <literal>1</literal>,
+which means "opaque" in instantiation of <emphasis>G4Colour</emphasis>.
+</para>
+
+<para>
+A <emphasis>G4Colour</emphasis> object is instantiated by giving red, green,
+and blue components to its constructor, i.e.,
+
+<informalexample>
+<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 
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+The default value of each component is 1.0. That is to say, the
+default colour is "white" (opaque).
+</para>
+
+<para>
+For example, colours which are often used can be instantiated as
+follows:
+
+<informalexample>
+<programlisting>
+     G4Colour  white   ()              ;  // <emphasis role="color_white">white</emphasis>
+     G4Colour  white   (1.0, 1.0, 1.0) ;  // <emphasis role="color_white">white</emphasis>
+     G4Colour  gray    (0.5, 0.5, 0.5) ;  // <emphasis role="color_gray">gray</emphasis>
+     G4Colour  black   (0.0, 0.0, 0.0) ;  // <emphasis role="color_black">black</emphasis>
+     G4Colour  red     (1.0, 0.0, 0.0) ;  // <emphasis role="color_red">red</emphasis>
+     G4Colour  green   (0.0, 1.0, 0.0) ;  // <emphasis role="color_green">green</emphasis>
+     G4Colour  blue    (0.0, 0.0, 1.0) ;  // <emphasis role="color_blue">blue</emphasis>
+     G4Colour  cyan    (0.0, 1.0, 1.0) ;  // <emphasis role="color_cyan">cyan</emphasis>
+     G4Colour  magenta (1.0, 0.0, 1.0) ;  // <emphasis role="color_magenta">magenta</emphasis>
+     G4Colour  yellow  (1.0, 1.0, 0.0) ;  // <emphasis role="color_yellow">yellow</emphasis>
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+It is also possible to instantiate common colours through static
+public data member functions:
+
+<informalexample>
+<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  (); 
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+For example, a local <emphasis>G4Colour</emphasis> could be constructed
+as:
+
+<informalexample>
+<programlisting>
+     G4Colour myRed(G4Colour::Red());
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+After instantiation of a <emphasis>G4Colour</emphasis> object, you can access
+to its components with the following access functions:
+
+<informalexample>
+<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.
+</programlisting>
+</informalexample>
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.VisAtt.Colr.ColrMap">
+<title>
+Colour Map
+</title>
+
+<para>
+<emphasis>G4Colour</emphasis> also provides a static colour map, giving access to
+predefined <emphasis>G4Colour</emphasis>'s through a
+<emphasis>G4String</emphasis> 
+key. The default mapping is:
+</para><para>
+
+<informalexample>
+<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  ()
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Colours can be retrieved through the GetColour method:
+
+<informalexample>
+<programlisting>
+     bool G4Colour::GetColour(const G4String&amp; key, G4Colour&amp; result)
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+For example:
+
+<informalexample>
+<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
+    }
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+It is also possible to load user defined <emphasis>G4Colour</emphasis>'s into
+the map through the public AddToMap method. For example:
+
+<informalexample>
+<programlisting>
+    G4Colour myColour(0.2, 0.2, 0.2, 1);
+    G4Colour::AddToMap("custom", myColour);
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+This loads a user defined <emphasis>G4Colour</emphasis> with key "custom" into
+the colour map.
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.VisAtt.Colr.G4VisAtt">
+<title>
+Colour and G4VisAttributes
+</title>
+
+<para>
+Class <emphasis>G4VisAttributes</emphasis> holds its colour entry as an object of
+class <emphasis>G4Colour</emphasis>. A <emphasis>G4Colour</emphasis> object is 
+passed to a <emphasis>G4VisAttributes</emphasis> object with the following
+access 
+functions:
+
+<informalexample>
+<programlisting>
+     //----- Set functions of G4VisAttributes.
+     void G4VisAttributes::SetColour (const G4Colour&amp; colour);
+     void G4VisAttributes::SetColor (const G4Color&amp; color );
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+We can also set RGBA components directly:
+
+<informalexample>
+<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.);
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+The following constructor with <emphasis>G4Colour</emphasis> as its argument is
+also supported:
+
+<informalexample>
+<programlisting>
+     //----- Constructor of G4VisAttributes
+     G4VisAttributes::G4VisAttributes (const G4Colour&amp; colour);
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Note that colour assigned to a <emphasis>G4VisAttributes</emphasis> 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.
+</para>
+
+</sect3>
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisAtt.FrcAtt">
+<title>
+Forcing attributes
+</title> 
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+Forced wireframe style is set with the following access
+function:
+
+<informalexample>
+<programlisting>
+     void G4VisAttributes::SetForceWireframe (G4bool force);
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+If you give <literal>true</literal> 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
+<literal>false</literal>.
+</para>
+
+<para>
+Similarly, forced solid style, i.e., to force that objects are
+always visualized with surfaces, is set with:
+
+<informalexample>
+<programlisting>
+     void G4VisAttributes::SetForceSolid (G4bool force);
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+The default value of the forced solid style is <literal>false</literal>, too.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+To force auxiliary edges to be visible, use:
+
+<informalexample>
+<programlisting>
+     void G4VisAttributes::SetForceAuxEdgeVisible (G4bool force);
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+The default value of the force auxiliary edges visible flag is
+<literal>false</literal>.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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:
+
+<informalexample>
+<programlisting>
+     void G4VisAttributes::SetForceLineSegmentsPerCircle (G4int nSegments);
+</programlisting>
+</informalexample>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisAtt.CnstAtt">
+<title>
+Constructors of G4VisAttributes
+</title>
+
+<para>
+The following constructors are supported for class
+<emphasis>G4VisAttributes</emphasis>:
+
+<informalexample>
+<programlisting>
+     //----- Constructors of class G4VisAttributes
+     G4VisAttributes (void);
+     G4VisAttributes (G4bool visibility);
+     G4VisAttributes (const G4Colour&amp; colour);
+     G4VisAttributes (G4bool visibility, const G4Colour&amp; colour);
+</programlisting>
+</informalexample>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisAtt.AssgLgVol">
+<title>
+How to assign G4VisAttributes to a logical volume
+</title>
+
+<para>
+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
+<emphasis>G4Box</emphasis> 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.
+</para>
+
+<para>
+Class <emphasis>G4LogicalVolume</emphasis> holds a pointer of
+<emphasis>G4VisAttributes.</emphasis> This field is set and referenced with the
+following access functions:
+
+<informalexample>
+<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;
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+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:
+
+<informalexample>
+<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
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+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).
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisAtt.AddUdefAtt">
+<title>
+Additional User-Defined Attributes
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+Define the attributes with lines such as:
+
+<informalexample>
+<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");
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Then fill the attributes with lines such as:
+
+<informalexample>
+<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,""));
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+See geant4/source/tracking/src/G4Trajectory.cc for a good example.
+</para>
+
+<para>
+<emphasis>G4AttValue</emphasis> objects are light, containing just the value;
+for the long description and other sharable information the
+<emphasis>G4AttValue</emphasis> object refers to a <emphasis>G4AttDef</emphasis> 
+object. They are based on the HepRep standard described at 
+<ulink url="http://www.slac.stanford.edu/~perl/heprep/">
+http://www.slac.stanford.edu/~perl/heprep/
+</ulink>.
+Geant4 also provides an <emphasis>G4AttDefStore</emphasis>.
+</para>
+
+<para>
+Geant4 provides some default examples of the use of this
+facility in the trajectory classes in /source/tracking such as
+<emphasis>G4Trajectory</emphasis>, <emphasis>G4SmoothTrajectory</emphasis>.
+<emphasis>G4Trajectory::CreateAttValues</emphasis> shows how 
+<emphasis>G4AttValue</emphasis> objects can be made and 
+<emphasis>G4Trajectory::GetAttDefs</emphasis> shows how
+to make the corresponding <emphasis>G4AttDef</emphasis> objects and use the
+<emphasis>G4AttDefStore</emphasis>. Note that the "user" of CreateAttValues
+guarantees to destroy them; this is a way of allowing creation on
+demand and leaving the <emphasis>G4Trajectory</emphasis> object, for example,
+free of such objects in memory. The comments in
+<emphasis>G4VTrajectory.hh</emphasis> explain further and additional insights
+might be obtained by looking at two methods which use them, namely
+<emphasis>G4VTrajectory::DrawTrajectory</emphasis> and
+<emphasis>G4VTrajectory::ShowTrajectory</emphasis>.
+</para>
+
+<para>
+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
+<emphasis>G4VHit.hh</emphasis> explain further.
+</para>
+
+<para>
+In addition, the user is free to add a
+<emphasis>G4std::vector&lt;G4AttValue&gt;*</emphasis> and a
+<emphasis>G4std::vector&lt;G4AttDef&gt;*</emphasis> to a 
+<emphasis>G4VisAttributes</emphasis> object as could, for example, 
+be used by a <emphasis>G4LogicalVolume</emphasis> object.
+</para>
+
+<para>
+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.
+</para>
+
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/commandcontrol.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/commandcontrol.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/commandcontrol.xml	(revision 904)
@@ -0,0 +1,1238 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.VisCntCmmd">
+<title>
+Controlling Visualization from Commands
+</title>
+
+<para>
+This section describes just a few of the more commonly used
+visualization commands. For the complete list of commands and
+options, see the 
+<ulink url="./AllResources/Control/UIcommands/_vis_.html">
+Control...UICommands</ulink> section of this user guide.
+</para>
+
+<para>
+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 <xref linkend="sect.VisAddExe" />.
+</para>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisCntCmmd.ScnHndVw">
+<title>
+Scene, scene handler, and viewer
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+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:
+
+<itemizedlist spacing="compact">
+   <listitem><para>
+     Step 1. Create a scene handler and a viewer.
+   </para></listitem>
+   <listitem><para>
+     Step 2. Create an empty scene.
+   </para></listitem>
+   <listitem><para>
+     Step 3. Add raw 3D data to the created scene.
+   </para></listitem>
+   <listitem><para>
+     Step 4. Attach the current scene handler to the current scene.
+   </para></listitem>
+   <listitem><para>
+     Step 5. Set camera parameters, drawing style (wireframe/surface), etc.
+   </para></listitem>
+   <listitem><para>
+     Step 6. Make the viewer execute visualization.
+   </para></listitem>
+   <listitem><para>
+     Step 7. Declare the end of visualization for flushing.
+   </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+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.
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisCntCmmd.CrtScnVw">
+<title>
+Create a scene handler and a viewer: <literal>/vis/open</literal> command
+</title>
+
+<para>
+Command "<literal>/vis/open</literal>" creates a scene handler and a viewer,
+which corresponds to Step 1.
+</para>
+
+<para>
+<emphasis role="bold">Command: </emphasis>
+<literal>/vis/open [driver_tag_name]</literal>
+</para>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis role="bold">Argument</emphasis>
+    <para>
+    A name of (a mode of) an available visualization driver.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">Action</emphasis>
+    <para>
+    Create a visualization driver, i.e. a set of a scene hander and a
+    viewer.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">Example: Create the OpenGL-Xlib driver with its 
+    immediate mode</emphasis>
+    <para>
+    <literal>Idle&gt; /vis/open OGLIX</literal>
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">Additional notes</emphasis>
+    <para>
+    For immediate viewers, such as OGLIX, your geometry will
+    immediately be rendered in the new GL window
+    </para>    
+  </para></listitem>
+</itemizedlist>
+
+<para>
+How to list available driver_tag_name:
+
+<programlisting>
+Idle&gt; help /vis/open
+</programlisting>
+
+or
+
+<informalexample>
+<programlisting>
+Idle&gt; help /vis/sceneHandler/create
+</programlisting>
+</informalexample>
+
+The list is, for example, displayed as follows:
+
+<informalexample>
+<programlisting>
+.....
+Candidates : DAWNFILE OGLIX OGLSX
+.....
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+For additional options, see the 
+<ulink url="./AllResources/Control/UIcommands/_vis_.html">
+Control...UICommands</ulink> section of this user guide.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisCntCmmd.CrtEmp">
+<title>
+Create an empty scene: <literal>/vis/scene/create</literal> command
+</title>
+
+<para>
+Command "<literal>/vis/scene/create</literal>" creates an empty scene, 
+which corresponds to Step 2.
+</para>
+
+<para>
+<emphasis role="bold">Command: </emphasis>
+<literal>
+/vis/scene/create [scene_name]
+</literal>
+</para>
+
+<itemizedlist spacing="compact">
+  <listitem><para><emphasis role="bold">Argument</emphasis>
+    <para>
+    A name for this scene. Created for you if you don't specify one.
+    </para>
+  </para></listitem>
+</itemizedlist>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisCntCmmd.PhyVol">
+<title>
+Visualization of a physical volume: <literal>/vis/drawVolume</literal> command
+</title>
+
+<para>
+Command "<literal>/vis/drawVolume</literal>" 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
+"<literal>/vis/viewer/flush</literal>" should follow in order to do the final
+Step 7.
+</para>
+
+<para>
+<emphasis role="bold">Commands:</emphasis>
+</para>
+<para>
+<informalexample>
+<programlisting>
+/vis/drawVolume [physical-volume-name]
+.....
+Idle&gt; /vis/viewer/flush
+</programlisting>
+</informalexample>
+</para>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis role="bold">Argument</emphasis>
+    <para>
+    A physical-volume name. The default value is "world", which is
+    omittable.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">Action</emphasis>
+    <para>
+    Creates a scene consisting of the given physical volume and asks
+    the current viewer to draw it. The scene becomes current. Command
+    "<literal>/vis/viewer/flush</literal>" should follow this command in order to
+    declare end of visualization.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">Example: Visualization of the whole world with 
+    coordinate axes</emphasis>
+    <informalexample>
+    <programlisting>
+    Idle&gt; /vis/drawVolume
+    Idle&gt; /vis/scene/add/axes 0 0 0 500 mm
+    Idle&gt; /vis/viewer/flush
+    </programlisting>
+    </informalexample>
+  </para></listitem>
+</itemizedlist>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisCntCmmd.LogVol">
+<title>
+Visualization of a logical volume: <literal>/vis/specify</literal> command
+</title>
+
+<para>
+Command "<literal>/vis/specify</literal>" 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 "<literal>/vis/viewer/flush</literal>" should
+follow the command in order to do the final Step 7.
+</para>
+
+<para>
+<emphasis role="bold">Command: </emphasis>
+<literal>/vis/specify [logical-volume-name][depth-of-descent]
+[booleans-flag] [voxels-flag] [readout-flag]</literal>
+</para>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis role="bold">Argument</emphasis>
+    <para>
+    A logical-volume name.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">Action</emphasis>
+    <para>
+    Creates a scene consisting of the given logical volume and asks the
+    current viewer to draw it. The scene becomes current.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">Example (visualization of a selected logical 
+    volume with coordinate axes)</emphasis>
+
+    <informalexample>
+    <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
+    </programlisting>
+    </informalexample>
+  </para></listitem>
+</itemizedlist>
+
+<para>
+For more options, see the 
+<ulink url="./AllResources/Control/UIcommands/_vis_.html">
+Control...UICommands</ulink> section of this user guide.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisCntCmmd.Traj">
+<title>
+Visualization of trajectories: <literal>/vis/scene/add/trajectories</literal> command
+</title>
+
+<para>
+
+Command "<literal>/vis/scene/add/trajectories [smooth] [rich]</literal>"
+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
+"<literal>/tracking/storeTrajectory</literal>" command so that trajectories are
+stored (by default they are not). The visualization is performed
+with the command "<literal>/run/beamOn</literal>" unless you have non-default
+values for /vis/scene/endOfEventAction or /vis/scene/endOfRunAction
+(described below).
+</para>
+
+<para>
+<emphasis role="bold">Command: </emphasis>
+<literal>/vis/scene/add/trajectories [smooth] [rich]</literal>
+</para>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis role="bold">Action</emphasis>
+    <para>
+    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.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">Example: Visualization of trajectories</emphasis>
+    <informalexample>
+    <programlisting>
+    Idle&gt; /vis/scene/add/trajectories
+    Idle&gt; /run/beamOn 10
+    </programlisting>
+    </informalexample>
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">Additional note 1</emphasis>
+    <para>
+    See the section 
+    <xref linkend="sect.VisEnhTrj.CntlComm" /> 
+    Enhanced Trajectory Drawing
+    for details on how to control how trajectories are
+    color-coded.
+    </para>
+  </para></listitem>
+</itemizedlist>
+
+<para>
+For more options, see the 
+<ulink url="./AllResources/Control/UIcommands/_vis_.html">
+Control...UICommands </ulink>  section of this user guide.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisCntCmmd.Hits">
+<title>
+Visualization of hits: <literal>/vis/scene/add/hits</literal> command
+</title>
+
+<para>
+Command "<literal>/vis/scene/add/hits</literal>" 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 "<literal>/run/beamOn</literal>" unless you have non-default values
+for /vis/scene/endOfEventAction or /vis/scene/endOfRunAction
+(described above).
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisCntCmmd.HrAtHits">
+<title>
+HepRep Attributes for Hits
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+For example, in example RE01's class RE01CalorimeterHit.cc,
+available attributes will be:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Hit Type
+  </para></listitem>
+  <listitem><para>
+    Track ID
+  </para></listitem>
+  <listitem><para>
+    Z Cell ID
+  </para></listitem>
+  <listitem><para>
+    Phi Cell ID
+  </para></listitem>
+  <listitem><para>
+    Energy Deposited
+  </para></listitem>
+  <listitem><para>
+    Energy Deposited by Track
+  </para></listitem>
+  <listitem><para>
+    Position
+  </para></listitem>
+  <listitem><para>
+    Logical Volume
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+You can add additional attributes of your choosing by modifying the
+relevant part of the hit class (look for the methods GetAttDefs and
+CreateAttValues).
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisCntCmmd.BscCmrWrk">
+<title>
+Basic camera workings: <literal>/vis/viewer/</literal> commands
+</title>
+
+<para>
+Commands in the command directory "<literal>/vis/viewer/</literal>" 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
+"<literal>/vis/viewer/reset</literal>". Some visualization systems, such as
+the VRML and HepRep browsers also allow camera control from the
+standalone graphics application.
+</para>
+
+<para>
+Just a few of the camera commands are described here. For more
+commands, see the 
+<ulink url="./AllResources/Control/UIcommands/_vis_.html">
+Control...UICommands</ulink> section of this user guide.
+</para>
+
+<para>
+<para><emphasis role="bold">Command: </emphasis>
+<literal>/vis/viewer/set/viewpointThetaPhi [theta] [phi]
+[deg|rad]</literal>
+</para>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis role="bold">Arguments</emphasis>
+    <para>
+    Arguments "theta" and "phi" are polar and azimuthal camera angles,
+    respectively. The default unit is "degree".
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">Action</emphasis>
+    <para>
+    Set a view point in direction of (theta, phi).
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">Example: Set the viewpoint in direction of (70 deg, 
+    20 deg)</emphasis>
+
+    /<informalexample>
+    <programlisting>
+    Idle&gt; /vis/viewer/set/viewpointThetaPhi 70 20
+    </programlisting>
+    </informalexample>
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">Additional notes</emphasis>
+    <para>
+    Camera parameters should be set for each viewer. They are
+    initialized with command "<literal>/vis/viewer/reset</literal>".
+    </para>
+  </para></listitem>
+</itemizedlist>
+
+<para>
+<emphasis role="bold">Command: </emphasis>
+<literal>/vis/viewer/zoom [scale_factor]</literal>
+</para>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis role="bold">Argument</emphasis>
+    <para>
+    The scale factor. The command multiplies magnification of the view
+    by this factor.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">Action</emphasis>
+    <para>
+    Zoom up/down of view.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">Example: Zoom up by factor 1.5</emphasis>
+    <informalexample>
+    <programlisting>
+    Idle&gt; /vis/viewer/zoom 1.5
+    </programlisting>
+    </informalexample>
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">Additional notes</emphasis>
+    <para>
+    Camera parameters should be set for each viewer. They are
+    initialized with command "<literal>/vis/viewer/reset</literal>".
+    </para>
+    <para>
+    A similar pair of commands, scale and scaleTo allow non-uniform
+    scaling (i.e., zoom differently along different axes). For details,
+    see the 
+    <ulink url="./AllResources/Control/UIcommands/_vis_.html">
+    Control...UICommands</ulink> section of this user guide.
+    </para>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+<emphasis role="bold">Command: </emphasis>
+<literal>/vis/viewer/set/style [style_name]</literal>
+</para>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis role="bold">Arguments</emphasis>
+    <para>
+    Candidate values of the argument are "wireframe" and "surface".
+    ("w" and "s" also work.)
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">Action</emphasis>
+    <para>
+    Set a drawing style to wireframe or surface.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">Example: Set the drawing style to "surface"</emphasis>
+    <informalexample>
+    <programlisting>
+    Idle&gt; /vis/viewer/set/style surface
+    </programlisting>
+    </informalexample>
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">Additional notes</emphasis>
+    <para>
+    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.
+    </para>
+    <para>
+    Drawing style should be set for each viewer. The drawing style is
+    initialized with command "<literal>/vis/viewer/reset</literal>".
+    </para>
+  </para></listitem>
+</itemizedlist>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisCntCmmd.DclEndFlsh">
+<title>
+Declare the end of visualization for flushing: <literal>/vis/viewer/flush</literal> command
+</title>
+
+<para>
+<emphasis role="bold">Command: </emphasis>
+<literal>/vis/viewer/flush</literal>
+</para>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis role="bold">Action</emphasis>
+    <para>
+    Declare the end of visualization for flushing.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">Additional notes</emphasis>
+    <para>
+    Command "<literal>/vis/viewer/flush</literal>" should follow
+    "<literal>/vis/drawVolume</literal>", "<literal>/vis/specify</literal>", 
+    etc in order to complete visualization. It corresponds to Step 7.
+    </para>
+    <para>
+    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).
+    </para>
+  </para></listitem>
+</itemizedlist>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisCntCmmd.EndEvtRun">
+<title>
+End of Event Action and End of Run Action:
+<literal>/vis/viewer/endOfEventAction</literal> and
+<literal>/vis/viewer/endOfEventAction</literal> commands
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+<emphasis role="bold">Command: </emphasis>
+<literal>/vis/scene/endOfEventAction [refresh|accumulate]</literal>
+</para>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis role="bold">Action</emphasis>
+    <para>
+    Control how often the picture should be cleared.
+    <literal>refresh</literal> means each event will be written to a new
+    picture.
+    <literal>accumulate</literal> means events will be accumulated into a single
+    picture. Picture will be flushed at end of run, unless you have
+    also set <literal>/vis/scene/endOfRunAction accumulate</literal>
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">Additional note</emphasis>
+    <para>
+    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.
+    </para>    
+  </para></listitem>
+</itemizedlist>
+
+<para>
+<emphasis role="bold">Command: </emphasis>
+<literal>/vis/scene/endOfRunAction [refresh|accumulate]</literal>
+</para>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis role="bold">Action</emphasis>
+    <para>
+    Control how often the picture should be cleared.
+    <literal>refresh</literal> means each run will be written to a new
+    picture.
+    <literal>accumulate</literal> means runs will be accumulated into a single
+    picture. To start a new picture, you must explicitly issue
+    <literal>/vis/viewer/refresh</literal>, <literal>/vis/viewer/update</literal> 
+    or <literal>/vis/viewer/flush</literal>
+    </para>
+  </para></listitem>
+</itemizedlist>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisCntCmmd.HpRpTraj">
+<title>
+HepRep Attributes for Trajectories
+</title>
+
+<para>
+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 <literal>/vis/scene/add/trajectories</literal> command),
+available attributes will be:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Track ID
+  </para></listitem>
+  <listitem><para>
+    Parent ID
+  </para></listitem>
+  <listitem><para>
+    Particle Name
+  </para></listitem>
+  <listitem><para>
+    Charge
+  </para></listitem>
+  <listitem><para>
+    PDG Encoding
+  </para></listitem>
+  <listitem><para>
+    Momentum 3-Vector
+  </para></listitem>
+  <listitem><para>
+    Momentum magnitude
+  </para></listitem>
+  <listitem><para>
+    Number of points
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+Using <literal>/vis/scene/add/trajectories rich</literal> 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.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisCntCmmd.SvVwPs">
+<title>
+How to save a visualized views to PostScript files
+</title>
+
+<para>
+Most of the visualization drivers offer ways to save visualized
+views to PostScript files (or Encapsulated PostScript (EPS) files)
+by themselves.
+</para>
+
+<para>
+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 "<literal>g4_00.eps, g4_01.eps, g4_02.eps</literal>,..." are
+automatically generated in the current directory each time when
+visualization is performed, and then a PostScript viewer
+"<literal>gv</literal>"is automatically invoked to visualize the generated
+EPS files.
+</para>
+
+<para>
+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
+<literal>g4_XX.eps</literal> to save the visualized view:
+
+<informalexample>
+<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
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+This is a good example to show that the visualization drivers are
+complementary to each other.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+The OpenGL X drivers can also generate PostScript files, either from
+a pull-down menu (Motif drivers) or with <literal>/vis/ogl/printEPS</literal>.
+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.
+</para>
+
+<para>
+The WIRED3 HepRep Browser and WIRED4 JAS Plug-In can generate a
+wide variety of bitmap and vector output formats including
+PostScript and PDF.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisCntCmmd.Cull">
+<title>
+Culling
+</title>
+
+<para>
+"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.
+</para>
+
+<para>
+Geant4 Visualization supports the following 3 kinds of
+culling:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Culling of invisible physical volumes
+  </para></listitem>
+  <listitem><para>
+    Culling of low density physical volumes.
+  </para></listitem>
+  <listitem><para>
+    Culling of covered physical volumes by others
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+In order that one or all types of the above culling are on, i.e.,
+activated, the global culling flag should also be on.
+</para>
+
+<para>
+<xref linkend="table.VisCntCmmd_1" /> summarizes the default culling policies.
+
+<table id="table.VisCntCmmd_1" align="center">
+<title>
+The default culling policies.
+</title>
+
+<tgroup cols="2">
+  <tbody>
+  <row>
+    <entry>
+      <emphasis role="bold">Culling Type</emphasis>
+    </entry>
+    <entry>
+      <emphasis role="bold">Default Value</emphasis>
+    </entry>
+  </row>
+  <row>
+    <entry>
+      global
+    </entry>
+    <entry>
+      ON
+    </entry>
+  </row>
+  <row>
+    <entry>
+      invisible
+    </entry>
+    <entry>
+      ON
+    </entry>
+  </row>
+  <row>
+    <entry>
+      low density
+    </entry>
+    <entry>
+      OFF
+    </entry>
+  </row>
+  <row>
+    <entry>
+      covered daughter
+    </entry>
+    <entry>
+      OFF
+    </entry>
+  </row>
+  </tbody>
+</tgroup>
+</table>
+</para>
+
+<para>
+The default threshold density of the low-density culling is 0.01
+g/cm<superscript>3</superscript>.
+</para>
+
+<para>
+The default culling policies can be modified with the following
+visualization commands. (Below the argument <literal>flag</literal> takes a
+value of <literal>true</literal> or <literal>false</literal>.)
+
+<informalexample>
+<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
+</programlisting> 
+</informalexample>
+</para>
+
+<para>
+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.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisCntCmmd.CutVw">
+<title>
+Cut view
+</title> 
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Sectioning
+</bridgehead>
+
+<para>
+"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,
+
+<informalexample>
+<programlisting>
+     /vis/viewer/set/sectionPlane on x y z units nx ny nz
+</programlisting>
+</informalexample>
+
+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:
+
+<informalexample>
+<programlisting>
+     Idle&gt; /vis/viewer/set/sectionPlane  on  2.0  0.0  0.0  cm  1.0  0.0  0.0
+</programlisting>
+</informalexample>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Cutting away
+</bridgehead>
+
+<para>
+"Cutting away" means to remove a half space, defined with a plane,
+from a 3D scene.
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Cutting away is supported by the DAWNFILE driver "off-line". Do
+    the following:
+
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Perform visualization with the DAWNFILE driver to generate a
+        file <literal>g4.prim</literal>, describing the whole 3D scene.
+      </para></listitem>
+      <listitem><para>
+        Make the application "DAWNCUT" read the generated file to make
+        a view of cutting away.
+      </para></listitem>
+    </itemizedlist>
+
+    See the following WWW page for details: 
+    <ulink url="http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWNCUT.html">
+    http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWNCUT.html
+    </ulink>
+  </para></listitem>
+  <listitem><para>
+    Alternatively, add up to three cutaway planes:
+
+    <informalexample>
+    <programlisting>
+     /vis/viewer/addCutawayPlane 0 0 0 m 1 0 0
+     /vis/viewer/addCutawayPlane 0 0 0 m 0 1 0
+     ...
+    </programlisting>
+    </informalexample>
+    and, for more that one plane, you can change the mode to
+
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        (a) "add" or, equivalently, "union" (default) or
+      </para></listitem>
+      <listitem><para>
+        (b) "multiply" or, equivalently, "intersection":
+      </para></listitem>
+    </itemizedlist>
+
+    <informalexample>
+    <programlisting>
+     /vis/viewer/set/cutawayMode multiply
+    </programlisting>
+    </informalexample>
+
+    To de-activate:
+
+    <informalexample>
+    <programlisting>
+     /vis/viewer/clearCutawayPlanes
+    </programlisting>
+    </informalexample>
+
+    OpenGL supports this feature.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisCntCmmd.TutMac">
+<title>
+Tutorial macros
+</title>
+
+<para>
+The followings are tutorial macros in the directory
+<literal>examples/novice/N03/visTutor/</literal>:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <ulink url="./Visualization/visTutor/exN03Vis0_mac.html">
+    exN03Vis0.mac:</ulink>
+    <para>
+    A basic macro for visualization of detector geometry and events
+    using OpenGL in Immediate mode and DAWN.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <ulink url="./Visualization/visTutor/exN03Vis1_mac.html">
+    exN03Vis1.mac:</ulink>
+    <para>
+    A basic macro for visualization of detector geometry using OpenGL
+    in Stored mode and DAWN.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <ulink url="./Visualization/visTutor/exN03Vis2_mac.html">
+    exN03Vis2.mac:</ulink>
+    <para>
+    A basic macro for visualization of detector geometry and events
+    using OpenGL in Stored mode and DAWN.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <ulink url="./Visualization/visTutor/exN03Vis3_mac.html">
+    exN03Vis3.mac:</ulink>
+    <para>
+    A basic macro for demonstrating various drawing styles using OpenGL
+    in Immediate mode and DAWN.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <ulink url="./Visualization/visTutor/exN03Vis4_mac.html">
+    exN03Vis4.mac:</ulink>
+    <para>
+    An example of visualizing specific logical volumes using OpenGL in
+    Immediate mode and DAWN.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <ulink url="./Visualization/visTutor/exN03Vis5_mac.html">
+    exN03Vis5.mac:</ulink>
+    <para>
+    A basic macro for visualization of detector geometry and events
+    using OpenInventor on Unix.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <ulink url="./Visualization/visTutor/exN03Vis6_mac.html">
+    exN03Vis6.mac:</ulink>
+    <para>
+    A basic macro for visualization of detector geometry and events
+    using VRML.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <ulink url="./Visualization/visTutor/exN03Vis7_mac.html">
+    exN03Vis7.mac:</ulink>
+    <para>
+    A macro to demonstrate "batch" visualization to generate PostScript
+    files with the DAWNFILE driver
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <ulink url="./Visualization/visTutor/exN03Vis8_mac.html">
+    exN03Vis8.mac:</ulink>
+    <para>
+    A macro to demonstrate creation of a "multi-page" PostScript file
+    with the DAWNFILE driver
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <ulink url="./Visualization/visTutor/exN03Vis9_mac.html">
+    exN03Vis9.mac:</ulink>
+    <para>
+    A basic macro for visualization of detector geometry and events
+    using OpenGL for Windows.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <ulink url="./Visualization/visTutor/exN03Vis10_mac.html">
+    exN03Vis10.mac:</ulink>
+    <para>
+    A basic macro for visualization of detector geometry and events
+    using OpenInventor on Windows.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <ulink url="./Visualization/visTutor/exN03Vis11_mac.html">
+    exN03Vis11.mac:</ulink>
+    <para>
+    A basic macro for visualization of detector geometry and events
+    using OpenGL in Stored Motif mode and DAWN.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <ulink url="./Visualization/visTutor/exN03Vis12_mac.html">
+    exN03Vis12.mac:</ulink> and
+    <ulink url="./Visualization/visTutor/exN03Vis12_loop.html">
+    exN03Vis12.loop:</ulink>
+    <para>
+    A basic macro for demonstrating time slicing.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <ulink url="./Visualization/visTutor/exN03Vis13_mac.html">
+    exN03Vis13.mac:</ulink> and
+    <ulink url="./Visualization/visTutor/exN03Vis13_loop.html">
+    exN03Vis3.loop:</ulink>
+    <para>
+    Time development of an electrmagnetic shower.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <ulink url="./Visualization/visTutor/exN03Tree0_mac.html">
+    exN03Tree0.mac:</ulink>
+    <para>
+    A macro to demonstrate ASCII tree.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    <ulink url="./Visualization/visTutor/exN03Tree1_mac.html">
+    exN03Tree1.mac:</ulink>
+    <para>
+    A macro to demonstrate GAG tree.
+    </para>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/compiledcontrol.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/compiledcontrol.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/compiledcontrol.xml	(revision 904)
@@ -0,0 +1,864 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Proof read by: Joe Chuma,  6-Jul-1999                 -->
+<!--    Changed by: Katsuya Amako, 15-Jul-2000                -->
+<!--    Changed by: Dennis Wright, 27-Nov-2001                -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.VisCntCmpl">
+<title>
+Controlling Visualization from Compiled Code
+</title>
+
+
+<para>
+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 (<emphasis>G4UserRunAction</emphasis> and
+<emphasis>G4UserEventAction</emphasis>, for example). In this section methods of
+the class <emphasis>G4VVisManager</emphasis>, which is part of the
+<literal>graphics_reps</literal> category, are described and examples of
+their use are given.
+</para>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisCntCmpl.VsMng">
+<title>
+G4VVisManager
+</title>
+
+<para>
+The Visualization Manager is implemented by classes
+<emphasis>G4VisManager</emphasis> and <emphasis>G4VisExecutive</emphasis>. 
+See <xref linkend="sect.VisAddExe" />
+"<emphasis role="bold">Making a Visualization Executable</emphasis>". 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 <literal>main()</literal> function. Instead,
+you should use their abstract base class <emphasis>G4VVisManager</emphasis>,
+defined in the <literal>intercoms</literal> category.
+</para>
+
+<para>
+The pointer to the concrete instance of the real Visualization
+Manager can be obtained as follows:
+
+<informalexample>
+<programlisting>
+  //----- Getting a pointer to the concrete Visualization Manager instance
+  G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance();
+</programlisting>
+</informalexample> 
+</para>
+
+<para>
+The method <literal>G4VVisManager::GetConcreteInstance()</literal> returns
+<literal>NULL</literal> if Geant4 is not ready for visualization. Thus your
+C++ source code should be protected as follows:
+
+<informalexample>
+<programlisting>
+  //----- How to protect your C++ source codes in visualization
+  if (pVVisManager) { 
+      ....
+      pVVisManager -&gt;Draw (...); 
+      ....
+  }
+</programlisting>
+</informalexample> 
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisCntCmpl.DtcCmp">
+<title>
+Visualization of detector components
+</title>
+
+<para>
+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 <literal>ApplyCommand()</literal> method.
+</para>
+
+<para>
+For example, the following is sample C++ source codes to
+visualize the detector components:
+
+<informalexample>
+<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
+ 
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+In the above, you should also describe <literal>/vis/open</literal> command
+somewhere in your C++ codes or execute the command from (G)UI at
+the executing stage.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisCntCmpl.Trjct">
+<title>
+Visualization of trajectories
+</title>
+
+<para>
+In order to visualize trajectories, you can use the method <literal>void
+G4Trajectory::DrawTrajectory()</literal> defined in the tracking
+category. In the implementation of this method, the following
+drawing method of <emphasis>G4VVisManager</emphasis> is used:
+
+<informalexample>
+<programlisting>
+    //----- A drawing method of G4Polyline
+    virtual void G4VVisManager::Draw (const G4Polyline&amp;, ...) ;
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+The real implementation of this method is described in the class
+<emphasis>G4VisManager</emphasis>.
+</para>
+
+<para>
+At the end of one event, a set of trajectories can be stored as
+a list of <emphasis>G4Trajectory</emphasis> objects. Therefore you can visualize
+trajectories, for example, at the end of each event, by
+implementing the method <literal>MyEventAction::EndOfEventAction()</literal>
+as follows:
+
+<informalexample>
+<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
+</programlisting>
+</informalexample>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisCntCmpl.EnhTrjct">
+<title>
+Enhanced trajectory drawing
+</title>
+
+<para>
+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 
+<xref linkend="sect.VisEnhTrj.CntlCmpl" /> 
+Enhanced Trajectory Drawing.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisCntCmpl.AttTrjct">
+<title>
+HepRep Attributes for Trajectories
+</title>
+
+<para>
+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:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Track ID
+  </para></listitem>
+  <listitem><para>
+    Parent ID
+  </para></listitem>
+  <listitem><para>
+    Particle Name
+  </para></listitem>
+  <listitem><para>
+    Charge
+  </para></listitem>
+  <listitem><para>
+    PDG Encoding
+  </para></listitem>
+  <listitem><para>
+    Momentum 3-Vector
+  </para></listitem>
+  <listitem><para>
+    Momentum magnitude
+  </para></listitem>
+  <listitem><para>
+    Number of points
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+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.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisCntCmpl.Hits">
+<title>
+Visualization of hits
+</title>
+
+<para>
+Hits are visualized with classes <emphasis>G4Square</emphasis> or
+<emphasis>G4Circle</emphasis>, or other user-defined classes inheriting the
+abstract base class <emphasis>G4VMarker</emphasis>. Drawing methods for hits are
+not supported by default. Instead, ways of their implementation are
+guided by virtual methods, <literal>G4VHit::Draw()</literal> and
+<literal>G4VHitsCollection::DrawAllHits()</literal>, of the abstract base
+classes <emphasis>G4VHit</emphasis> and <emphasis>G4VHitsCollection</emphasis>. 
+These methods are defined as empty functions in the <literal>digits+hits</literal>
+category. You can overload these methods, using the following
+drawing methods of class <emphasis>G4VVisManager</emphasis>, in order to
+visualize hits:
+
+<informalexample>
+<programlisting>
+  //----- Drawing methods of G4Square and G4Circle
+  virtual void G4VVisManager::Draw (const G4Circle&amp;, ...) ;
+  virtual void G4VVisManager::Draw (const G4Square&amp;, ...) ;
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+The real implementations of these <literal>Draw()</literal> methods are
+described in class <emphasis>G4VisManager</emphasis>.
+</para>
+
+<para>
+The overloaded implementation of <literal>G4VHits::Draw()</literal> will
+be held by, for example, class <emphasis>MyTrackerHits</emphasis> inheriting
+<emphasis>G4VHit</emphasis> as follows:
+
+<informalexample>
+<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
+ 
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+The overloaded implementation of
+<literal>G4VHitsCollection::DrawAllHits()</literal> will be held by, for
+example, class <emphasis>MyTrackerHitsCollection</emphasis> inheriting class
+<emphasis>G4VHitsCollection</emphasis> as follows:
+
+<informalexample>
+<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
+ 
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Thus, you can visualize hits as well as trajectories, for
+example, at the end of each event by implementing the method
+<literal>MyEventAction::EndOfEventAction()</literal> as follows:
+
+<informalexample>
+<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
+ 
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+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:
+
+<informalexample>
+<programlisting>
+
+  //----- Drawing methods of a physical volume
+  virtual void Draw (const G4VPhysicalVolume&amp;, ...) ;
+ 
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+This method is, for example, called in a method
+<literal>MyXXXHit::Draw()</literal>, describing the visualization of hits
+with markers. The following is an example for this:
+
+<informalexample>
+<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
+ 
+</programlisting>
+</informalexample>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisCntCmpl.AttHits">
+<title>
+HepRep Attributes for Hits
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+For example, in example RE01's class RE01CalorimeterHit.cc,
+available attributes will be:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Hit Type
+  </para></listitem>
+  <listitem><para>
+    Track ID
+  </para></listitem>
+  <listitem><para>
+    Z Cell ID
+  </para></listitem>
+  <listitem><para>
+    Phi Cell ID
+  </para></listitem>
+  <listitem><para>
+    Energy Deposited
+  </para></listitem>
+  <listitem><para>
+    Energy Deposited by Track
+  </para></listitem>
+  <listitem><para>
+    Position
+  </para></listitem>
+  <listitem><para>
+    Logical Volume
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+You can add additional attributes of your choosing by modifying the
+relevant part of the hit class (look for the methods GetAttDefs and
+CreateAttValues).
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisCntCmpl.txt">
+<title>
+Visualization of text
+</title>
+
+<para>
+In Geant4 Visualization, a text, i.e., a character string, is
+described by class <emphasis>G4Text</emphasis> inheriting 
+<emphasis>G4VMarker</emphasis> as well as <emphasis>G4Square</emphasis> 
+and <emphasis>G4Circle</emphasis>. Therefore, the way to
+visualize text is the same as for hits. The corresponding drawing
+method of <emphasis>G4VVisManager</emphasis> is:
+
+<informalexample>
+<programlisting>
+  //----- Drawing methods of G4Text
+  virtual void G4VVisManager::Draw (const G4Text&amp;, ...);
+ 
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+The real implementation of this method is described in class
+<emphasis>G4VisManager</emphasis>.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#) ****************** -->
+<sect2 id="sect.VisCntCmpl.PlyTrkStp">
+<title>
+Visualization of polylines and tracking steps
+</title>
+
+<para>
+Polylines, i.e., sets of successive line segments, are described by
+class <emphasis>G4Polyline</emphasis>. For <emphasis>G4Polyline</emphasis>, 
+the following drawing method of class <emphasis>G4VVisManager</emphasis> 
+is prepared:
+
+<informalexample>
+<programlisting>
+   //----- A drawing method of G4Polyline
+    virtual void G4VVisManager::Draw (const G4Polyline&amp;, ...) ;
+ 
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+The real implementation of this method is described in class
+<emphasis>G4VisManager</emphasis>.
+</para>
+
+<para>
+Using this method, C++ source codes to visualize
+<emphasis>G4Polyline</emphasis> are described as follows:
+
+<informalexample>
+<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
+ 
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Tracking steps are able to be visualized based on the above
+visualization of <emphasis>G4Polyline</emphasis>. You can visualize tracking
+steps at each step automatically by writing a proper implementation
+of class <emphasis>MySteppingAction</emphasis> inheriting
+<emphasis>G4UserSteppingAction</emphasis>, and also with the help of the Run
+Manager.
+</para>
+
+<para>
+First, you must implement a method,
+<literal>MySteppingAction::UserSteppingAction()</literal>. A typical
+implementation of this method is as follows:
+
+<informalexample>
+<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
+ 
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Next, in order that the above C++ source code works, you have to
+pass the information of the <emphasis>MySteppingAction</emphasis> to the Run
+Manager in the <literal>main()</literal> function:
+
+<informalexample>
+<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
+ 
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Thus you can visualize tracking steps with various visualization
+attributes, e.g., color, at each step, automatically.
+</para>
+
+<para>
+As well as tracking steps, you can visualize any kind 3D object
+made of line segments, using class <emphasis>G4Polyline</emphasis> and its
+drawing method, defined in class <emphasis>G4VVisManager</emphasis>. See, for
+example, the implementation of the <literal>/vis/scene/add/axes</literal>
+command.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisCntCmpl.UsrAct">
+<title>
+Visualization User Action
+</title>
+
+<para>
+You can implement the <literal>Draw</literal> method of
+<literal>G4VUserVisAction</literal>, e.g., the class definition could be:
+
+<informalexample>
+<programlisting>
+class StandaloneVisAction: public G4VUserVisAction {
+  void Draw();
+};
+</programlisting>
+</informalexample>
+
+and the implementation:
+
+<informalexample>
+<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));
+  }
+}
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Explicit use of polyhedron objects is equivalent, e.g.:
+
+<informalexample>
+<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;
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+If efficiency is an issue, create the objects in the constructor,
+delete them in the destructor and draw them in your <literal>Draw</literal>
+method. Anyway, an instance of your class needs to be registered
+with the vis manager, e.g.:
+
+<informalexample>
+<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.
+  ...
+</programlisting>
+</informalexample>
+
+then activate by adding to a scene, e.g:
+
+<informalexample>
+<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
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+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 <literal>Draw</literal> 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.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisCntCmpl.StdAln">
+<title>
+Standalone Visualization
+</title>
+
+<para>
+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.
+
+<informalexample>
+<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;
+}
+</programlisting>
+</informalexample>
+</para>
+
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/enhanceddrawing.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/enhanceddrawing.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/enhanceddrawing.xml	(revision 904)
@@ -0,0 +1,690 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.VisEnhTrj">
+<title>
+Enhanced Trajectory Drawing
+</title>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisEnhTrj.DflCnfg">
+<title>
+Default Configuration
+</title>
+
+<para>
+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.
+
+<informaltable>
+  <tgroup cols="2">
+    <tbody>
+    <row>
+      <entry>
+        <emphasis role="bold">Property</emphasis>
+      </entry>
+      <entry>
+        <emphasis role="bold">Default Setting</emphasis>
+      </entry>
+    </row>
+    <row>
+      <entry>
+        Line colour
+      </entry>
+      <entry>
+        grey
+      </entry>
+    </row>
+    <row>
+      <entry>
+        Line visibility
+      </entry>
+      <entry>
+        true
+      </entry>
+    </row>
+    <row>
+      <entry>
+        Draw line
+      </entry>
+      <entry>
+        true
+      </entry>
+    </row>
+    <row>
+      <entry>
+        Draw auxiliary points
+      </entry>
+      <entry>
+        false
+      </entry>
+    </row>
+    <row>
+      <entry>
+        Auxiliary point type
+      </entry>
+      <entry>
+        squares
+      </entry>
+    </row>
+    <row>
+      <entry>
+        Auxiliary point size
+      </entry>
+      <entry>
+        0
+      </entry>
+    </row>
+    <row>
+      <entry>
+        Auxiliary point fill style
+      </entry>
+      <entry>
+        filled
+      </entry>
+    </row>
+    <row>
+      <entry>
+        Auxiliary point colour
+      </entry>
+      <entry>
+        magenta
+      </entry>
+    </row>
+    <row>
+      <entry>
+        Auxiliary point visibility
+      </entry>
+      <entry>
+        true
+      </entry>
+    </row>
+    <row>
+      <entry>
+        Draw step point
+      </entry>
+      <entry>
+        false
+      </entry>
+    </row>
+    <row>
+      <entry>
+        Step point type
+      </entry>
+      <entry>
+        circles
+      </entry>
+    </row>
+    <row>
+      <entry>
+        Step point size
+      </entry>
+      <entry>
+        0
+      </entry>
+    </row>
+    <row>
+      <entry>
+        Step point fill style
+      </entry>
+      <entry>
+        filled
+      </entry>
+    </row>
+    <row>
+      <entry>
+        Step point colour
+      </entry>
+      <entry>
+        yellow
+      </entry>
+    </row>
+    <row>
+      <entry>
+        Step point visibility
+      </entry>
+      <entry>
+        true
+      </entry>
+    </row>
+    <row>
+      <entry>
+        Time slice interval
+      </entry>
+      <entry>
+        0
+      </entry>
+    </row>
+    </tbody>
+  </tgroup>
+</informaltable>
+</para>
+
+<para>
+Points to note:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    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.
+  </para></listitem>
+  <listitem><para>
+    Different visualisation drivers handle trajectory configuration
+    in different ways, so trajectories may not necessarily get
+    displayed as you have configured them.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisEnhTrj.DrdMdl">
+<title>
+Trajectory Drawing Models
+</title>
+
+<para>
+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:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    G4TrajectoryGenericDrawer (generic)
+  </para></listitem>
+  <listitem><para>
+    G4TrajectoryDrawByCharge (drawByCharge)
+  </para></listitem>
+  <listitem><para>
+    G4TrajectoryDrawByParticleID (drawByParticleID)
+  </para></listitem>
+  <listitem><para>
+    G4TrajectoryDrawByOriginVolume (drawByOriginVolume)
+  </para></listitem>
+  <listitem><para>
+    G4TrajectoryDrawByAttribute (drawByAttribute)
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+Both the context and model properties can be configured by the
+user. The models are described briefly below, followed by some
+example configuration commands.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+G4TrajectoryGenericDrawer
+</bridgehead>
+
+<para>
+This model simply draws all trajectories in the same style, with
+the properties provided by the context.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+G4TrajectoryDrawByCharge
+</bridgehead>
+
+<para>
+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.
+
+<informalexample>
+<programlisting>
+        Charge          Colour  
+        ----------------------
+        1               Blue
+        -1              Red
+        0               Green
+</programlisting>
+</informalexample>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+G4TrajectoryDrawByParticleID
+</bridgehead>
+
+<para>
+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.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+G4TrajectoryDrawByOriginVolume
+</bridgehead>
+
+<para>
+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.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+G4TrajectoryDrawByAttribute
+</bridgehead>
+
+<para>
+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.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisEnhTrj.CntlComm">
+<title>
+Controlling from Commands
+</title>
+
+<para>
+Multiple trajectory models can be created and configured using
+commands in the "<literal>/vis/modeling/trajectories/</literal>" directory.
+It is then possible to list available models and select one to be
+current.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+See the interactive help for more information on the available
+commands.
+</para>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.VisEnhTrj.CntlComm.ExpComm">
+<title>
+Example commands
+</title>
+
+<para>
+#Create a generic model named generic-0 by default
+
+<informalexample>
+<programlisting>
+/vis/modeling/trajectories/create/generic
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+#Configure context to colour all trajectories red
+
+<informalexample>
+<programlisting>
+/vis/modeling/trajectories/generic-0/default/setLineColour red
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+#Create a drawByCharge model named drawCharge-0 by default
+(Subsequent models will be named drawByCharge-1, drawByCharge-2,
+etc.)
+
+<informalexample>
+<programlisting>
+/vis/modeling/trajectories/create/drawByCharge
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+#Create a drawByCharge model named testChargeModel
+
+<informalexample>
+<programlisting>
+/vis/modeling/trajectories/create/drawByCharge testChargeModel
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+#Configure drawByCharge-0 model
+
+<informalexample>
+<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
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+#Configure testCharge model through G4Colour components
+
+<informalexample>
+<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
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+#Create a drawByParticleID model named drawByParticleID-0
+
+<informalexample>
+<programlisting>
+/vis/modeling/trajectories/create/drawByParticleID
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+#Configure drawByParticleID-0 model
+
+<informalexample>
+<programlisting>
+/vis/modeling/trajectories/drawByParticleID-0/set gamma red
+/vis/modeling/trajectories/drawByParticleID-0/setRGBA e+ 1 0 1 1
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+#List available models
+
+<informalexample>
+<programlisting>
+/vis/modeling/trajectories/list
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+#select drawByParticleID-0 to be current
+
+<informalexample>
+<programlisting>
+/vis/modeling/trajectories/select drawByParticleID-0
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+#Create a drawByAttribute model named drawByAttribute-0
+
+<informalexample>
+<programlisting>
+/vis/modeling/trajectories/create/drawByAttribute
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+#Configure drawByAttribute-0 model
+
+<informalexample>
+<programlisting>
+/vis/modeling/trajectories/drawByAttribute-0/verbose true
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+#Select attribute "CPN"
+
+<informalexample>
+<programlisting>
+/vis/modeling/trajectories/drawByAttribute-0/setAttribute CPN
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+#Configure single value data
+
+<informalexample>
+<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
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+#Create a drawByAttribute model named drawByAttribute-1
+
+<informalexample>
+<programlisting>
+/vis/modeling/trajectories/create/drawByAttribute
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+#Select "IMag" attribute
+
+<informalexample>
+<programlisting>
+/vis/modeling/trajectories/drawByAttribute-1/setAttribute IMag
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+#Configure interval data
+
+<informalexample>
+<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
+</programlisting>
+</informalexample>
+</para>
+
+</sect3>
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisEnhTrj.CntlCmpl">
+<title>
+Controlling from Compiled Code
+</title>
+
+<para>
+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:
+
+<informalexample>
+<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());
+</programlisting>
+</informalexample>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisEnhTrj.DrwByTime">
+<title>
+Drawing by time
+</title>
+
+<para>
+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:
+
+<informalexample>
+<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);
+}
+</programlisting>
+</informalexample>
+
+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):
+
+<informalexample>
+<programlisting>
+#include "MyTrackingAction.hh"
+...
+  runManager -&gt; SetUserAction (new MyTrackingAction);
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+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):
+
+<informalexample>
+<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
+</programlisting>
+</informalexample>
+
+and use a graphics driver that can display by time:
+
+<informalexample>
+<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
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+A good way to see the particles moving through the detector is:
+
+<informalexample>
+<programlisting>
+/vis/ogl/set/fade 1
+/vis/ogl/set/displayHeadTime true
+/control/alias timeRange 1
+/control/loop movie.loop -{timeRange} 40 0.1
+</programlisting>
+</informalexample>
+
+where <literal>fade</literal> gives a vapour-trail effect,
+<literal>displayHeadTime</literal> displays the time of the leading edge as
+2D text, and <literal>movie.loop</literal> is a macro file:
+
+<informalexample>
+<programlisting>
+/vis/ogl/set/startTime {startTime} ns {timeRange} ns
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+From there, it's straightforward to <xref linkend="sect.MkMovie" />
+make a movie.
+</para>
+
+
+</sect2>
+</sect1>
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/filtering.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/filtering.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/filtering.xml	(revision 904)
@@ -0,0 +1,283 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.VisFltr">
+<title>
+Trajectory Filtering
+</title>
+
+<para>
+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:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis role="bold">Soft filtering</emphasis>: 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
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">Hard filtering</emphasis>: 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.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+Trajectory filter models are used to apply filtering according to
+specific criteria. The following models are currently supplied with
+the Geant4 distribution:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    G4TrajectoryChargeFilter (chargeFilter)
+  </para></listitem>
+  <listitem><para>
+    G4TrajectoryParticleFilter (particleFilter)
+  </para></listitem>
+  <listitem><para>
+    G4TrajectoryOriginVolumeFilter (originVolumeFilter)
+  </para></listitem>
+  <listitem><para>
+    G4TrajectoryAttributeFilter (attributeFilter)
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+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.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+G4TrajectoryChargeFilter
+</bridgehead>
+
+<para>
+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.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+G4TrajectoryParticleFilter
+</bridgehead>
+
+<para>
+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.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+G4TrajectoryOriginVolumeFilter
+</bridgehead>
+
+<para>
+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.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+G4TrajectoryAttributeFilter
+</bridgehead>
+
+<para>
+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.
+</para>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisFltr.CntlComm">
+<title>
+Controlling from Commands
+</title>
+
+<para>
+Multiple trajectory filter models can be created and configured
+using commands in the "<literal>/vis/filtering/trajectories/</literal>"
+directory. All generated filter models are chained together
+automatically.
+</para>
+
+<para>
+Model configuration commands are generated dynamically when a
+filter model is instantiated. These commands apply directly to that
+instance.
+</para>
+
+<para>
+See the interactive help for more information on the available
+commands.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisFltr.ExpComm">
+<title>
+Example commands
+</title>
+
+<para>
+#Create a particle filter. Configure to pass only gammas. Then
+</para>
+
+<para>
+#invert to pass anything other than gammas. Set verbose
+printout,
+</para>
+
+<para>
+#and then deactivate filter
+
+<informalexample>
+<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
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+#Create a charge filter. Configure to pass only neutral
+trajectories.
+</para>
+
+<para>
+#Set verbose printout. Reset filter and reconfigure to pass
+only
+</para>
+
+<para>
+#negativly charged trajectories.
+
+<informalexample>
+<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
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+#Create an attribute filter named attributeFilter-0
+
+<informalexample>
+<programlisting>
+/vis/filtering/trajectories/create/attributeFilter
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+#Select attribute "IMag"
+
+<informalexample>
+<programlisting>
+/vis/filtering/trajectories/attributeFilter-0/setAttribute IMag
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+#Select trajectories with 2.5 MeV &lt;= IMag&lt; 1000 MeV
+
+<informalexample>
+<programlisting>
+/vis/filtering/trajectories/attributeFilter-0/addInterval 2.5 MeV 1000 MeV
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+#List filters
+
+<informalexample>
+<programlisting>
+/vis/filtering/trajectories/list
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+#Note that although particleFilter-0 and chargeFilter-0 are
+automatically
+</para>
+
+<para>
+#chained, particleFilter-0 will not have any effect since
+</para>
+
+<para>
+#it is has been deactivated.
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisFltr.HitFilt">
+<title>
+Hit Filtering
+</title>
+
+<para>
+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:
+
+<informalexample>
+<programlisting>
+   void MyHit::Draw() 
+   {
+      ... 
+      if (! pVVisManager->FilterHit(*this)) return;
+      ...
+   }
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Interactive filtering can then be done through the commands in 
+<literal>/vis/filtering/hits</literal>.
+</para>
+
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/introduction.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/introduction.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/introduction.xml	(revision 904)
@@ -0,0 +1,519 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Changed by: Katsuya Amako, 15-Jul-2000                -->
+<!--    Changed by: Dennis Wright, 27-Nov-2001                -->
+<!--    Proof read by: Joe Chuma,  5-Jul-1999                 -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.VisIntro">
+<title>
+Introduction to Visualization
+</title>
+
+<para>
+The Geant4 visualization system was developed in response to a 
+diverse set of requirements:
+
+<orderedlist spacing="compact">
+  <listitem><para>
+    Quick response to study geometries, trajectories and hits
+  </para></listitem>
+  <listitem><para>
+    High-quality output for publications
+  </para></listitem>
+  <listitem><para>
+    Flexible camera control to debug complex geometries
+  </para></listitem>
+  <listitem><para>
+    Tools to show volume overlap errors in detector geometries
+  </para></listitem>
+  <listitem><para>
+    Interactive picking to get more information on visualized objects
+  </para></listitem>
+</orderedlist>
+</para>
+
+<para>
+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.
+</para>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisIntro.What">
+<title>
+What Can be Visualized
+</title>
+
+<para>
+Simulation data can be visualized:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Detector components
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        A hierarchical structure of physical volumes
+      </para></listitem>
+      <listitem><para>
+        A piece of physical volume, logical volume, and solid
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    Particle trajectories and tracking steps
+  </para></listitem>
+  <listitem><para>
+    Hits of particles in detector components
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+Other user defined objects can be visualized:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Polylines, such as coordinate axes
+  </para></listitem>
+  <listitem><para>
+    3D Markers, such as eye guides
+  </para></listitem>
+  <listitem><para>
+    Text, descriptive character strings, comments or titles
+  </para></listitem>
+  <listitem><para>
+    Scales
+  </para></listitem>
+  <listitem><para>
+    Logos
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisIntro.Choice">
+<title>
+You have a Choice of Visualization Drivers
+</title>
+
+<para>
+The many graphics systems that Geant4 supports are complementary to
+each other.
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    OpenGL
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        View directly from Geant4
+      </para></listitem>
+      <listitem><para>
+        Uses GL libraries that are already included on most Linux
+        systems (plus some Windows availability)
+      </para></listitem>
+      <listitem><para>
+        Rendered, photorealistic image with some interactive features
+      </para></listitem>
+      <listitem><para>
+        zoom, rotate, translate
+      </para></listitem>
+      <listitem><para>
+        Fast response (can usually exploit full potential of graphics
+        hardware)
+      </para></listitem>
+      <listitem><para>
+        Limited printing ability (pixel graphics, not vector graphics)
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    OpenInventor
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        View directly from Geant4
+      </para></listitem>
+      <listitem><para>
+        Requires addition of OpenInventor libraries (freely available
+        for most Linux systems).
+      </para></listitem>
+      <listitem><para>
+        Rendered, photorealistic image
+      </para></listitem>
+      <listitem><para>
+        Many interactive features
+      </para></listitem>
+      <listitem><para>
+        zoom, rotate, translate
+      </para></listitem>
+      <listitem><para>
+        click to "see inside" opaque
+        volumes
+      </para></listitem>
+      <listitem><para>
+        Fast response (can usually exploit full potential of graphics
+        hardware)
+      </para></listitem>
+      <listitem><para>
+        Expanded printing ability (vector and pixel graphics)
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    HepRep/WIRED
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Create a file to view in the WIRED3 HepRep Browser or the 
+        WIRED4 JAS Plugin
+      </para></listitem>
+      <listitem><para>
+        Requires WIRED browser (a Java application easily to install on
+        all operating systems)
+      </para></listitem>
+      <listitem><para>
+        Wireframe or simple area fills (not photorealistic)
+      </para></listitem>
+      <listitem><para>
+        Many interactive features
+      </para></listitem>
+      <listitem><para>
+        zoom, rotate, translate
+      </para></listitem>
+      <listitem><para>
+        click to show attributes (momentum, etc.)
+      </para></listitem>
+      <listitem><para>
+        special projections (FishEye, etc.)
+      </para></listitem>
+      <listitem><para>
+        control visibility from hierarchical (tree) view of data
+      </para></listitem>
+      <listitem><para>
+        Hierarchical view of the geometry
+      </para></listitem>
+      <listitem><para>
+        Export to many vector graphic formats (PostScript, PDF, etc.)
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    DAWN
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Create a file to view in the DAWN Renderer
+      </para></listitem>
+      <listitem><para>
+        Requires DAWN, available for all Linux and Windows systems.
+      </para></listitem>
+      <listitem><para>
+        Rendered, photorealistic image
+      </para></listitem>
+      <listitem><para>
+        No interactive features
+      </para></listitem>
+      <listitem><para>
+        Highest quality technical rendering - output to vector PostScript
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    VRML
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Create a file to view in any VRML browser (some as web browser
+        plug-ins).
+      </para></listitem>
+      <listitem><para>
+        Requires VRML browser (many different choices for different
+        operating systems).
+      </para></listitem>
+      <listitem><para>
+        Rendered, photorealistic image with some interactive features
+      </para></listitem>
+      <listitem><para>
+        zoom, rotate, translate
+      </para></listitem>
+      <listitem><para>
+        Limited printing ability (pixel graphics, not vector graphics)
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    RayTracer
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Create a jpeg file
+      </para></listitem>
+      <listitem><para>
+        Forms image by using Geant4's own tracking
+        to follow photons through the detector
+      </para></listitem>
+      <listitem><para>
+        Can show geometry but not trajectories
+      </para></listitem>
+      <listitem><para>
+        Can render any geometry that Geant4 can handle (such as Boolean
+        solids)
+      </para></listitem>
+      <listitem><para>
+        Supports shadows, transparency and mirrored surfaces
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    ASCIITree
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Text dump of the geometry hierarchy
+      </para></listitem>
+      <listitem><para>
+        Not graphical
+      </para></listitem>
+      <listitem><para>
+        Control over level of detail to be dumped
+      </para></listitem>
+      <listitem><para>
+        Can calculate mass and volume of any hierarchy of volumes
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisIntro.ChoDrv">
+<title>
+Choose the Driver that Meets Your Needs
+</title>
+
+<para>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    If you want very responsive photorealistic graphics (and have
+    the OpenGL libraries installed)
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        OpenGL is a good solution (if you have the Motif extensions,
+        this also gives GUI control)
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    If you want very responsive photorealistic graphics plus more
+    interactivity (and have the OpenInventor libraries installed)
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        OpenInventor is a good solution
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    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
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        HepRep/WIRED will meet your needs
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    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
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        DAWN is the way to go
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    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)
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        VRML is the way to go
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+</itemizedlist>
+
+<?soft-pagebreak ?>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    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
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        RayTracer will do it
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    If you just want to quickly check the geometry hierarchy, or if
+    you want to calculate the volume or mass of any geometry hierarchy
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        ASCIITree will meet your needs
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    You can also add your own visualization driver.
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Geant4's visualization system is modular. By
+        creating just three new classes, you can direct Geant4 information
+        to your own visualization system.
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisIntro.CntVis">
+<title>
+Controlling Visualization
+</title>
+
+<para>
+Your Geant4 code stays basically the same no matter which driver
+you use.
+</para>
+
+<para>
+Visualization is performed either with commands or from C++ code.
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Some visualization drivers work directly from Geant4
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        OpenGL
+      </para></listitem>
+      <listitem><para>
+        OpenInventor
+      </para></listitem>
+      <listitem><para>
+        RayTracer
+      </para></listitem>
+      <listitem><para>
+        ASCIITree
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    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)
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        HepRep/WIRED
+      </para></listitem>
+      <listitem><para>
+        DAWN
+      </para></listitem>
+      <listitem><para>
+        VRML
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisIntro.Details">
+<title>
+Visualization Details
+</title>
+
+<para>
+The following sections of this guide cover the details of Geant4
+visualization:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <xref linkend="sect.VisAddExe" />
+    Adding Visualization to Your Executable
+  </para></listitem>
+  <listitem><para>
+    <xref linkend="sect.VisDrv" />
+    The Visualization Drivers
+  </para></listitem>
+  <listitem><para>
+    <xref linkend="sect.VisCntCmmd" />
+      Controlling Visualization from Commands
+  </para></listitem>
+  <listitem><para>
+    <xref linkend="sect.VisCntCmpl" />
+      Controlling Visualization from Compiled Code
+  </para></listitem>
+  <listitem><para>
+    <xref linkend="sect.VisAtt" />
+    Visualization Attributes
+  </para></listitem>
+  <listitem><para>
+    <xref linkend="sect.VisEnhTrj" />
+    Enhanced Trajectory Drawing
+  </para></listitem>
+  <listitem><para>
+    <xref linkend="sect.VisPlylMrkTxt" />
+    Polylines, Markers and Text
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+Other useful references for Geant4 visualization outside of this
+user guide:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Introduction to Geant4 Visualization ( 
+    <ulink url="http://geant4.slac.stanford.edu/Presentations/vis/G4VisTutorial.pdf">
+    pdf</ulink>, 
+    <ulink url="http://geant4.slac.stanford.edu/Presentations/vis/G4VisTutorial.ppt">
+    ppt</ulink> )
+  </para></listitem>
+  <listitem><para>
+    Status of Geant4 Visualization (giving current status and a
+    summary of what has been improved over the last few releases) (
+    <ulink url="http://geant4.slac.stanford.edu/Presentations/vis/G4VisStatus.pdf">
+    pdf</ulink>, 
+    <ulink url="http://geant4.slac.stanford.edu/Presentations/vis/G4VisStatus.ppt">
+    ppt</ulink> )
+  </para></listitem>
+  <listitem><para>
+    Macro files distributed in Geant4 source in
+    <literal>examples/novice/N03/visTutor/</literal>.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/make_mpeg2encode_parfile.sh
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/make_mpeg2encode_parfile.sh	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/make_mpeg2encode_parfile.sh	(revision 904)
@@ -0,0 +1,279 @@
+#!/bin/bash
+#
+# This shell script generates a parameter file suitable for use
+# with mpeg2encode from http://www.mpeg.org/MSSG/.
+#
+# make_mpeg2encode_parfile is part of a group of unix shell scripts to aid in converting a group
+# of still-frame images to an mpeg-1 animation.
+# More information can be found at http://marc.me.utexas.edu/mpeg_tools.html.
+#
+#
+# There is no error checking. It is basic but functional.
+# It relies upon:
+#       /bin/sh
+#       awk
+#       identify  (from ImageMagick, http://www.imagemagick.org)
+#
+# Usage:
+#         make_mpeg2encode_parfile filelist
+#
+# where required arguemnts are:
+#
+#         filelist - filenames, including directory, where the still frame images reside
+#
+#
+# Examples:
+#         make_mpeg2encode_parfile /tmp/images/*
+#         make_mpeg2encode_parfile /tmp/images/scenarioA*.tif
+#
+# where the /tmp/images directory contains files something like:
+#
+#       frame.00001.tif
+#       frame.00002.tif
+#       frame.00003.tif
+#       ...
+#       frame.00486.tif
+#
+# The individual frames do not have to be tiff's; they can be any format 'convert' handles.
+# See notes within the 'imagetoppm' or 'imagetoyuv' scripts at
+# http://marc.me.utexas.edu/mpeg_tools.html.
+#
+# Result: mpeg2encode.par left in current working directory
+#
+#
+# Next possible steps to make a movie:
+#   (1) ensure the images are converted from whatever format into either ppm or yuv with:
+#         imagetoppm ./images/*.tif
+#       or
+#         imagetoyuv ./images/*.gif
+#
+#   (2) run the encoder with:
+#         mpeg2encode mpeg2encode.par movie.mpg
+#
+# For tips on how to combine 2 or more sequences of images into one mpeg, see the
+# 'renumber_sequence' script at http://marc.me.utexas.edu/mpeg_tools.html.
+# or use the 'rename' command and see http://www.tux.org/~mayer/linux/book.pdf.
+#
+#
+# Marc Compere
+# CompereM@asme.org
+# created : 18 September 2001
+# modified: 20 January 2002
+
+# development arg setup:
+#    filelist=(`ls still_frames/test*ppm`) ; echo ${filelist[*]}
+
+
+parameter_set=1 # the PAL (-->2) parameter set is ImageMagick's default, but NTSC (-->1) seems to make
+                # smaller mpeg's with similar playback quality
+
+if [ "$1" = "" ];
+then 
+   echo " Usage:"
+   echo "         make_mpeg2encode_parfile  filelist"
+   echo
+   echo " where the 'ppm' or 'yuv' string indicates which intermediate format to specify for mpeg2encode to use,"
+   echo " and where filelist is the list of filenames, including the directory, where the still frame images reside."
+   echo
+   echo " Examples:"
+   echo "         make_mpeg2encode_parfile /tmp/images/*"
+   echo "         make_mpeg2encode_parfile /tmp/images/scenarioA*.ppm"
+   echo " or"
+   echo "         make_mpeg2encode_parfile yuv /tmp/images/*"
+   echo "         make_mpeg2encode_parfile ppm /tmp/images/scenarioA*.tif"
+   echo
+   echo
+   echo "TYPICAL ANIMATION STEPS:"
+   echo " (1) convert images from their native format to ppm or yuv with:"
+   echo "        imagetoppm ./images/scenario1*.tif"
+   echo "        imagetoyuv ./images/scenario1*.tif"
+   echo " (2) make the encoder parameter file with:"
+   echo "        make_mpeg2encode_parfile ./images/scenario1*.ppm (use ppm images here to get image info properly in case padding was required)"
+   echo "        make_mpeg2encode_parfile ./images/scenario1*.tif (use tif images here if using yuv's to get image info properly)" 
+   echo " (3) run the encoder with:"
+   echo "        mpeg2encode mpeg2encode.par scenario1.mpg" $'\n\n'
+else
+
+   filelist=($*) 
+# assign input filename arglist
+
+if [ "$parameter_set" = "1" ];
+then
+   # set variables for NTSC
+   fps=1         # specifying frames per second (this actually comes from frc spec and is only used in the comment string)
+   Ngop=4        # 15 for NTSC
+   frc=5          # 5 for NTSC
+   vidfmt=2       # video format = 1->PAL, 2->NTSC
+   Nmatcoef=4     # 5->PAL, 4->NTSC
+elif [ "$parameter_set" = "2" ];
+then
+   # set variables for PAL
+   fps=25         # specifying frames per second (this actually comes from frc spec and is only used in the comment string)
+   Ngop=12        # 12 for NTSC
+   frc=3          # 3 for NTSC
+   vidfmt=1       # video format = 1->PAL, 2->NTSC
+   Nmatcoef=5     # 5->PAL, 4->NTSC
+else
+ echo "mpeg2encode_preproc: invalid parameter_set number",$parameter_set
+ echo "mpeg2encode_preproc: parameter_set should be 1 (for NTSC) or 2 (for PAL)"
+ echo "mpeg2encode_preproc: exiting...." $'\n\n\n'
+fi
+   
+
+# Set the rest of input parameters to write_parfile()
+parfile="mpeg2encode.par"     # output parameter file
+statfile="/dev/null"       # may be '-' for stdout or /dev/null (default) 
+ipff=1             # input picture file format (only 1->yuv3 or 2->ppm used here)
+                   # note: using ipff=2 for ppm's seems to create skewed animations that appear to have the aspect
+                   # ratio way off, but changing the aspect ratio in the parameter file seems to do nothing...
+                   # --> use yuv's as the input file format to mpeg2encode (yuv is the 'convert' default)
+# note: ipff was set at 2 which means using the .ppm image format, but now that option
+#       fails and causes mpeg2encode to crash.  (?) Go figure.  I'm now using the .yuv image format.
+#       10 January 2002
+
+
+bitrate=1152000.0  # default was 5000000.0 (bits/sec), but 1152000.0 is mo'bettah
+
+
+# find Nframes
+Nframes=-1                             # initially 0, but results in one extra filename. weird.
+for i in ${filelist[*]}
+do
+   let Nframes=Nframes+1
+done
+#echo $Nframes
+
+
+# find the common file (and directory name) prefix string to all image files:
+filenamelength=`echo ${filelist[0]} | awk '{print length}'`
+all_match=1
+char_cnt=0
+str1=(${filelist[0]})
+str2=(${filelist[${Nframes}-1]})
+while [ "${all_match}" = "1" -a "${char_cnt}" -le "${filenamelength}" ] ; do
+   if [ "${str1:$char_cnt:1}" = "${str2:$char_cnt:1}" ] ; # compare the characters in the first and last filenames
+   then
+      #echo "characters in element $char_cnt match" ;
+      let char_cnt=char_cnt+1
+   else
+      all_match=0
+      #echo "characters in element $char_cnt DO NOT match, exiting..." ;
+   fi
+done
+basefilename=${str1:0:$char_cnt}
+restofthefilename=${str1:$char_cnt}
+
+first_num=`echo ${restofthefilename} | awk -F. '{print $1}'` # this assumes the filename has an extension, ".something"
+maxnumchars=`echo $first_num | awk '{print length()}'`
+
+#  note:
+#    awk's array indicies are 1-based
+#    bash's array indicies are 0-based
+
+
+# place hsize and vsize in ${sizes[0]} and ${sizes[1]}
+info=(`identify -ping ${filelist[0]}`) # use ImageMagick's identify command
+sizes=(`echo ${info[2]} | awk -Fx '{print $1}{print $2}'`)
+hsize=${sizes[0]}
+vsize=${sizes[1]}
+
+# determine if hsize is an even number or not...
+hsize_odd=$(( $(( hsize % 2)) ? 1 : 0 ))
+vsize_odd=$(( $(( vsize % 2)) ? 1 : 0 ))
+
+# ... if so, correct it by adding one (mpeg2encode seems to complain otherwise)
+# note: this is *only* useful if you are trying to convert a seqence of odd horizonal- or
+#       vertical-sized yuv images.  A mismatch in specified yuv image sizes and the actual size
+#       used to create the yuv (i.e. from the original tif or gif or whatever) will generate a reasonably
+#       acceptable mpeg.  However, if ppm images require size-adjustment in the mpeg2encode.par
+#       file then you're in touble --> this means the ppm image has been 'identify'ed as an odd-sized image
+#       in either it's horizonal or vertical dimension and specifying a different number in the parameter
+#       file will generate a bad mpeg.  Use imagetoppm to convert the original file into a ppm and, in the
+#       process, if hsize or vsize is not even-numbered, imagetoppm will pad the image with 'pnmpad' such
+#       that this script will not require adjustment to get even-numbered hzize and vsizes.
+if [ "$hsize_odd" = "1" ];
+then
+   let hsize=hsize+1
+fi
+if [ "$vsize_odd" = "1" ];
+then
+   let vsize=vsize+1
+fi
+
+# variable descriptions:
+#    fps                - frame rate code, specifying frames per second
+#    parfile            - output parameter file
+#    basefilename       - text-string common to each filename (not including and leading directory names)
+#    maxnumchars        - number of characters in the largest number in the sequence, e.g. 2 for 10-99 frames, 3 for 100-999 frames, etc.
+#    statfile           - may be '-' for stdout (default=/dev/null)
+#    ipff               - input picture file format (only 1->yuv3 or 2->ppm used here)
+#    Nframes            - total number of frames (image files) within the sequence
+#    Ngop               - 12 or 15, number of frames within a Group Of Frames (GOP)
+#    hsize              - horizonal images size, from ImageMagick's identify command
+#    vsize              - horizonal images size, from ImageMagick's identify command
+#    frc                - framerate code, 1,2,3,4, or 5, see mpeg2encode documentation
+#    bitrate            - bits/sec, see mpeg2encode documentation
+#    vidfmt             - video format = 1->PAL, 2->NTSC, see mpeg2encode documentation
+#    Nmatcoef           - 5->PAL, 4->NTSC, see mpeg2encode documentation
+
+echo $'\t' "make_mpeg2encode_parfile: writing $parfile."
+      echo "MPEG-1, $fps frames/sec, `date`, parameter file generated by make_mpeg2encode_parfile" > $parfile
+      echo "$basefilename%0$maxnumchars""d    /* name of source files */" >> $parfile
+      echo "-         /* name of reconstructed images (\"-\": dont store) */" >> $parfile
+      echo "-         /* name of intra quant matrix file     (\"-\": default matrix) */" >> $parfile
+      echo "-         /* name of non intra quant matrix file (\"-\": default matrix) */" >> $parfile
+      echo "$statfile         /* name of statistics file (\"-\": stdout ) */" >> $parfile
+      echo "$ipff         /* input picture file format: 0=*.Y,*.U,*.V, 1=*.yuv, 2=*.ppm */" >> $parfile
+      echo "$Nframes       /* number of frames */" >> $parfile
+      echo "1         /* number of first frame */" >> $parfile
+      echo "00:00:00:00 /* timecode of first frame */" >> $parfile
+      echo "$Ngop        /* N (# of frames in GOP) */" >> $parfile
+      echo "2         /* M (I/P frame distance) */" >> $parfile
+      echo "1         /* ISO/IEC 11172-2 stream (0=MPEG-2, 1=MPEG-1)*/" >> $parfile
+      echo "0         /* 0:frame pictures, 1:field pictures */" >> $parfile
+      echo "${hsize}   /* horizontal_size */" >> $parfile
+      echo "${vsize}  /* vertical_size */" >> $parfile
+      echo "8         /* aspect_ratio_information 1=square pel, 2=4:3, 3=16:9, 4=2.11:1 */" >> $parfile
+      echo "$frc         /* frame_rate_code 1=23.976, 2=24, 3=25, 4=29.97, 5=30 frames/sec. */" >> $parfile
+      echo "$bitrate /* bit_rate (bits/s) */" >> $parfile
+      echo "112      /* vbv_buffer_size (in multiples of 16 kbit) */" >> $parfile
+      echo "0         /* low_delay  */" >> $parfile
+      echo "1         /* constrained_parameters_flag */" >> $parfile
+      echo "4         /* Profile ID: Simple = 5, Main = 4, SNR = 3, Spatial = 2, High = 1 */" >> $parfile
+      echo "8         /* Level ID:   Low = 10, Main = 8, High 1440 = 6, High = 4          */" >> $parfile
+      echo "1         /* progressive_sequence */" >> $parfile
+      echo "1         /* chroma_format: 1=4:2:0, 2=4:2:2, 3=4:4:4 */" >> $parfile
+      echo "$vidfmt         /* video_format: 0=comp., 1=PAL, 2=NTSC, 3=SECAM, 4=MAC, 5=unspec. */" >> $parfile
+      echo "5         /* color_primaries */" >> $parfile
+      echo "5         /* transfer_characteristics */" >> $parfile
+      echo "$Nmatcoef         /* matrix_coefficients */" >> $parfile
+      echo "$hsize       /* display_horizontal_size */" >> $parfile
+      echo "$vsize       /* display_vertical_size */" >> $parfile
+      echo "0         /* intra_dc_precision (0: 8 bit, 1: 9 bit, 2: 10 bit, 3: 11 bit */" >> $parfile
+      echo "0         /* top_field_first */" >> $parfile
+      echo "1 1 1     /* frame_pred_frame_dct (I P B) */" >> $parfile
+      echo "0 0 0     /* concealment_motion_vectors (I P B) */" >> $parfile
+      echo "0 0 0     /* q_scale_type  (I P B) */" >> $parfile
+      echo "0 0 0     /* intra_vlc_format (I P B)*/" >> $parfile
+      echo "0 0 0     /* alternate_scan (I P B) */" >> $parfile
+      echo "0         /* repeat_first_field */" >> $parfile
+      echo "1         /* progressive_frame */" >> $parfile
+      echo "0         /* P distance between complete intra slice refresh */" >> $parfile
+      echo "0         /* rate control: r (reaction parameter) */" >> $parfile
+      echo "0         /* rate control: avg_act (initial average activity) */" >> $parfile
+      echo "0         /* rate control: Xi (initial I frame global complexity measure) */" >> $parfile
+      echo "0         /* rate control: Xp (initial P frame global complexity measure) */" >> $parfile
+      echo "0         /* rate control: Xb (initial B frame global complexity measure) */" >> $parfile
+      echo "0         /* rate control: d0i (initial I frame virtual buffer fullness) */" >> $parfile
+      echo "0         /* rate control: d0p (initial P frame virtual buffer fullness) */" >> $parfile
+      echo "0         /* rate control: d0b (initial B frame virtual buffer fullness) */" >> $parfile
+      echo "2 2 11 11 /* P:  forw_hor_f_code forw_vert_f_code search_width/height */" >> $parfile
+      echo "1 1 3  3  /* B1: forw_hor_f_code forw_vert_f_code search_width/height */" >> $parfile
+      echo "1 1 7  7  /* B1: back_hor_f_code back_vert_f_code search_width/height */" >> $parfile
+      echo "1 1 7  7  /* B2: forw_hor_f_code forw_vert_f_code search_width/height */" >> $parfile
+      echo "1 1 3  3  /* B2: back_hor_f_code back_vert_f_code search_width/height */"  >> $parfile ;
+
+
+
+fi # end "if [ "$1" = "" ];" approximately on line 69
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/makingamovie.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/makingamovie.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/makingamovie.xml	(revision 904)
@@ -0,0 +1,352 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.MkMovie">
+<title>
+Making a Movie
+</title>
+
+<para>
+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. 
+</para>
+
+<para>
+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:
+
+<informaltable>
+  <tgroup cols="2">
+    <tbody>
+    <row>
+      <entry>
+        <emphasis role="bold">Driver</emphasis>
+      </entry>
+      <entry>
+        <emphasis role="bold">File type</emphasis>
+      </entry>
+    </row>
+    <row>
+      <entry>
+        DAWNFILE
+      </entry>
+      <entry>
+        prim then eps using <emphasis role="bold">dawn</emphasis>
+      </entry>
+    </row>
+    <row>
+      <entry>
+        HepRepFile
+      </entry>
+      <entry>
+        HepRep1
+      </entry>
+    </row>
+    <row>
+      <entry>
+        HepRep
+      </entry>
+      <entry>
+        HepRep2
+      </entry>
+    </row>
+    <row>
+      <entry>
+        OGLX
+      </entry>
+      <entry>
+        eps
+      </entry>
+    </row>
+    <row>
+      <entry>
+        RayTracer
+      </entry>
+      <entry>
+        jpeg
+      </entry>
+    </row>
+    <row>
+      <entry>
+        VRMLFILE
+      </entry>
+      <entry>
+        vrml
+      </entry>
+    </row>
+    </tbody>
+  </tgroup>
+</informaltable>
+</para>
+
+<para>
+So far, only DAWNFILE, OGLX and RayTracer have been "road tested".
+Once in a standard format, such as eps, the 
+<emphasis role="bold">convert</emphasis> program from 
+<ulink url="http://www.imagemagick.org">
+ImageMagick
+</ulink>
+ can convert to ppm files suitable for 
+<emphasis role="bold">mpeg2encode</emphasis>.
+</para>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.MkMovie.OGLX">
+<title>
+OGLX
+</title>
+
+<para>
+Make a macro something like this:
+
+<informalexample>
+<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
+</programlisting>
+</informalexample>
+
+which invokes movie.loop, which is something like:
+
+<informalexample>
+<programlisting>
+/vis/viewer/set/viewpointThetaPhi {theta} {phi}
+/vis/viewer/zoom 1.005
+/vis/ogl/printEPS
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+This produces lots of eps files. Then...
+
+<informalexample>
+<programlisting>
+<ulink url="./make_mpeg2encode_parfile.sh">make_mpeg2encode_parfile.sh</ulink> G4OpenGL_*eps
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Then edit mpeg2encode.par to specify file type and size, etc.:
+
+<informalexample>
+<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 */
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Then convert to ppm:
+
+<informalexample>
+<programlisting>
+for i in G4OpenGL*eps; 
+  do j=`basename $i .eps`; command="convert $i $j.ppm"; echo $command; $command; done
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Then
+
+<informalexample>
+<programlisting>
+mpeg2encode mpeg2encode.par G4OpenGL.mpg
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Then, on Mac, for example:
+
+<informalexample>
+<programlisting>
+open G4OpenGL.mpg
+</programlisting>
+</informalexample>
+
+opens a QuickTime player.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.MkMovie.DAWNFILE">
+<title>
+DAWNFILE
+</title>
+
+<para>
+You need to invoke <emphasis role="bold">dawn</emphasis> in "direct" mode, 
+which picks up parameters from .DAWN_1.history, and suppress the GUI:
+
+<informalexample>
+<programlisting>
+alias dawn='dawn -d'
+export DAWN_BATCH=1
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Change OGLSX to DAWNFILE in the above set of Geant4 commands and
+run. Then convert to ppm files as above:
+
+<informalexample>
+<programlisting>
+for i in g4_*.eps; 
+  do j=`basename $i .eps`; command="convert $i $j.ppm"; echo $command; $command; done
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Then make a .par file:
+
+<informalexample>
+<programlisting>
+<ulink url="./make_mpeg2encode_parfile.sh">make_mpeg2encode_parfile.sh</ulink> g4_*ppm
+</programlisting>
+</informalexample>
+
+and edit mpeg2encode.par:
+
+<informalexample>
+<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 */
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Then encode and play:
+
+<informalexample>
+<programlisting>
+mpeg2encode mpeg2encode.par DAWN.mpg
+open DAWN.mpg
+</programlisting>
+</informalexample>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.MkMovie.RyTrcX">
+<title>
+RayTracerX
+</title>
+
+<para>
+<informalexample>
+<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
+</programlisting>
+</informalexample>
+
+where movie.loop is as above. This produces lots of jpeg files (but
+takes 3 days!!!). Then...
+
+<informalexample>
+<programlisting>
+<ulink url="./make_mpeg2encode_parfile.sh">make_mpeg2encode_parfile.sh</ulink> g4RayTracer*jpeg
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Then edit mpeg2encode.par to specify file type and size, etc.:
+
+<informalexample>
+<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 */
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+
+Then convert to ppm, encode and play:
+
+<informalexample>
+<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
+</programlisting>
+</informalexample>
+</para>
+
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/markertext.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/markertext.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/markertext.xml	(revision 904)
@@ -0,0 +1,354 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.VisPlylMrkTxt">
+<title>
+Polylines, Markers and Text
+</title>
+
+<para>
+ Polylines, markers and text are defined in the
+<literal>graphics_reps</literal> category, and are used only for
+visualization. Here we explain their definitions and usages.
+</para>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisPlylMrkTxt.Plyl">
+<title>
+Polylines
+</title>
+
+<para>
+A polyline is a set of successive line segments. It is defined with
+a class <emphasis>G4Polyline</emphasis> defined in the 
+<literal>graphics_reps</literal> category. 
+A polyline is used to visualize tracking steps, particle
+trajectories, coordinate axes, and any other user-defined objects
+made of line segments.
+</para>
+
+<para>
+<emphasis>G4Polyline</emphasis> is defined as a list of 
+<emphasis>G4Point3D</emphasis> objects, i.e., vertex positions. 
+The vertex positions are set to a <emphasis>G4Polyline</emphasis> 
+object with the <literal>push_back()</literal> method.
+</para>
+
+<para>
+For example, an x-axis with length 5 cm and with red color is
+defined in <xref linkend="programlist_VisPlylMrkTxt_1" />.
+
+<example id="programlist_VisPlylMrkTxt_1">
+<title>
+Defining an x-axis with length 5 cm and with colour red.
+</title>
+
+<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
+</programlisting>
+</example>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisPlylMrkTxt.Mrk">
+<title>
+Markers
+</title>
+
+<para>
+Here we explain how to use 3D markers in Geant4 Visualization.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+What are Markers?
+</bridgehead>
+
+<para>
+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).
+</para>
+
+<para>
+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 <emphasis>G4ViewParameters</emphasis>.
+</para>
+
+<para>
+By default, "square" and "circle" are supported in Geant4
+Visualization. The former is described with class <emphasis>G4Square</emphasis>,
+and the latter with class <emphasis>G4Circle</emphasis>:
+
+<informaltable>
+  <tgroup cols="2">
+    <tbody>
+    <row>
+      <entry>
+        <emphasis role="bold">Marker Type</emphasis>
+      </entry>
+      <entry>
+        <emphasis role="bold">Class Name</emphasis>
+      </entry>
+    </row>
+    <row>
+      <entry>
+        circle
+      </entry>
+      <entry>
+        <emphasis>G4Circle</emphasis>
+      </entry>
+    </row>
+    <row>
+      <entry>
+        right square
+      </entry>
+      <entry>
+        <emphasis>G4Square</emphasis>
+      </entry>
+    </row>
+    </tbody>
+  </tgroup>
+</informaltable>
+</para>
+
+<para>
+These classes are inherited from class <emphasis>G4VMarker</emphasis>. 
+They have constructors as follows:
+
+<informalexample>
+<programlisting>
+      //----- Constructors of G4Circle and G4Square
+      G4Circle::G4Circle (const G4Point3D&amp; pos );
+      G4Square::G4Square (const G4Point3D&amp; pos);
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Access functions of class <emphasis>G4VMarker</emphasis> are summarized below.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Access functions of markers
+</bridgehead>
+
+<para>
+<xref linkend="programlist_VisPlylMrkTxt_2" /> shows the access functions 
+inherited from the base class <emphasis>G4VMarker</emphasis>.
+
+<example id="programlist_VisPlylMrkTxt_2">
+<title>
+The access functions inherited from the base class
+<emphasis>G4VMarker</emphasis>.
+</title>
+
+<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};
+</programlisting>
+</example>
+</para>
+
+<para>
+<xref linkend="programlist_VisPlylMrkTxt_3" /> 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.
+
+<example id="programlist_VisPlylMrkTxt_3">
+<title>
+Sample C++ source code to define a very small red circle.
+</title>
+
+<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
+</programlisting>
+</example>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisPlylMrkTxt.Txt">
+<title>
+Text
+</title>
+
+<para>
+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 <emphasis>G4Text</emphasis> . The following
+constructors are supported:
+
+<informalexample>
+<programlisting>
+     //----- Constructors of G4Text
+     G4Text (const G4String&amp; text);
+     G4Text (const G4String&amp; text, const G4Point3D&amp; pos);
+</programlisting>
+</informalexample>
+
+where the argument <literal>text</literal> is the text (string) to be
+visualized, and <literal>pos</literal> is the 3D position at which the text
+is visualized.
+</para>
+
+<para>
+Note that class <emphasis>G4Text</emphasis> also inherits <emphasis>G4VMarker</emphasis>.
+Size of text is recognized as "font size", i.e., height of the
+text. All the access functions defined for class <emphasis>G4VMarker</emphasis>
+mentioned above are available. In addition, the following access
+functions are available, too:
+
+<informalexample>
+<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;
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Method <literal>SetText()</literal> defines text to be visualized, and
+<literal>GetText()</literal> returns the defined text. Method
+<literal>SetOffset()</literal> 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 <literal>G4VMarker:SetPosition()</literal>.
+Offsets should be given with the same units as the one adopted for
+the size, i.e., world-size or screen-size units.
+</para>
+
+<para>
+<xref linkend="programlist_VisPlylMrkTxt_4" /> shows sample C++ source code 
+to define text with the following properties:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Text: "Welcome to Geant4 Visualization"
+  </para></listitem>
+  <listitem><para>
+    Position: (0.,0.,0.) in the world coordinates
+  </para></listitem>
+  <listitem><para>
+    Horizontal offset: 10 pixels
+  </para></listitem>
+  <listitem><para>
+    Vertical offset: -20 pixels
+  </para></listitem>
+  <listitem><para>
+    Colour: blue (default)
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+<example id="programlist_VisPlylMrkTxt_4">
+<title>
+An example of defining text.
+</title>
+
+<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
+</programlisting>
+</example>
+</para>
+
+
+</sect2>
+</sect1>
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Tree0_mac.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Tree0_mac.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Tree0_mac.html	(revision 904)
@@ -0,0 +1,61 @@
+<pre>
+#######################################################################
+#  MACRO FILE NAME: exN03Tree0.mac                                    #
+#                                                                     #
+#  AUTHOR(S): Satoshi Tanaka                                          #
+#                                                                     #
+#  DATE:                                                              #
+#        Sept     08-09, 2001 (at Hebden Bridge, UK)                  #
+#        June     20, 2001                                            #
+#                                                                     #
+#  CONTENTS: A macro to demonstrate ASCII DTREE                       #
+#                                                                     #
+#  USAGE:                                                             #
+#          % $G4BINDIR/exampleN03                                     #
+#          Idle> /control/execute visTutor/exN03Tree0.mac             #
+#                                                                     #
+#  REQUIRED PLATFORMS & SOFTWARES: Unix / Windows                     #
+#                                                                     #
+#  ENVIRONMENTAL VARIABLES (C-MACROS) FOR INSTALLATION:               #
+#                                                                     #
+#    * Unnecessary                                                    #
+#                                                                     #
+#  ENVIRONMENTAL VARIABLES (C-MACROS) FOR COMPILATION:                #
+#  (See geant4/source/visualization/README for details.)              #
+#                                                                     #
+#    * Unnecessary                                                    #
+#                                                                     # 
+#  VERBOSE LEVEL:                                                     #
+#                                                                     # 
+#    <  10: - does not print daughters of repeated logical volumes.   #
+#           - does not repeat replicas.                               #
+#    >= 10: prints all physical volumes.                              #
+#    For level of detail add:                                         #
+#    >=  0: prints physical volume name.                              #
+#    >=  1: prints logical volume name.                               #
+#    >=  2: prints solid name and type.                               #
+#                                                                     #
+#  ADDITIONAL NOTES:                                                  #
+#    * The geometry tree is displayed in the stdout.                  #
+#    * The compound command to visualize geometry tree:               # 
+#      /vis/drawTree [<physical-volume-name>] [<system>]              # 
+#######################################################################
+
+# Draw the whole geometry tree
+/vis/drawTree 
+
+# Draw a part of tree
+/vis/drawTree Gap 
+
+# Change the level to display details 
+/vis/ASCIITree/verbose 1
+/vis/drawTree
+
+# Change the level to display details
+/vis/ASCIITree/verbose 2
+/vis/drawTree
+
+# Change the level to display details
+/vis/ASCIITree/verbose 10
+/vis/drawTree
+</pre>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Tree1_mac.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Tree1_mac.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Tree1_mac.html	(revision 904)
@@ -0,0 +1,65 @@
+<pre>
+#######################################################################
+#  MACRO FILE NAME: exN03Tree1.mac                                    #
+#                                                                     #
+#  AUTHOR(S): Satoshi Tanaka                                          #
+#                                                                     #
+#  DATE:                                                              #
+#        Sept     08-09, 2001 (at Hebden Bridge, UK)                  #
+#        June     20, 2001                                            #
+#                                                                     #
+#  CONTENTS: A macro to demonstrate GAG DTREE                         #
+#                                                                     #
+#  USAGE:                                                             #
+#          * Edit exampleN03.cc to use the GAG interface              #
+#          % $G4BINDIR/exampleN03                                     #
+#          Idle> /control/execute visTutor/exN03Tree1.mac             #
+#                                                                     #
+#  REQUIRED PLATFORMS & SOFTWARES: Unix/Windows, GAG (Java version)   #
+#                                                                     #
+#  ENVIRONMENTAL VARIABLES (C-MACROS) FOR INSTALLATION:               #
+#                                                                     #
+#    * Unnecessary                                                    #
+#                                                                     #
+#  ENVIRONMENTAL VARIABLES (C-MACROS) FOR COMPILATION:                #
+#  (See geant4/source/visualization/README for details.)              #
+#                                                                     #
+#    * Unnecessary                                                    #
+#                                                                     # 
+#  VERBOSE LEVEL:                                                     #
+#                                                                     # 
+#    <  10: - does not print daughters of repeated logical volumes.   #
+#           - does not repeat replicas.                               #
+#    >= 10: prints all physical volumes.                              #
+#    For level of detail add:                                         #
+#    >=  0: prints physical volume name.                              #
+#    >=  1: prints logical volume name.                               #
+#    >=  2: prints solid name and type.                               #
+#                                                                     #
+#  ADDITIONAL NOTES:                                                  #
+#    * The geometry tree is displayed in GAG windows stdout.          #
+#      (If you are using the G4 character terminals, the tree is      #
+#       displayed in stdout.)                                         # 
+#    * The compound command to visualize geometry tree:               # 
+#      /vis/drawTree [<physical-volume-name>] [<system>]              #
+#######################################################################
+
+# Draw the whole geometry tree
+#  Note: "!" means the default argument, i.e., "world"
+/vis/drawTree ! GAGTree
+
+# Draw a part of tree
+/vis/drawTree Gap GAGTree
+
+# Change the level to display details 
+/vis/GAGTree/verbose 1
+/vis/drawTree ! GAGTree
+
+# Change the level to display details
+/vis/GAGTree/verbose 2
+/vis/drawTree ! GAGTree
+
+# Change the level to display details
+/vis/GAGTree/verbose 10
+/vis/drawTree ! GAGTree
+</pre>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis0_mac.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis0_mac.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis0_mac.html	(revision 904)
@@ -0,0 +1,110 @@
+<pre>
+#######################################################################
+#  MACRO FILE NAME: exN03Vis0.mac                                     #
+#                                                                     #
+#  AUTHOR(S): Satoshi Tanaka                                          #
+#                                                                     #
+#  DATE:                                                              #
+#        Nov      07, 2001                                            #
+#        Sept     08-09, 2001 (at Hebden Bridge, UK)                  #
+#        June     20, 2001                                            #
+#        November 26, 2000                                            #
+#        October  17, 2000                                            # 
+#        June     06, 2000                                            # 
+#        May      20, 2000                                            # 
+#        November 10, 1999                                            #
+#                                                                     #
+#  CONTENTS: A simplest macro to demonstrate visualization of         #
+#            detector geometry and events                             #
+#                                                                     #
+#  USAGE:  % gmake visclean                                           #
+#          % $G4BINDIR/exampleN03                                     #
+#          Idle> /control/execute visTutor/exN03Vis0.mac              #
+#                                                                     #
+#  REQUIRED PLATFORMS & SOFTWARES: Unix, X-window, OpenGL,            #
+#                                  DAWN (version 3.85 or after)       #
+#                                  gv (Ghostview), Tcl/Tk             #
+#                                                                     #
+#  ENVIRONMENTAL VARIABLES (C-MACROS) FOR INSTALLATION:               #
+#  (See geant4/source/visualization/README for details.)              #
+#                                                                     #
+#    % setenv OGLHOME     ... (e.g. /usr/X11R6)                       #
+#    % setenv G4VIS_BUILD_OPENGLX_DRIVER   1                          # 
+#                                                                     #
+#  ENVIRONMENTAL VARIABLES (C-MACROS) FOR COMPILATION:                #
+#  (See geant4/source/visualization/README for details.)              #
+#                                                                     #
+#    % setenv G4VIS_USE_OPENGLX            1                          #
+#                                                                     #
+#  ADDITIONAL NOTES:                                                  #
+#    The compound command "/vis/open <vis-driver-name>"               #
+#    is equivalent to the following set of commands:                  #
+#                                                                     #
+#      /vis/sceneHandler/create $1                                    #
+#      /vis/viewer/create                                             #
+#                                                                     #
+#    The compound command "/vis/drawVolume <physical-volume-name>"    #
+#    is equivalent to the following set of commands:                  #
+#                                                                     #
+#      /vis/scene/create                                              #
+#      /vis/scene/add/volume $1                                       #
+#      /vis/sceneHandler/attach                                       #
+#                                                                     #
+#######################################################################
+
+##############################################
+# Visualization of detector geometry 
+#  with the OGLIX (OpenGL Immediate X) driver
+##############################################
+
+# Invoke the OGLIX driver
+/vis/open OGLIX
+#/vis/open DAWNFILE
+
+# Set camera 
+/vis/viewer/reset 
+/vis/viewer/set/viewpointThetaPhi 70 20
+
+# Create an empty scene and add the detector geometry to it
+/vis/drawVolume
+
+# The following command "flush" 
+#  the action of the current viewer.
+#  They are required for the post-processing drivers 
+#  such as DAWNFILE, VRMLFILE, HepRep drivers, etc.
+#  For OpenGL drivers, these commands are not required
+#  but harmless even if they are described.
+/vis/viewer/flush
+
+#########################################################
+# Visualization of events with the DAWNFILE driver
+#
+#  * Each visualized view is saved to a file "g4_XX.eps"  
+#    with the "vectorized" PostScript format.
+#
+#  * Set an environmental variable if you wish to 
+#    skip DAWN GUI:
+#     % setenv G4DAWNFILE_VIEWER "dawn -d"
+##########################################################
+
+# Invoke the DAWNFILE driver
+/vis/open DAWNFILE
+
+# Add the world volume to the current scene
+/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
+
+# Set camera 
+/vis/viewer/reset 
+/vis/viewer/zoom              1.5
+/vis/viewer/set/viewpointThetaPhi 70 20
+
+# Visualize events added to the current scene
+/tracking/storeTrajectory 1
+/run/beamOn 3
+</pre>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis10_mac.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis10_mac.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis10_mac.html	(revision 904)
@@ -0,0 +1,72 @@
+<pre>
+#######################################################################
+#  MACRO FILE NAME: exN03Vis10.mac                                     #
+#                                                                     #
+#  AUTHOR(S): Guy Barrand                                             #
+#                                                                     #
+#  DATE: June 09, 2000                                                #
+#                                                                     #
+#  CONTENTS: A basic macro for demonstrating Inventor driver          #
+#                                                                     #
+#  USAGE:  % $G4BINDIR/exampleN03  visTutor/exN03Vis6.mac             #
+#                                                                     #
+#  REQUIRED PLATFORMS & SOFTWARES: Windows,                           #
+#                                  some Inventor (TGS, SGI, Coin)     #
+#                                                                     #
+#  ENVIRONMENTAL VARIABLES (C-MACROS) FOR INSTALLATION:               #
+#  (See geant4/source/visualization/README for details.)              #
+#                                                                     #
+#    G4VIS_BUILD_OIWIN32_DRIVER                                       # 
+#    G4UI_BUILD_WIN32_SESSION                                         # 
+#                                                                     #
+#  ENVIRONMENTAL VARIABLES (C-MACROS) FOR COMPILATION:                #
+#  (See geant4/source/visualization/README for details.)              #
+#                                                                     #
+#    G4VIS_USE_OIWIN32                                                #
+#    G4UI_USE_WIN32                                                   # 
+#                                                                     # 
+#  ADDITIONAL NOTES:                                                  #
+#                                                                     # 
+#######################################################################
+
+# Create "scene-0" 
+/vis/scene/create
+
+# Invoke the OpenInventor driver 
+/vis/sceneHandler/create OIWin32
+/vis/viewer/create
+
+# Add the world volume to the current scene
+/vis/scene/add/volume
+#/vis/scene/add/volume Layer
+# Name of the absorbers = name of their material (Lead) !
+#/vis/scene/add/volume Lead
+# Name of the gaps = name of their material (liquidArgon) !
+#/vis/scene/add/volume liquidArgon
+#/vis/scene/add/trajectories
+/tracking/storeTrajectory 1
+
+# Bird-eye view of events
+/vis/viewer/reset
+/vis/viewer/set/viewpointThetaPhi   45 45 
+
+/vis/scene/notifyHandlers
+
+/control/verbose 2
+#######################################################################
+#   Controls on an Inventor examiner viewer are :                     #
+#  - in picking mode (cursor is the upper left arrow)                 #
+#   Ctrl + pick a volume : see daughters.                             #
+#   Shift + pick a volume : see mother.                               #
+#  - in viewing mode (cursor is the hand)                             #
+#   Left-button + pointer move : rotate.                              #
+#   Ctrl+Left-button + pointer move : pane.                           #
+#   Ctrl+Shift+Left-button + pointer move : scale.                    #
+#   Middle-button + pointer move : pane.                              #
+#                                                                     #
+#######################################################################
+
+/vis/viewer/update
+
+/run/beamOn 1
+</pre>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis11_mac.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis11_mac.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis11_mac.html	(revision 904)
@@ -0,0 +1,159 @@
+<pre>
+#######################################################################
+#  MACRO FILE NAME: exN03Vis11.mac                                     #
+#                                                                     #
+#  AUTHOR(S): Guy Barrand dd                                          #
+#                                                                     #
+#  DATE:                                                              #
+#        April    08, 2004                                            #
+#                                                                     #
+#  CONTENTS: A basic macro for visualization of detector geometry     #
+#                                                                     #
+#  USAGE:  % gmake visclean                                           #
+#          % $G4BINDIR/exampleN03                                     #
+#          Idle> /control/execute visTutor/exN03Vis11.mac             #
+#                                                                     #
+#  REQUIRED PLATFORMS & SOFTWARES: Unix, X-window, OpenGL,            #
+#                                  DAWN (version 3.85 or after)       #
+#                                  gv (Ghostview), Tcl/Tk             #
+#                                                                     #
+#  ENVIRONMENTAL VARIABLES (C-MACROS) FOR INSTALLATION:               #
+#  (See geant4/source/visualization/README for details.)              #
+#                                                                     #
+#    % setenv OGLHOME     ... (e.g. /usr/X11R6)                       #
+#    % setenv G4VIS_BUILD_OPENGLX_DRIVER   1                          # 
+#                                                                     #
+#  ENVIRONMENTAL VARIABLES (C-MACROS) FOR COMPILATION:                #
+#  (See geant4/source/visualization/README for details.)              #
+#                                                                     #
+#    % setenv G4VIS_USE_OPENGLX            1                          #
+#                                                                     # 
+#  ADDITIONAL NOTES:                                                  #
+#    The compound command "/vis/open <vis-driver-name>"               #
+#    is equivalent to the following set of commands:                  #
+#                                                                     #
+#      /vis/sceneHandler/create $1                                    #
+#      /vis/viewer/create                                             #
+#                                                                     #
+#    The compound command "/vis/drawVolume <physical-volume-name>"    #
+#    is equivalent to the following set of commands:                  #
+#                                                                     #
+#      /vis/scene/create                                              #
+#      /vis/scene/add/volume $1                                       #
+#      /vis/sceneHandler/attach                                       #
+#                                                                     #
+#######################################################################
+
+###########################################
+# Visualization of detector geometry 
+#  with the OGLSXm (OpenGL Stored Motif) driver
+###########################################
+
+# Invoke the OGLSXm driver 
+/vis/open OGLSXm
+
+# Bird's-eye view of the detector geometry 
+#
+#  viewpoint  : (theta,phi) = (20*deg, 70*deg), 
+#  zoom factor: 0.8 of the full screen size
+#
+/vis/viewer/reset
+/vis/viewer/set/viewpointThetaPhi  20 70
+/vis/viewer/zoom               0.8 
+/vis/drawVolume
+
+# The following two commands "flush" 
+#  the action of the current viewer.
+#  They are required for the post-processing drivers 
+#  such as DAWNFILE, VRMLFILE, HepRep drivers, etc.
+#  For OpenGL drivers, these commands are not required
+#  but harmless even if they are described.
+/vis/viewer/flush
+
+##########################################################
+# Visualization with the DAWNFILE driver
+#
+#  * Each visualized view is saved to a file "g4_XX.eps"  
+#    with the "vectorized" PostScript format.
+#
+#  * Set an environmental variable if you wish to 
+#    skip DAWN GUI:
+#     % setenv G4DAWNFILE_VIEWER "dawn -d"
+##########################################################
+
+# Invoke the DAWNFILE driver 
+/vis/open DAWNFILE
+
+# Bird's-eye view of a detector component (Absorber)
+#  viewpoint  : (theta,phi) = (35*deg, 35*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
+#  Scale: length = 10 cm, Orientation = z, color = red, 
+#         placing_algorithm = manual, 
+#         center = (-2.5 cm , -5 cm, 0 cm)
+#
+/vis/viewer/reset
+/vis/viewer/zoom               1.1
+/vis/viewer/set/viewpointThetaPhi  35 35
+/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/scene/add/scale     10 cm z 1 0 0 manual -2.5 -5 0  cm
+
+# "Flush the action of all the existing viewers.
+#   Note: You should execute these commands, e.g.,  
+#         when the current scene is modified.
+/vis/scene/notifyHandlers
+/vis/viewer/update
+
+# FOR FUTURE UPDATION
+#/vis/viewer/flushAll
+
+# Bird's-eye view of a detector component (Gap)
+/vis/viewer/reset
+/vis/viewer/zoom               1.1
+/vis/viewer/set/viewpointThetaPhi  35 35
+/vis/drawVolume                Gap 
+/vis/scene/add/axes  	  0 0 0 500 mm
+/vis/scene/add/text       0 0 0 mm  50 -100 -140   Gap 
+/vis/scene/add/scale      10 cm z 1 0 0 manual -2.5 -5  0 cm
+
+# "Flush the action of all the existing viewers.
+/vis/scene/notifyHandlers
+/vis/viewer/update
+
+# FOR FUTURE UPDATION
+#/vis/viewer/flushAll
+
+
+# Bird's-eye view of the whole detector components (world)
+#  * The argument "world" of the command 
+#    "/vis/scene/add/volume" is omittable.
+#  * "/vis/viewer/set/culling false" makes the invisible 
+#    world volume visible.
+#    (The invisibility of the world volume is set 
+#     in ExN03DetectorConstruction.cc.)
+/vis/viewer/reset
+/vis/viewer/zoom               1.1
+/vis/viewer/set/viewpointThetaPhi  35 35
+/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 -100 -240   World
+/vis/scene/add/scale     10 cm x 1 0 0 
+
+# "Flush the action of all the existing viewers.
+/vis/scene/notifyHandlers
+/vis/viewer/update
+
+# FOR FUTURE UPDATION
+#/vis/viewer/flushAll
+
+
+# Make the culling on for next visualization
+#  Note: You may also use "/vis/viewer/reset" 
+#        for this initialization. 
+/vis/viewer/set/culling       global true
+</pre>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis12_loop.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis12_loop.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis12_loop.html	(revision 904)
@@ -0,0 +1,5 @@
+<pre>
+# exN03Vis12.loop
+/vis/ogl/set/startTime {startTime} ns {timeRange} ns
+/vis/viewer/update
+</pre>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis12_mac.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis12_mac.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis12_mac.html	(revision 904)
@@ -0,0 +1,94 @@
+<pre>
+#######################################################################
+#  MACRO FILE NAME: exN03Vis12.mac                                    #
+#                                                                     #
+#  AUTHOR(S): John Allison                                            #
+#                                                                     #
+#  DATE: 16th August 2006                                             #
+#                                                                     #
+#  CONTENTS: A basic macro for demonstrating time slicing             #
+#                                                                     #
+#  USAGE:  % $G4BINDIR/exampleN03  visTutor/exN03Vis12.mac             #
+#                                                                     #
+#  REQUIRED PLATFORMS & SOFTWARES: Mac/Unix with X-Windows, OpenGL    #
+#                                                                     #
+#  ADDITIONAL NOTES:                                                  #
+#                                                                     # 
+#######################################################################
+
+/control/verbose 2
+/vis/verbose confirmations
+
+/vis/open OGLSX
+/vis/drawVolume
+/vis/scene/add/trajectories
+/vis/scene/add/eventID
+
+# Set up drawByCharge with time slicing
+/vis/modeling/trajectories/create/drawByCharge
+/vis/modeling/trajectories/drawByCharge-0/default/setDrawStepPts true
+/vis/modeling/trajectories/drawByCharge-0/default/setStepPtsSize 5
+/vis/modeling/trajectories/drawByCharge-0/default/setDrawAuxPts true
+/vis/modeling/trajectories/drawByCharge-0/default/setAuxPtsSize 5
+/vis/modeling/trajectories/drawByCharge-0/default/setTimeSliceInterval 0.001 ns
+/vis/modeling/trajectories/list
+#/N03/det/setField 5 T
+#/N03/det/update
+/run/beamOn
+
+# Configure OpenGL for display-by-time
+/vis/ogl/set/fade 1
+/vis/ogl/set/displayHeadTime true
+/control/alias timeRange 0.1
+/vis/verbose warnings
+/control/verbose 0
+/control/loop visTutor/exN03Vis12.loop startTime -{timeRange} 0.7 0.005
+/control/verbose 2
+/vis/verbose confirmations
+
+# Set up drawByParticleID with time slicing
+/vis/modeling/trajectories/create/drawByParticleID
+/vis/modeling/trajectories/drawByParticleID-0/set e- red
+/vis/modeling/trajectories/drawByParticleID-0/set e+ blue
+/vis/modeling/trajectories/drawByParticleID-0/set pi- cyan
+/vis/modeling/trajectories/drawByParticleID-0/set pi+ magenta
+#/vis/modeling/trajectories/drawByParticleID-0/default/setDrawStepPts true
+/vis/modeling/trajectories/drawByParticleID-0/default/setStepPtsSize 5
+#/vis/modeling/trajectories/drawByParticleID-0/default/setDrawAuxPts true
+/vis/modeling/trajectories/drawByParticleID-0/default/setAuxPtsSize 5
+/vis/modeling/trajectories/drawByParticleID-0/default/setTimeSliceInterval 0.001 ns
+/vis/modeling/trajectories/list
+
+# Remove gammas
+/vis/filtering/trajectories/create/particleFilter
+/vis/filtering/trajectories/particleFilter-0/add gamma
+/vis/filtering/trajectories/particleFilter-0/invert true
+
+/gun/energy 1 GeV
+/run/beamOn
+/control/alias timeRange 0.1
+/vis/ogl/set/displayLightFront true -90 0 0 mm
+/vis/verbose warnings
+/control/verbose 0
+/control/loop visTutor/exN03Vis12.loop startTime -{timeRange} 0.7 0.001
+/control/verbose 2
+/vis/verbose confirmations
+/vis/ogl/set/displayLightFront false
+
+# To see pi -> mu -> e decay.
+/gun/particle pi+
+/vis/filtering/trajectories/particleFilter-0/add anti_nu_mu
+/vis/filtering/trajectories/particleFilter-0/add nu_mu
+/vis/filtering/trajectories/particleFilter-0/add anti_nu_e
+/vis/filtering/trajectories/particleFilter-0/add nu_e
+# Accumulate several events for effect
+# /vis/scene/endOfEventAction accumulate
+/gun/energy 100 MeV
+/run/beamOn
+/control/alias timeRange 1000
+/vis/verbose warnings
+/control/verbose 0
+/control/loop visTutor/exN03Vis12.loop startTime -{timeRange} 3000 5
+/control/verbose 2
+/vis/verbose confirmations
+</pre>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis13_loop.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis13_loop.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis13_loop.html	(revision 904)
@@ -0,0 +1,6 @@
+<pre>
+# exN03Vis13.loop
+/vis/viewer/pan {dx} 0 mm
+/vis/ogl/set/endTime {endTime} ns {timeRange} ns
+/vis/viewer/update
+</pre>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis13_mac.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis13_mac.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis13_mac.html	(revision 904)
@@ -0,0 +1,63 @@
+<pre>
+#######################################################################
+#  MACRO FILE NAME: exN03Vis13.mac                                    #
+#                                                                     #
+#  AUTHOR(S): John Allison                                            #
+#                                                                     #
+#  DATE: 18th August 2006                                             #
+#                                                                     #
+#  CONTENTS: Time development of an electrmagnetic shower.            #
+#                                                                     #
+#  USAGE:  % $G4BINDIR/exampleN03  visTutor/exN03Vis12.mac             #
+#                                                                     #
+#  REQUIRED PLATFORMS & SOFTWARES: Mac/Unix with X-Windows, OpenGL    #
+#                                                                     #
+#  ADDITIONAL NOTES:                                                  #
+#                                                                     # 
+#######################################################################
+
+/control/verbose 2
+/vis/verbose confirmations
+
+/vis/open OGLSX 600x600-0+0
+/vis/drawVolume
+/vis/scene/add/trajectories
+/vis/scene/add/eventID
+
+# Set up drawByParticleID with time slicing
+/vis/modeling/trajectories/create/drawByParticleID
+/vis/modeling/trajectories/drawByParticleID-0/set e- red
+/vis/modeling/trajectories/drawByParticleID-0/set e+ blue
+/vis/modeling/trajectories/drawByParticleID-0/set pi- cyan
+/vis/modeling/trajectories/drawByParticleID-0/set pi+ magenta
+#/vis/modeling/trajectories/drawByParticleID-0/default/setDrawStepPts true
+/vis/modeling/trajectories/drawByParticleID-0/default/setStepPtsSize 5
+#/vis/modeling/trajectories/drawByParticleID-0/default/setDrawAuxPts true
+/vis/modeling/trajectories/drawByParticleID-0/default/setAuxPtsSize 5
+/vis/modeling/trajectories/drawByParticleID-0/default/setTimeSliceInterval 0.01 ns
+/vis/modeling/trajectories/list
+
+# Remove gammas
+/vis/filtering/trajectories/create/particleFilter
+/vis/filtering/trajectories/particleFilter-0/add gamma
+/vis/filtering/trajectories/particleFilter-0/invert true
+
+# Create trajecgtories
+/gun/energy 10 GeV
+/vis/viewer/set/globalLineWidthScale 2
+/run/beamOn
+
+# Run time sequence
+/vis/ogl/set/fade 1
+/vis/ogl/set/displayHeadTime true
+/vis/ogl/set/displayLightFront true -90 0 0 mm
+/vis/viewer/panTo -9 0 cm
+/vis/viewer/zoomTo 2
+/control/alias timeRange 0.1
+/control/alias dx 0.3
+/vis/verbose warnings
+/control/verbose 0
+/control/loop visTutor/exN03Vis13.loop endTime 0 0.7 0.001
+/control/verbose 2
+/vis/verbose confirmations
+</pre>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis1_mac.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis1_mac.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis1_mac.html	(revision 904)
@@ -0,0 +1,166 @@
+<pre>
+#######################################################################
+#  MACRO FILE NAME: exN03Vis1.mac                                     #
+#                                                                     #
+#  AUTHOR(S): Satoshi Tanaka                                          #
+#                                                                     #
+#  DATE:                                                              #
+#        Nov      07, 2001                                            #
+#        Sept     08-09, 2001 (at Hebden Bridge, UK)                  #
+#        June     20, 2001                                            #
+#        November 26, 2000                                            #
+#        October  17, 2000                                            # 
+#        June     06, 2000                                            # 
+#        May      20, 2000                                            # 
+#        November 10, 1999                                            #
+#                                                                     #
+#  CONTENTS: A basic macro for visualization of detector geometry     #
+#                                                                     #
+#  USAGE:  % gmake visclean                                           #
+#          % $G4BINDIR/exampleN03                                     #
+#          Idle> /control/execute visTutor/exN03Vis1.mac              #
+#                                                                     #
+#  REQUIRED PLATFORMS & SOFTWARES: Unix, X-window, OpenGL,            #
+#                                  DAWN (version 3.85 or after)       #
+#                                  gv (Ghostview), Tcl/Tk             #
+#                                                                     #
+#  ENVIRONMENTAL VARIABLES (C-MACROS) FOR INSTALLATION:               #
+#  (See geant4/source/visualization/README for details.)              #
+#                                                                     #
+#    % setenv OGLHOME     ... (e.g. /usr/X11R6)                       #
+#    % setenv G4VIS_BUILD_OPENGLX_DRIVER   1                          # 
+#                                                                     #
+#  ENVIRONMENTAL VARIABLES (C-MACROS) FOR COMPILATION:                #
+#  (See geant4/source/visualization/README for details.)              #
+#                                                                     #
+#    % setenv G4VIS_USE_OPENGLX            1                          #
+#                                                                     # 
+#  ADDITIONAL NOTES:                                                  #
+#    The compound command "/vis/open <vis-driver-name>"               #
+#    is equivalent to the following set of commands:                  #
+#                                                                     #
+#      /vis/sceneHandler/create $1                                    #
+#      /vis/viewer/create                                             #
+#                                                                     #
+#    The compound command "/vis/drawVolume <physical-volume-name>"    #
+#    is equivalent to the following set of commands:                  #
+#                                                                     #
+#      /vis/scene/create                                              #
+#      /vis/scene/add/volume $1                                       #
+#      /vis/sceneHandler/attach                                       #
+#                                                                     #
+#######################################################################
+
+###########################################
+# Visualization of detector geometry 
+#  with the OGLSX (OpenGL Stored X) driver
+###########################################
+
+# Invoke the OGLSX driver 
+/vis/open OGLSX
+
+# Bird's-eye view of the detector geometry 
+#
+#  viewpoint  : (theta,phi) = (20*deg, 70*deg), 
+#  zoom factor: 0.8 of the full screen size
+#
+/vis/viewer/reset
+/vis/viewer/set/viewpointThetaPhi  20 70
+/vis/viewer/zoom               0.8 
+/vis/drawVolume
+
+# The following two commands "flush" 
+#  the action of the current viewer.
+#  They are required for the post-processing drivers 
+#  such as DAWNFILE, VRMLFILE, HepRep drivers, etc.
+#  For OpenGL drivers, these commands are not required
+#  but harmless even if they are described.
+/vis/viewer/flush
+
+##########################################################
+# Visualization with the DAWNFILE driver
+#
+#  * Each visualized view is saved to a file "g4_XX.eps"  
+#    with the "vectorized" PostScript format.
+#
+#  * Set an environmental variable if you wish to 
+#    skip DAWN GUI:
+#     % setenv G4DAWNFILE_VIEWER "dawn -d"
+##########################################################
+
+# Invoke the DAWNFILE driver 
+/vis/open DAWNFILE
+
+# Bird's-eye view of a detector component (Absorber)
+#  viewpoint  : (theta,phi) = (35*deg, 35*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
+#  Scale: length = 10 cm, Orientation = z, color = red, 
+#         placing_algorithm = manual, 
+#         center = (-2.5 cm , -5 cm, 0 cm)
+#
+/vis/viewer/reset
+/vis/viewer/zoom               1.1
+/vis/viewer/set/viewpointThetaPhi  35 35
+/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/scene/add/scale     10 cm z 1 0 0 manual -2.5 -5 0  cm
+
+# "Flush the action of all the existing viewers.
+#   Note: You should execute these commands, e.g.,  
+#         when the current scene is modified.
+/vis/scene/notifyHandlers
+/vis/viewer/update
+
+# FOR FUTURE UPDATION
+#/vis/viewer/flushAll
+
+# Bird's-eye view of a detector component (Gap)
+/vis/viewer/reset
+/vis/viewer/zoom               1.1
+/vis/viewer/set/viewpointThetaPhi  35 35
+/vis/drawVolume                Gap 
+/vis/scene/add/axes  	  0 0 0 500 mm
+/vis/scene/add/text       0 0 0 mm  50 -100 -140   Gap 
+/vis/scene/add/scale      10 cm z 1 0 0 manual -2.5 -5  0 cm
+
+# "Flush the action of all the existing viewers.
+/vis/scene/notifyHandlers
+/vis/viewer/update
+
+# FOR FUTURE UPDATION
+#/vis/viewer/flushAll
+
+
+# Bird's-eye view of the whole detector components (world)
+#  * The argument "world" of the command 
+#    "/vis/scene/add/volume" is omittable.
+#  * "/vis/viewer/set/culling false" makes the invisible 
+#    world volume visible.
+#    (The invisibility of the world volume is set 
+#     in ExN03DetectorConstruction.cc.)
+/vis/viewer/reset
+/vis/viewer/zoom               1.1
+/vis/viewer/set/viewpointThetaPhi  35 35
+/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 -100 -240   World
+/vis/scene/add/scale     10 cm x 1 0 0 
+
+# "Flush the action of all the existing viewers.
+/vis/scene/notifyHandlers
+/vis/viewer/update
+
+# FOR FUTURE UPDATION
+#/vis/viewer/flushAll
+
+
+# Make the culling on for next visualization
+#  Note: You may also use "/vis/viewer/reset" 
+#        for this initialization. 
+/vis/viewer/set/culling       global true
+<pre>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis2_mac.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis2_mac.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis2_mac.html	(revision 904)
@@ -0,0 +1,129 @@
+<pre>
+#######################################################################
+#  MACRO FILE NAME: exN03Vis2.mac                                     #
+#                                                                     #
+#  AUTHOR(S): Satoshi Tanaka                                          #
+#                                                                     #
+#  DATE:                                                              #
+#        Nov      07, 2001                                            #
+#        Sept     08-09, 2001 (at Hebden Bridge, UK)                  #
+#        June     20, 2001                                            # 
+#        November 26, 2000                                            #
+#        October  17, 2000                                            # 
+#        June     06, 2000                                            # 
+#        May      20, 2000                                            #
+#        November 10, 1999                                            #
+#                                                                     #
+#  CONTENTS: A basic macro for visualization of events                #
+#                                                                     #
+#  USAGE:  % gmake visclean                                           #
+#          % $G4BINDIR/exampleN03                                     #
+#          Idle> /control/execute visTutor/exN03Vis2.mac              #
+#                                                                     #
+#  REQUIRED PLATFORMS & SOFTWARES: Unix, X-window, OpenGL,            #
+#                                  DAWN (version 3.85 or after)       #
+#                                  gv (Ghostview), Tcl/Tk             #
+#                                                                     #
+#  ENVIRONMENTAL VARIABLES (C-MACROS) FOR INSTALLATION:               #
+#  (See geant4/source/visualization/README for details.)              #
+#                                                                     #
+#    % setenv OGLHOME     ... (e.g. /usr/X11R6)                       #
+#    % setenv G4VIS_BUILD_OPENGLX_DRIVER   1                          # 
+#                                                                     #
+#  ENVIRONMENTAL VARIABLES (C-MACROS) FOR COMPILATION:                #
+#  (See geant4/source/visualization/README for details.)              #
+#                                                                     #
+#    % setenv G4VIS_USE_OPENGLX            1                          #
+#                                                                     # 
+#  ADDITIONAL NOTES:                                                  #
+#    The compound command "/vis/open <vis-driver-name>"               #
+#    is equivalent to the following set of commands:                  #
+#                                                                     #
+#      /vis/sceneHandler/create $1                                    #
+#      /vis/viewer/create                                             #
+#                                                                     #
+#######################################################################
+
+#################################################
+# Store particle trajactories for visualization
+#################################################
+/tracking/storeTrajectory 1
+
+#######################################################
+# Visualization with the OGLSX (OpenGL Stored X) driver
+#######################################################
+
+# Invoke the OGLSX driver 
+/vis/open OGLSX
+
+# Create an empty scene and add the detector geometry 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
+
+# Set viewing parameters
+#  viewpoint  : (theta,phi) = (10*deg, 10*deg).
+#  drawing style: surface
+/vis/viewer/reset
+/vis/viewer/set/style surface
+/vis/viewer/set/viewpointThetaPhi   10  10
+
+# Generate one event and visualize it.
+/run/beamOn  1
+
+
+##########################################################
+# Visualization with the DAWNFILE driver
+#
+#  * Each visualized view is saved to a file "g4_XX.eps"  
+#    with the "vectorized" PostScript format.
+#
+#  * Set an environmental variable if you wish to 
+#    skip DAWN GUI:
+#     % setenv G4DAWNFILE_VIEWER "dawn -d"
+##########################################################
+
+# Invoke the DAWNFILE driver 
+/vis/open DAWNFILE
+
+# Create an empty scene and add the detector geometry 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
+
+# Set the trajectory-accumulation mode to "accumulate".
+#  Trajectories of each event are accumulated
+#  and visualized at the end of one run.
+/vis/scene/endOfEventAction    accumulate
+
+# Visualize many events (bird's eye view)
+#  viewpoint  : (theta,phi) = (45*deg, 45*deg) 
+#  zoom factor: 1.5 x (full screen size)
+#  drawing style: wireframe
+/vis/viewer/reset
+/vis/viewer/set/style  wireframe
+/vis/viewer/set/viewpointThetaPhi   45 45
+/vis/viewer/zoom        1.5
+/run/beamOn             50
+
+# Visualize many events (zoomed-up view)
+#  viewpoint  : (theta,phi) = (90*deg, 0) 
+#  zoom factor: 5 x (full screen size)
+/vis/viewer/reset
+/vis/viewer/set/style  wireframe
+/vis/viewer/set/viewpointThetaPhi   90 0
+/vis/viewer/zoom        5
+/run/beamOn             50
+
+# Reset trajectory-accumulation mode to "refresh" (default)
+#  Trajectories are visualized at the end of each event.
+/vis/scene/endOfEventAction       refresh
+</pre>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis3_mac.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis3_mac.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis3_mac.html	(revision 904)
@@ -0,0 +1,138 @@
+<pre>
+#######################################################################
+#  MACRO FILE NAME: exN03Vis3.mac                                     #
+#                                                                     #
+#  AUTHOR(S): Satoshi Tanaka                                          #
+#                                                                     #
+#  DATE:                                                              #
+#        Nov      07, 2001                                            #
+#        Sept     08-09, 2001 (at Hebden Bridge, UK)                  #
+#        June     20, 2001                                            #
+#        November 26, 2000                                            #
+#        October  17, 2000                                            # 
+#        June     06, 2000                                            # 
+#        May      20, 2000                                            # 
+#        November 10, 1999                                            #
+#                                                                     #
+#  CONTENTS: A basic macro for demonstrating various drawing styles   #
+#                                                                     #
+#  USAGE:  % gmake visclean                                           #
+#          % $G4BINDIR/exampleN03                                     #
+#          Idle> /control/execute visTutor/exN03Vis3.mac              #
+#                                                                     #
+#  REQUIRED PLATFORMS & SOFTWARES: Unix, X-window, OpenGL,            #
+#                                  DAWN (version 3.85 or after)       #
+#                                  gv (Ghostview), Tcl/Tk             #
+#                                                                     #
+#  ENVIRONMENTAL VARIABLES (C-MACROS) FOR INSTALLATION:               #
+#  (See geant4/source/visualization/README for details.)              #
+#                                                                     #
+#    % setenv OGLHOME     ... (e.g. /usr/local)                       #
+#    % setenv G4VIS_BUILD_OPENGLX_DRIVER   1                          # 
+#                                                                     #
+#  ENVIRONMENTAL VARIABLES (C-MACROS) FOR COMPILATION:                #
+#  (See geant4/source/visualization/README for details.)              #
+#                                                                     #
+#    % setenv G4VIS_USE_OPENGLX            1                          #
+#                                                                     # 
+#  ADDITIONAL NOTES:                                                  #
+#    The compound command "/vis/open <vis-driver-name>"               #
+#    is equivalent to the following set of commands:                  #
+#                                                                     #
+#      /vis/sceneHandler/create $1                                    #
+#      /vis/viewer/create                                             #
+#                                                                     #
+#######################################################################
+
+##############################################
+# Store particle trajactories for visualization
+##############################################
+/tracking/storeTrajectory 1
+
+###########################################################
+# Visualization with the OGLIX (OpenGL Immediate X) driver
+###########################################################
+
+# Invoke the OGLSX driver 
+/vis/open OGLSX
+
+# Create an empty scene and add the detector geometry 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
+
+# Bird-eye view of events with 
+#  the hidden-surface drawing style
+/vis/viewer/reset
+/vis/viewer/set/viewpointThetaPhi  45 45 
+/vis/viewer/set/style          surface
+/run/beamOn                    10
+
+##########################################################
+# Visualization with the DAWNFILE driver
+#
+#  * Each visualized view is saved to a file "g4_XX.eps"  
+#    with the "vectorized" PostScript format.
+#
+#  * Set an environmental variable if you wish to 
+#    skip DAWN GUI:
+#     % setenv G4DAWNFILE_VIEWER "dawn -d"
+#
+##########################################################
+
+# Invoke the DAWNFILE driver 
+/vis/open DAWNFILE
+
+# Create an empty scene and add the detector geometry 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
+
+# Bird-eye view of events with the 
+#  wireframe drawing style
+/vis/viewer/reset 
+/vis/viewer/zoom               1.5
+/vis/viewer/set/viewpointThetaPhi  45 45 
+/vis/viewer/set/style          wireframe
+/run/beamOn                    3
+
+# Set the trajectory-accumulation mode to "accumulate".
+#  Trajectories of each event are accumulated
+#  and visualized at the end of one run.
+/vis/scene/endOfEventAction    accumulate
+
+# Bird-eye view of events with the 
+#  hidden-surface drawing style
+/vis/viewer/set/style          surface
+/run/beamOn                    50
+
+# Cull detector geometry and show only trajectories.
+/vis/viewer/reset 
+/vis/viewer/set/culling     global  true
+/vis/viewer/set/culling     density true 999
+/vis/viewer/set/style       wireframe
+/run/beamOn                 10
+
+# Reset the culling policy for next visualization
+#  The default culling policy is:
+#   global          : on
+#   invisible       : on 
+#   low density     : off 
+#   covered daughter: off
+#
+#  Note: You may also use "/vis/viewer/reset" 
+#        for this initialization. 
+/vis/viewer/set/culling  density false
+
+# Reset trajectory-accumulation mode to "refresh" (default)
+#  Trajectories are visualized at the end of each event.
+/vis/scene/endOfEventAction       refresh
+</pre>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis4_mac.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis4_mac.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis4_mac.html	(revision 904)
@@ -0,0 +1,106 @@
+<pre>
+#######################################################################
+#  MACRO FILE NAME: exN03Vis4.mac                                     #
+#                                                                     #
+#  AUTHOR(S): Satoshi Tanaka                                          #
+#                                                                     #
+#  DATE:                                                              #
+#        Nov      07, 2001                                            #
+#        Sept     08-09, 2001 (at Hebden Bridge, UK)                  #
+#        June     20, 2001                                            # 
+#        November 26, 2000                                            #
+#        October  17, 2000                                            # 
+#        June     06, 2000                                            # 
+#                                                                     #
+#  CONTENTS: An example for the compound command,                     #
+#            "/vis/specify  <logical_volume_name>"                    #
+#                                                                     #
+#  USAGE:  % gmake visclean                                           #
+#          % $G4BINDIR/exampleN03                                     #
+#          Idle> /control/execute visTutor/exN03Vis4.mac              #
+#                                                                     #
+#  REQUIRED PLATFORMS & SOFTWARES: Unix, X-window,                    #
+#                                  DAWN (version 3.85 or after)       #
+#                                  gv (Ghostview), Tcl/Tk             #
+#                                                                     #
+#  ENVIRONMENTAL VARIABLES (C-MACROS) FOR INSTALLATION:               #
+#  (See geant4/source/visualization/README for details.)              #
+#                                                                     #
+#    % setenv OGLHOME     ... (e.g. /usr/X11R6)                       #
+#    % setenv G4VIS_BUILD_OPENGLX_DRIVER   1                          # 
+#                                                                     #
+#  ENVIRONMENTAL VARIABLES (C-MACROS) FOR COMPILATION:                #
+#  (See geant4/source/visualization/README for details.)              #
+#                                                                     #
+#    % setenv G4VIS_USE_OPENGLX            1                          #
+#                                                                     # 
+#  ADDITIONAL NOTES:                                                  #
+#    The compound command "/vis/open <vis-driver-name>"               #
+#    is equivalent to the following set of commands:                  #
+#                                                                     #
+#      /vis/sceneHandler/create $1                                    #
+#      /vis/viewer/create                                             #
+#                                                                     # 
+#    The compound command "/vis/specify <logical-volume-name>"        #
+#    is equivalent to the following set of commands:                  #
+#                                                                     #
+#      /vis/scene/create                                              #  
+#      /vis/scene/add/logicalVolume $1                                #
+#      /vis/sceneHandler/attach                                       #
+#                                                                     #
+#######################################################################
+
+##########################################################
+# Visualization with the OGLIX driver
+##########################################################
+
+# Invoke the OGLIX driver 
+/vis/open OGLIX
+
+# Set camera 
+/vis/viewer/reset
+/vis/viewer/zoom       0.9 
+/vis/viewer/set/viewpointThetaPhi  35 35
+
+# Visualize a selected logical volume
+/vis/specify           Absorber 
+/vis/viewer/flush
+
+##########################################################
+# Visualization with the DAWNFILE driver
+#
+#  * Each visualized view is saved to a file "g4_XX.eps"  
+#    with the "vectorized" PostScript format.
+#
+#  * Set an environmental variable if you wish to 
+#    skip DAWN GUI:
+#     % setenv G4DAWNFILE_VIEWER "dawn -d"
+##########################################################
+# Invoke the DAWNFILE driver 
+/vis/open DAWNFILE
+
+# Set camera 
+/vis/viewer/reset
+/vis/viewer/zoom       0.9 
+/vis/viewer/set/viewpointThetaPhi  35 35
+
+# Visualize a selected logical volume (1)
+/vis/specify                  Absorber 
+/vis/scene/add/axes    0 0 0 500 mm
+/vis/scene/add/text    0 0 0 mm  40 -100 -200   LogVol:Absorber 
+/vis/scene/notifyHandlers
+/vis/viewer/update
+
+# FOR FUTURE UPDATION
+#/vis/viewer/flushAll
+
+# Visualize a selected logical volume (2)
+/vis/specify  Gap
+/vis/scene/add/axes    0 0 0 500 mm
+/vis/scene/add/text    0 0 0 mm  40 -100 -200   LogVol:Gap
+/vis/scene/notifyHandlers
+/vis/viewer/update
+
+# FOR FUTURE UPDATION
+#/vis/viewer/flushAll
+</pre>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis5_mac.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis5_mac.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis5_mac.html	(revision 904)
@@ -0,0 +1,71 @@
+<pre>
+#######################################################################
+#  MACRO FILE NAME: exN03Vis5.mac                                     #
+#                                                                     #
+#  AUTHOR(S): Guy Barrand                                             #
+#                                                                     #
+#  DATE: June 09, 2000                                                #
+#                                                                     #
+#  CONTENTS: A basic macro for demonstrating Inventor driver          #
+#                                                                     #
+#  USAGE:  % $G4BINDIR/exampleN03  visTutor/exN03Vis6.mac             #
+#                                                                     #
+#  REQUIRED PLATFORMS & SOFTWARES: Unix, Motif, X-window, OpenGL,     #
+#                                  HEPVis                             #
+#                                  Inventor (TGS or SoFree)           #
+#                                                                     #
+#  ENVIRONMENTAL VARIABLES (C-MACROS) FOR INSTALLATION:               #
+#  (See geant4/source/visualization/README for details.)              #
+#                                                                     #
+#    % setenv G4VIS_BUILD_OIX_DRIVER       1                          # 
+#                                                                     #
+#  ENVIRONMENTAL VARIABLES (C-MACROS) FOR COMPILATION:                #
+#  (See geant4/source/visualization/README for details.)              #
+#                                                                     #
+#    % setenv G4VIS_USE_OIX                1                          #
+#                                                                     # 
+#  ADDITIONAL NOTES:                                                  #
+#                                                                     # 
+#######################################################################
+
+# Create "scene-0" 
+/vis/scene/create
+
+# Invoke the OpenInventor driver 
+/vis/sceneHandler/create OIX
+/vis/viewer/create
+
+# Add the world volume to the current scene
+/vis/scene/add/volume
+#/vis/scene/add/volume Layer
+# Name of the absorbers = name of their material (Lead) !
+#/vis/scene/add/volume Lead
+# Name of the gaps = name of their material (liquidArgon) !
+#/vis/scene/add/volume liquidArgon
+#/vis/scene/add/trajectories
+/tracking/storeTrajectory 1
+
+# Bird-eye view of events
+/vis/viewer/reset
+/vis/viewer/set/viewpointThetaPhi   45 45 
+
+/vis/scene/notifyHandlers
+
+/control/verbose 2
+#######################################################################
+#   Controls on an Inventor examiner viewer are :                     #
+#  - in picking mode (cursor is the upper left arrow)                 #
+#   Ctrl + pick a volume : see daughters.                             #
+#   Shift + pick a volume : see mother.                               #
+#  - in viewing mode (cursor is the hand)                             #
+#   Left-button + pointer move : rotate.                              #
+#   Ctrl+Left-button + pointer move : pane.                           #
+#   Ctrl+Shift+Left-button + pointer move : scale.                    #
+#   Middle-button + pointer move : pane.                              #
+#                                                                     #
+#######################################################################
+
+/vis/viewer/update
+
+/run/beamOn 1
+</pre>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis6_mac.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis6_mac.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis6_mac.html	(revision 904)
@@ -0,0 +1,70 @@
+<pre>
+#######################################################################
+#  MACRO FILE NAME: exN03Vis6.mac                                     #
+#                                                                     #
+#  AUTHOR(S): Satoshi Tanaka                                          #
+#                                                                     #
+#  DATE:                                                              #
+#        Nov      07, 2001                                            #
+#        Sept     08-09, 2001 (at Hebden Bridge, UK)                  #
+#        June     20, 2001                                            #
+#        November 26, 2000                                            #
+#        October  17, 2000                                            #  
+#                                                                     #
+#  CONTENTS: A macro to demonstrate the VRMLFILE driver               #
+#                                                                     #
+#  USAGE:  % gmake visclean                                           #
+#          % $G4BINDIR/exampleN03                                     #
+#          Idle> /control/execute visTutor/exN03Vis7.mac              #
+#                                                                     #
+#  REQUIRED PLATFORMS & SOFTWARES: Unix, X-window,                    #
+#                                  VRML viewer (e.g. VRMLview)        #
+#                                                                     #
+#  ENVIRONMENTAL VARIABLES (C-MACROS) FOR INSTALLATION:               #
+#  (See geant4/source/visualization/README for details.)              #
+#    * Unnecessary                                                    #
+#                                                                     #
+#  ENVIRONMENTAL VARIABLES (C-MACROS) FOR COMPILATION:                #
+#  (See geant4/source/visualization/README for details.)              #
+#    * Unnecessary                                                    #
+#                                                                     #
+#  RECOMMENDED ENVIRONMENTAL VARIABLES FOR VISUALIZATION:             #
+#                                                                     #
+#    % setenv G4VRMLFILE_VIEWER        vrmlview                       #
+#     ( The default value is "NONE".)                                 #
+#                                                                     #
+#  ADDITIONAL NOTES:                                                  #
+#   The VRML-file viewer "vrmlview" is obtainable from the following  #
+#   Web site:                                                         #
+#      http://www.sim.no/downloads.html                               #
+#                                                                     #
+#######################################################################
+
+###################################################
+# Visualization of detector geometry and events  
+# with the VRML2FILE driver.
+###################################################
+
+# Store particle trajactories for visualization
+/tracking/storeTrajectory 1
+
+# Invoke the VRML2FILE driver
+#  Note: The VRML1FILE driver generates VRML 1.0 format files.
+#        The VRML2FILE driver generates VRML 2.0 format files.
+/vis/open VRML2FILE
+
+# Create an empty scene and add the detector geometry to it
+/vis/drawVolume
+
+# Visualize 3 events in the wireframe mode 
+#  Note: The command /vis/scene/add/trajectories
+#        is not necessary in exampleN03,
+#        since the C++ method DrawTrajectory() is  
+#        described in the event action.
+#  Note: "/vis/viewer/set/style wireframe" means  
+#       "half-transparent" in the VRML2FILE driver.  
+#       It is a convention only for this driver.
+#/vis/scene/add/trajectories
+/vis/viewer/set/style wireframe
+/run/beamOn 3
+</pre>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis7_mac.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis7_mac.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis7_mac.html	(revision 904)
@@ -0,0 +1,63 @@
+<pre>
+#######################################################################
+#  MACRO FILE NAME: exN03Vis7.mac                                     #
+#                                                                     #
+#  AUTHOR(S): Satoshi Tanaka                                          #
+#                                                                     #
+#  DATE:                                                              #
+#        Nov      14, 2001                                            #
+#                                                                     #
+#  CONTENTS: A macro to demonstrate batch visualization to generate   #
+#            PostScript file with the DAWNFILE driver                 #
+#                                                                     #
+#          % setenv DAWN_BATCH               1                        #
+#          % make visclean                                            #
+#          % $G4BINDIR/exampleN03                                     #
+#          Idle> /control/execute visTutor/exN03Vis8.mac              #
+#          Idle> exit                                                 #
+#          % gv g4_00.eps &                                           #
+#          % gv g4_01.eps &                                           #
+#          % gv g4_02.eps &                                           #
+#                                                                     #
+#  REQUIRED PLATFORMS & SOFTWARES: Unix, X-window,                    #
+#                                  DAWN (version 3.85 or after)       #
+#                                                                     #
+#  ENVIRONMENTAL VARIABLES (C-MACROS) FOR INSTALLATION:               #
+#  (See geant4/source/visualization/README for details.)              #
+#                                                                     #
+#    * Unnecessary                                                    #
+#                                                                     #
+#  ENVIRONMENTAL VARIABLES (C-MACROS) FOR COMPILATION:                #
+#  (See geant4/source/visualization/README for details.)              #
+#                                                                     #
+#    * Unnecessary                                                    #
+#                                                                     # 
+#  ADDITIONAL NOTES:                                                  #
+#                                                                     # 
+#######################################################################
+
+####################################################################
+# Creation of a multi-page PostScript file with the DAWNFILE driver
+####################################################################
+
+# Invoke the DAWNFILE driver
+/vis/open DAWNFILE
+
+# Add the world volume to the current scene
+/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
+
+# Set camera 
+/vis/viewer/reset 
+/vis/viewer/zoom              1.5
+/vis/viewer/set/viewpointThetaPhi 70 20
+
+# Visualize events added to the current scene
+/tracking/storeTrajectory 1
+/run/beamOn 3
+</pre>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis8_mac.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis8_mac.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis8_mac.html	(revision 904)
@@ -0,0 +1,89 @@
+<pre>
+#######################################################################
+#  MACRO FILE NAME: exN03Vis8.mac                                     #
+#                                                                     #
+#  AUTHOR(S): Satoshi Tanaka                                          #
+#                                                                     #
+#  DATE:                                                              #
+#        Nov      14, 2001 (renamed from exN03Vis8.mac)               #
+#        Nov      07, 2001                                            #
+#        Sept     08-09, 2001 (at Hebden Bridge, UK)                  #
+#        June     20, 2001                                            #
+#        November 26, 2000                                            #
+#        October  17, 2000                                            # 
+#                                                                     #
+#  CONTENTS: A macro to demonstrate creation of a "multi-page"        #
+#            PostScript file                                          #
+#                                                                     #
+#  USAGE:  % setenv G4DAWNFILE_MAX_FILE_NUM  1                        #
+#          % setenv DAWN_BATCH               a                        #
+#          % gmake visclean                                           #
+#          % $G4BINDIR/exampleN03                                     #
+#          Idle> /control/execute visTutor/exN03Vis9.mac              #
+#          Idle> exit                                                 #
+#          % gv g4_00.eps                                             #
+#                                                                     #
+#          Then click, "<<", ">>" etc to traverse pages               #
+#                                                                     #
+#  REQUIRED PLATFORMS & SOFTWARES: Unix, X-window,                    #
+#                                  DAWN (version 3.85 or after)       #
+#                                  gv (Ghostview), Tcl/Tk             #
+#                                                                     #
+#  ENVIRONMENTAL VARIABLES (C-MACROS) FOR INSTALLATION:               #
+#  (See geant4/source/visualization/README for details.)              #
+#                                                                     #
+#    * Unnecessary                                                    #
+#                                                                     #
+#  ENVIRONMENTAL VARIABLES (C-MACROS) FOR COMPILATION:                #
+#  (See geant4/source/visualization/README for details.)              #
+#                                                                     #
+#    * Unnecessary                                                    #
+#                                                                     # 
+#  ADDITIONAL NOTES:                                                  #
+#    * If you execute this macro plural times, all the views are      #
+#      sequentially appended to the file "g4_00.eps".                 #
+#      For example if you execute it two times, a 6-page (3+3 page)   #
+#      PostScript file is made.                                       #
+#      Unset environmental variables to initialize your environment:  #
+#                                                                     # 
+#       % unsetenv G4DAWNFILE_MAX_FILE_NUM                            #
+#       % unsetenv DAWN_BATCH                                         # 
+#                                                                     # 
+#######################################################################
+
+####################################################################
+# Creation of a multi-page PostScript file with the DAWNFILE driver
+####################################################################
+
+# Invoke the DAWNFILE driver 
+/vis/open DAWNFILE
+
+# Set viewing parameters
+/vis/viewer/reset
+/vis/viewer/zoom               0.9 
+/vis/viewer/set/viewpointThetaPhi  35 35
+
+# Generate page 1: Absorber
+/vis/drawVolume           Absorber 
+/vis/scene/add/axes       0 0 0 500 mm
+/vis/scene/add/text       0 0 0 mm  30 -150 -200   Page1/3:Absorber 
+/vis/viewer/flush
+
+# Generate page 2: Gap
+/vis/drawVolume           Gap
+/vis/scene/add/axes       0 0 0 500 mm
+/vis/scene/add/text       0 0 0 mm 30 -100 -200   Page2/3:Gap
+/vis/viewer/flush
+
+# Generate page 3: World
+/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 -100 -200   Page3/3:world
+/vis/viewer/flush
+
+# Make the culling on for next visualization
+#  Note: You may also use "/vis/viewer/reset" 
+#        for this initialization. 
+/vis/viewer/set/culling   global  true
+</pre>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis9_mac.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis9_mac.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visTutor/exN03Vis9_mac.html	(revision 904)
@@ -0,0 +1,66 @@
+<pre>
+#######################################################################
+#  MACRO FILE NAME: exN03Vis9.mac                                     #
+#                                                                     #
+#  AUTHOR(S): Guy Barrand
+#                                                                     #
+#  DATE:                                                              #
+#        Appril   08, 2004                                            #
+#                                                                     #
+#  CONTENTS: A simplest macro to demonstrate visualization of         #
+#            detector geometry and events                             #
+#                                                                     #
+#  USAGE:  % gmake visclean                                           #
+#          % $G4BINDIR/exampleN03                                     #
+#          Idle> /control/execute visTutor/exN03Vis9.mac              #
+#                                                                     #
+#  REQUIRED PLATFORMS & SOFTWARES: Windows, OpenGL                    #
+#  OPTIONAL :                      DAWN (version 3.85 or after)       #
+#                                                                     #
+#  ENVIRONMENTAL VARIABLES (C-MACROS) FOR INSTALLATION:               #
+#  (See geant4/source/visualization/README for details.)              #
+#                                                                     #
+#    G4VIS_BUILD_OPENGLWIN32_DRIVER                                   # 
+#   (G4UI_BUILD_WIN32_SESSION)                                        # 
+#                                                                     #
+#  ENVIRONMENTAL VARIABLES (C-MACROS) FOR COMPILATION:                #
+#  (See geant4/source/visualization/README for details.)              #
+#                                                                     #
+#    G4VIS_USE_OPENGLWIN32                                            # 
+#   (G4UI_USE_WIN32)                                                  # 
+#                                                                     #
+#  ADDITIONAL NOTES:                                                  #
+#    The compound command "/vis/open <vis-driver-name>"               #
+#    is equivalent to the following set of commands:                  #
+#                                                                     #
+#      /vis/sceneHandler/create $1                                    #
+#      /vis/viewer/create                                             #
+#                                                                     #
+#    The compound command "/vis/drawVolume <physical-volume-name>"    #
+#    is equivalent to the following set of commands:                  #
+#                                                                     #
+#      /vis/scene/create                                              #
+#      /vis/scene/add/volume $1                                       #
+#      /vis/sceneHandler/attach                                       #
+#                                                                     #
+#######################################################################
+
+##############################################
+# Visualization of detector geometry and trajectories
+#  with the OGLIWin32 (OpenGL Immediate Windows) driver
+##############################################
+
+# Invoke the OGLIWin32 driver
+/vis/open OGLIWin32
+
+# Set camera 
+/vis/viewer/reset 
+/vis/viewer/set/viewpointThetaPhi 70 20
+
+# Create an empty scene and add the detector geometry to it
+/vis/drawVolume
+
+# Visualize events added to the current scene
+/tracking/storeTrajectory 1
+/run/beamOn 1
+</pre>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visdrivers.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visdrivers.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visdrivers.xml	(revision 904)
@@ -0,0 +1,1592 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Changed by: Dennis Wright, 27-Nov-2001                -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.VisDrv">
+<title>
+The Visualization Drivers
+</title>
+
+<para>
+As explained in the 
+<!-- !!! xref linkend=""/ or ulink url="" -->
+Introduction to Visualization
+<!-- !! /ulink (remove this tag for xref) -->
+, 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.
+</para>
+
+<para>
+Details are given below for:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <xref linkend="sect.VisDrv.OpenGL" />
+    OpenGL
+  </para></listitem>
+  <listitem><para>
+    <xref linkend="sect.VisDrv.OpenInv" />
+    OpenInventor
+  </para></listitem>
+  <listitem><para>
+    <xref linkend="sect.VisDrv.HepRep" />
+    HepRepFile
+  </para></listitem>
+  <listitem><para>
+    <xref linkend="sect.VisDrv.HepRepXML" />
+    HepRepXML
+  </para></listitem>
+  <listitem><para>
+    <xref linkend="sect.VisDrv.DAWN" />
+    DAWN
+  </para></listitem>
+  <listitem><para>
+    <xref linkend="sect.VisDrv.VRML" />
+    VRML
+  </para></listitem>
+  <listitem><para>
+    <xref linkend="sect.VisDrv.RayTrc" />
+    RayTracer
+  </para></listitem>
+  <listitem><para>
+    <xref linkend="sect.VisDrv.DetTree" />
+    ASCIITree
+  </para></listitem>
+  <listitem><para>
+    <xref linkend="sect.VisDrv.GAGTree" />
+    GAGTree
+  </para></listitem>
+  <listitem><para>
+    <xref linkend="sect.VisDrv.XMLTree" />
+    XMLTree
+  </para></listitem>
+</itemizedlist>
+</para>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisDrv.Avail">
+<title>
+Availability of drivers on the supported systems
+</title>
+
+<para>
+<xref linkend="table.VisDrv_1" /> lists required graphics systems 
+and supported platforms for the various visualization drivers
+
+<table id="table.VisDrv_1">
+<title>
+Required graphics systems and supported platforms for the various 
+visualization drivers.
+</title>
+
+<tgroup cols="3">
+  <tbody>
+  <row>
+    <entry>
+      <emphasis role="bold">Driver</emphasis>
+    </entry>
+    <entry>
+      <emphasis role="bold">Required Graphics System</emphasis>
+    </entry>
+    <entry>
+      <emphasis role="bold">Platform</emphasis>
+    </entry>
+  </row>
+  <row>
+    <entry>
+      OpenGL-Xlib
+    </entry>
+    <entry>
+      OpenGL
+    </entry>
+    <entry>
+      Linux, Unix, Mac with Xlib
+    </entry>
+  </row>
+  <row>
+    <entry>
+      OpenGL-Motif
+    </entry>
+    <entry>
+      OpenGL
+    </entry>
+    <entry>
+      Linux, UNIX, Mac with Motif
+    </entry>
+  </row>
+  <row>
+    <entry>
+      OpenGL-Win32
+    </entry>
+    <entry>
+      OpenGL
+    </entry>
+    <entry>
+      Windows
+    </entry>
+  </row>
+  <row>
+    <entry>
+      OpenInventor-X
+    </entry>
+    <entry>
+      OpenInventor, OpenGL
+    </entry>
+    <entry>
+      Linux, UNIX, Mac with Xlib or Motif
+    </entry>
+  </row>
+  <row>
+    <entry>
+      OpenInventor-Win32
+    </entry>
+    <entry>
+      OpenInventor, OpenGL
+    </entry>
+    <entry>
+      Windows
+    </entry>
+  </row>
+  <row>
+    <entry>
+      HepRep
+    </entry>
+    <entry>
+      WIRED or FRED HepRep Browser
+    </entry>
+    <entry>
+      Linux, UNIX, Mac, Windows
+    </entry>
+  </row>
+  <row>
+    <entry>
+      DAWNFILE
+    </entry>
+    <entry>
+      Fukui Renderer DAWN
+    </entry>
+    <entry>
+      Linux, Unix, Mac, Windows
+    </entry>
+  </row>
+  <row>
+    <entry>
+      DAWN-Network
+    </entry>
+    <entry>
+      Fukui Renderer DAWN
+    </entry>
+    <entry>
+      Linux, UNIX
+    </entry>
+  </row>
+  <row>
+    <entry>
+      VRMLFILE
+    </entry>
+    <entry>
+      any VRML viewer
+    </entry>
+    <entry>
+      Linux, UNIX, Mac, Windows
+    </entry>
+  </row>
+  <row>
+    <entry>
+      VRML-Network
+    </entry>
+    <entry>
+      any network-enabled VRML viewer
+    </entry>
+    <entry>
+      Linux, UNIX
+    </entry>
+  </row>
+  <row>
+    <entry>
+      RayTracer
+    </entry>
+    <entry>
+      any JPEG viewer
+    </entry>
+    <entry>
+      Linux, UNIX, Mac, Windows
+    </entry>
+  </row>
+  <row>
+    <entry>
+      ASCIITree
+    </entry>
+    <entry>
+      none
+    </entry>
+    <entry>
+      Linux, UNIX, Mac, Windows
+    </entry>
+  </row>
+  <row>
+    <entry>
+      GAGTree
+    </entry>
+    <entry>
+      GAG
+    </entry>
+    <entry>
+      Linux, UNIX, Mac, Windows
+    </entry>
+  </row>
+  <row>
+    <entry>
+      XMLTree
+    </entry>
+    <entry>
+      any XML viewer
+    </entry>
+    <entry>
+      Linux, UNIX, Mac, Windows
+    </entry>
+  </row>
+  </tbody>
+</tgroup>
+</table>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisDrv.OpenGL">
+<title>
+OpenGL
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+If you don't have Motif, all control is done from Geant4
+commands:
+
+<?soft-pagebreak ?>
+<informalexample>
+<programlisting>
+     /vis/open OGLIX
+     /vis/viewer/set/viewpointThetaPhi 70 20
+     /vis/viewer/zoom 2
+     etc.
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+But if you have Motif libraries, you can control Geant4 from Motif
+widgets:
+
+<informalexample>
+<programlisting>
+     /vis/open OGLIXm
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+The OpenGL driver added Smooth shading and Transparency since
+Geant4 release 8.0.
+</para>
+
+<para>
+<emphasis role="bold">Further information (OpenGL and Mesa):</emphasis>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <ulink url="http://www.opengl.org/">
+    http://www.opengl.org/
+    </ulink>
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://www.mesa3d.org">
+    http://www.mesa3d.org
+    </ulink>
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://geant4.slac.stanford.edu/Presentations/vis/G4OpenGLTutorial/G4OpenGLTutorial.html">
+    Geant4 Visualization Tutorial
+    </ulink>
+    using the OpenGL Graphics System
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisDrv.OpenInv">
+<title>
+OpenInventor
+</title>
+
+<para>
+These drivers were developed by Jeff Kallenbach (FNAL) and Guy
+Barrand (IN2P3) based on the 
+<ulink url="http://www-pat.fnal.gov/graphics/HEPVis/www">
+Hepvis class library
+</ulink>
+ 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.
+</para>
+
+<para>
+It is also possible to save a visualized 3D scene as an
+OpenInventor-formatted file, and re-visualize the scene
+afterwards.
+</para>
+
+<para>
+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.).
+</para>
+
+<para>
+Because OpenInventor uses OpenGL for rendering, it supports
+lighting and transparency.
+</para>
+
+<para>
+OpenInventor provides thumbwheel control to rotate and zoom.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+<emphasis role="bold">Further information (HEPVis and OpenScientist):</emphasis>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Geant4 Inventor Visualization with OpenScientist 
+    <ulink url="http://openscientist.lal.in2p3.fr/v15r0/html/osc_g4_vis_ui.html">
+    http://openscientist.lal.in2p3.fr/v15r0/html/osc_g4_vis_ui.html
+    </ulink>
+  </para></listitem>
+  <listitem><para>
+    Overall OpenScientist Home 
+    <ulink url="http://openscientist.lal.in2p3.fr/v15r0/html/osc_g4_vis_ui.html">
+    http://openscientist.lal.in2p3.fr/v15r0/html/osc_g4_vis_ui.html
+    </ulink>
+  </para></listitem>
+  <listitem><para>
+    HEPVis
+    <ulink url="http://www-pat.fnal.gov/graphics/HEPVis/www">
+    http://www-pat.fnal.gov/graphics/HEPVis/www
+    </ulink>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+<emphasis role="bold">Further information (OpenInventor):</emphasis>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <ulink url="http://oss.sgi.com/projects/inventor">
+      http://oss.sgi.com/projects/inventor
+    </ulink>
+  </para></listitem>
+  <listitem><para>
+    Josie Wernecke, "The Inventor Mentor", Addison Wesley 
+    (ISBN 0-201-62495-8)
+  </para></listitem>
+  <listitem><para>
+    Josie Wernecke, "The Inventor Toolmaker", Addison Wesley 
+    (ISBN 0-201-62493-1)
+  </para></listitem>
+  <listitem><para>
+    "The Open Inventor C++ Reference Manual", Addison Wesley 
+    (ISBN 0-201-62491-5)
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisDrv.HepRep">
+<title>
+HepRepFile
+</title>
+
+<para>
+The HepRepFile driver creates a HepRep XML file in the HepRep1
+format suitable for viewing with the 
+<ulink url="http://www.slac.stanford.edu/BFROOT/www/Computing/Graphics/Wired/">
+WIRED3</ulink> HepRep Browser.
+</para>
+
+<para>
+The HepRep graphics format is further described at 
+<ulink url="http://www.slac.stanford.edu/~perl/heprep">
+http://www.slac.stanford.edu/~perl/heprep
+</ulink>
+.
+</para>
+
+<para>
+To write just the detector geometry to this file, use the
+command:
+
+<informalexample>
+<programlisting>
+     /vis/viewer/flush
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Or, to also include trajectories and hits (after the appropriate
+/vis/viewer/add/trajectories or /vis/viewer/add/hits commands),
+just issue:
+
+<informalexample>
+<programlisting>
+     /run/beamOn 1
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+View the file using the WIRED3 HepRep Browser, available from:
+</para>
+<para>
+<ulink url="http://www.slac.stanford.edu/BFROOT/www/Computing/Graphics/Wired/">
+http://www.slac.stanford.edu/BFROOT/www/Computing/Graphics/Wired/
+</ulink>
+.
+</para>
+
+<para>
+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").
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+Several environment variables are available to override some of
+HepRepFile's defaults
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    You can specify a different directory for the heprep output
+    files by setting the environment variable G4HEPREPFILE_DIR, as in:
+
+    <informalexample>
+    <programlisting>
+     export G4HEPREPFILE_DIR=someOtherDir/someOtherSubDir
+    </programlisting>
+    </informalexample>
+  </para></listitem>
+  <listitem><para>
+    You can specify a different file name (the part before the
+    number) by setting the environment variable G4HEPREPFILE_NAME, as in:
+
+    <informalexample>
+    <programlisting>
+     export G4HEPREPFILE_NAME=myFileName
+    </programlisting>
+    </informalexample>
+
+    which will produce files named myFileName0.heprep,
+    myFileName1.heprep, etc.
+  </para></listitem>
+  <listitem><para>
+    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:
+
+    <informalexample>
+    <programlisting>
+     export G4HEPREPFILE_OVERWRITE=1
+    </programlisting>
+    </informalexample>
+
+    This may be useful in some automated applications where you always
+    want to see the latest output file in the same location.
+  </para></listitem>
+</itemizedlist>
+
+<?soft-pagebreak ?>
+<itemizedlist>
+  <listitem><para>
+    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:
+
+    <informalexample>
+    <programlisting>
+     export G4HEPREPFILE_CULL=1
+    </programlisting>
+    </informalexample>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+<emphasis role="bold">Further information:</emphasis>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    WIRED3 Users Home Page:
+    <para>
+    <ulink url="http://www.slac.stanford.edu/BFROOT/www/Computing/Graphics/Wired/">
+    http://www.slac.stanford.edu/BFROOT/www/Computing/Graphics/Wired/
+    </ulink>
+    .
+    </para>
+  </para></listitem>
+  <listitem><para>
+    HepRep graphics format:
+    <para>
+    <ulink url="http://www.slac.stanford.edu/~perl/heprep">
+    http://www.slac.stanford.edu/~perl/heprep
+    </ulink>
+    </para>
+  </para></listitem>
+  <listitem><para>
+    Geant4 Visualization Tutorial using the WIRED3 HepRep Browser
+    <para>
+    <ulink url="http://geant4.slac.stanford.edu/Presentations/vis/G4WIREDTutorial/G4WIREDTutorial.html">
+    http://geant4.slac.stanford.edu/Presentations/vis/G4WIREDTutorial/G4WIREDTutorial.html
+    </ulink>
+    </para>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisDrv.HepRepXML">
+<title>
+HepRepXML
+</title>
+
+<para>
+The HepRepXML driver creates a HepRep file in the HepRep2 format
+suitable for viewing with the 
+<ulink url="http://wired.freehep.org/index.html">
+WIRED4 
+</ulink>
+ Plugin to the JAS3 Analysis System or the 
+<ulink url="http://www.fisica.uniud.it/~glast/FRED/">
+FRED 
+</ulink>
+ event display.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+The .heprep.zip is the default for file output, the .heprep is
+the default for stdout and stderr.
+</para>
+
+<para>
+(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:
+
+<informalexample>
+<programlisting>
+     /vis/scene/create filename.bheprep.zip
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+(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).
+
+<informalexample>
+<programlisting>
+     /vis/heprep/setEventNumberSuffix -0001
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+(Note: suffix has to contain at least one digit)
+</para>
+
+<para>
+(Optional) To route the HepRep XML output to stdout (or stderr),
+by default uncompressed, use:
+
+<informalexample>
+<programlisting>
+     /vis/scene/create stdout
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+(Optional) To add attributes to each point on a trajectory, use:
+
+<informalexample>
+<programlisting>
+     /vis/heprep/addPointAttributes 1
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Be aware that this may increase the size of the output
+dramatically.
+</para>
+
+<para>
+(Optional) You may use the commands:
+
+<informalexample>
+<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", ...
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+(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:
+
+<informalexample>
+<programlisting>
+     /vis/heprep/appendGeometry false
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+(Optional) To close the file, remove the SceneHandler, use:
+
+<informalexample>
+<programlisting>
+     /vis/sceneHandler/remove scene-handler-0
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+<emphasis role="bold">Further information:</emphasis>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <ulink url="http://wired.freehep.org/index.html">
+    WIRED4</ulink> Plugin to the JAS3 Analysis System
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://www.fisica.uniud.it/~glast/FRED/">
+    FRED</ulink> event display
+  </para></listitem>
+  <listitem><para>
+    HepRep graphics format:
+    <para>
+    <ulink url="http://www.slac.stanford.edu/~perl/heprep">
+    http://www.slac.stanford.edu/~perl/heprep
+    </ulink>
+    </para>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisDrv.DAWN">
+<title>
+DAWN
+</title>
+
+<para>
+The DAWN drivers are interfaces to 
+<ulink url="http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWN.html">
+Fukui Renderer DAWN</ulink>, 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.
+</para>
+
+<para>
+When Geant4 Visualization is performed with the DAWN driver, the
+visualized view is automatically saved to a file named
+<literal>g4.eps</literal> in the current directory, which describes a
+vectorized (Encapsulated) PostScript data of the view.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+The DAWNFILE driver sends 3D data to DAWN via an intermediate
+file, named <literal>g4.prim</literal> in the current directory. The file
+<literal>g4.prim</literal> can be re-visualized later without the help of
+Geant4. This is done by invoking DAWN by hand:
+
+<informalexample>
+<programlisting>
+     % dawn g4.prim 
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+DAWN files can also serve as input to two additional programs:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    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.
+  </para></listitem>
+  <listitem><para>
+    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 
+    <xref linkend="sect.Geom.Overlap" /> of this manual.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+The DAWN-Network driver is almost the same as the DAWNFILE
+driver except that
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    3D data are passed to DAWN via the TCP/IP the socket (default)
+    or the named pipe, and that,
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+If you have not set up network configurations of your host machine,
+set the environment variable <literal>G4DAWN_NAMED_PIPE</literal> to "1",
+e.g., <literal>% setenv G4DAWN_NAMED_PIPE 1</literal>. 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 <literal>g4.prim</literal> in the current directory.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisDrv.RemDAWN">
+<title>
+Remote Visualization with the DAWN-Network Driver
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+Usually, the visualization host is your local host, while the
+Geant4 host is a remote host where you log in, for example, with
+the <literal>telnet</literal> 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.
+</para>
+
+<para>
+The following steps realize remote Geant4 visualization viewed
+by DAWN.
+
+<orderedlist spacing="compact">
+  <listitem><para>
+    Invoke DAWN with "-G" option on your local host:
+
+    <informalexample>
+    <programlisting>
+       Local_Host&gt; dawn -G
+    </programlisting>
+    </informalexample>
+
+    This invokes DAWN with the network connection mode.
+  </para></listitem>
+  <listitem><para>
+    Login to the remote host where a Geant4 executable is placed.
+  </para></listitem>
+  <listitem><para>
+    Set an environment variable on the remote host as follows:
+
+    <informalexample>
+    <programlisting>
+       Remote_Host&gt; setenv G4DAWN_HOST_NAME local_host_name
+    </programlisting>
+    </informalexample>
+
+    For example, if you are working in the local host named
+    "arkoop.kek.jp", set this environment variable as follows:
+
+    <informalexample>
+    <programlisting>
+       Remote_Host&gt; setenv G4DAWN_HOST_NAME arkoop.kek.jp
+    </programlisting>
+    </informalexample>
+
+    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.
+  </para></listitem>
+  <listitem><para>
+    Invoke a Geant4 process and perform visualization with the
+    DAWN-Network driver. For example:
+
+    <informalexample>
+    <programlisting>
+       Idle&gt; /vis/open DAWN
+       Idle&gt; /vis/drawVolume 
+       Idle&gt; /vis/viewer/flush
+    </programlisting>
+    </informalexample>      
+  </para></listitem>
+</orderedlist>
+</para>
+
+<para>
+In step 4, 3D scene data are sent from the remote host to the
+local host as 
+<ulink url="http://geant4.kek.jp/GEANT4/vis/DAWN/G4PRIM_FORMAT_24/">
+DAWN-formatted data</ulink>, and the local DAWN will visualize the data. The
+transferred data are saved as a file named <literal>g4.prim</literal> in the
+current directory of the local host.
+</para>
+
+<para>
+<emphasis role="bold">Further information:</emphasis>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <ulink url="http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWN.html">
+    http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWN.html
+    </ulink>
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://geant4.kek.jp/GEANT4/vis/DAWN/G4PRIM_FORMAT_24/">
+    http://geant4.kek.jp/GEANT4/vis/DAWN/G4PRIM_FORMAT_24/
+    </ulink>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+<emphasis role="bold">Further information:</emphasis>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Fukui Renderer DAWN:
+    <para>
+    <ulink url="http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWN.html">
+    http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWN.html
+    </ulink>
+    </para>
+  </para></listitem>
+  <listitem><para>
+    The DAWNFILE driver:
+    <para>
+    <ulink url="http://geant4.kek.jp/GEANT4/vis/GEANT4/DAWNFILE_driver.html">
+    http://geant4.kek.jp/GEANT4/vis/GEANT4/DAWNFILE_driver.html
+    </ulink>
+    </para>
+  </para></listitem>
+  <listitem><para>
+    The DAWN-Network driver:
+    <para>
+    <ulink url="http://geant4.kek.jp/GEANT4/vis/GEANT4/DAWNNET_driver.html">
+    http://geant4.kek.jp/GEANT4/vis/GEANT4/DAWNNET_driver.html
+    </ulink>
+    </para>
+  </para></listitem>
+  <listitem><para>
+    Environmental variables to customize DAWN and DAWN drivers:
+    <para>
+    <ulink url="http://geant4.kek.jp/GEANT4/vis/DAWN/DAWN_ENV.html">
+    http://geant4.kek.jp/GEANT4/vis/DAWN/DAWN_ENV.html
+    </ulink>
+    </para>
+    <para>
+    <ulink url="http://geant4.kek.jp/GEANT4/vis/GEANT4/g4vis_on_linux.html">
+    http://geant4.kek.jp/GEANT4/vis/GEANT4/g4vis_on_linux.html
+    </ulink>
+    </para>
+  </para></listitem>
+  <listitem><para>
+    DAWN format (g4.prim format) manual:
+    <para>
+    <ulink url="http://geant4.kek.jp/GEANT4/vis/DAWN/G4PRIM_FORMAT_24/">
+    http://geant4.kek.jp/GEANT4/vis/DAWN/G4PRIM_FORMAT_24/
+    </ulink>
+    </para>
+  </para></listitem>
+  <listitem><para>
+    Geant4 Fukui University Group Home Page:
+    <para>
+    <ulink url="http://geant4.kek.jp/GEANT4/vis/">
+    http://geant4.kek.jp/GEANT4/vis/
+    </ulink>
+    </para>
+  </para></listitem>
+  <listitem><para>
+    DAWNCUT:
+    <para>
+    <ulink url="http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWNCUT.html">
+    http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWNCUT.html
+    </ulink>
+    </para>
+  </para></listitem>
+  <listitem><para>
+   DAVID:
+   <para>
+   <ulink url="http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAVID.html">
+   http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAVID.html
+   </ulink>
+   </para> 
+  </para></listitem>
+  <listitem><para>
+    Geant4 Visualization Tutorial using the DAWN Renderer: 
+    <para>
+    <ulink url="http://geant4.slac.stanford.edu/Presentations/vis/GDAWNTutorial/G4DAWNTutorial.html">
+    http://geant4.slac.stanford.edu/Presentations/vis/GDAWNTutorial/G4DAWNTutorial.html
+    </ulink>
+    </para>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisDrv.VRML">
+<title>
+VRML
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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 <literal>g4.wrl</literal> 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 <literal>G4VRML_VIEWER</literal> beforehand. For example,
+
+<informalexample>
+<programlisting>
+     % setenv G4VRML_VIEWER  "netscape"
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Its default value is <literal>NONE</literal>, which means that no viewer
+is invoked and only the file <literal>g4.wrl</literal> is generated.
+</para>
+
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Remote Visualization with the VRML-Network Driver
+</bridgehead>
+
+<para>
+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.
+</para>
+
+<para>
+Usually, the visualization host is your local host, while the
+Geant4 host is a remote host where you log in, for example, with
+the <literal>telnet</literal> command. This enables distributed processing of
+Geant4 visualization, avoiding the transfer of large amounts of
+visualization data to your terminal display via the network.
+</para>
+
+<para>
+In order to perform remote visualization with the VRML-Network
+driver, the following must be installed on your local host
+beforehand:
+
+<orderedlist spacing="compact">
+  <listitem><para>
+    a VRML viewer
+  </para></listitem>
+  <listitem><para>
+    the Java application <literal>g4vrmlview</literal>.
+  </para></listitem>
+</orderedlist>
+</para>
+
+<para>
+The Java application <literal>g4vrmlview</literal> is included as part of the
+Geant4 package and is located at:
+
+<informalexample>
+<programlisting>
+     source/visualization/VRML/g4vrmlview/
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Installation instructions for <literal>g4vrmlview</literal> can be found in
+the <literal>README</literal> file there, or on the WWW page below.
+</para>
+
+<para>
+The following steps realize remote Geant4 visualization
+displayed with your local VRML browser:
+
+<orderedlist spacing="compact">
+  <listitem><para>
+    Invoke the <literal>g4vrmlview</literal> on your local host, giving a
+    VRML viewer name as its argument:
+
+    <informalexample>
+<programlisting>
+       Local_Host&gt; java g4vrmlview  VRML_viewer_name
+    </programlisting>
+</informalexample>
+
+    For example, if you want to use the Netscape browser as your VRML
+    viewer, execute <literal>g4vrmlview</literal> as follows:
+
+    <informalexample>
+    <programlisting>
+       Local_Host&gt; java g4vrmlview  netscape
+    </programlisting>
+    </informalexample>
+
+    Of course, the command path to the VRML viewer should be properly set.
+  </para></listitem>
+  <listitem><para>
+    Log in to the remote host where a Geant4 executable is placed.
+  </para></listitem>
+  <listitem><para>
+    Set an environment variable on the remote host as follows:
+
+    <informalexample>
+    <programlisting>
+       Remote_Host&gt; setenv G4VRML_HOST_NAME local_host_name
+    </programlisting>
+    </informalexample>
+
+    For example, if you are working on the local host named
+    "arkoop.kek.jp", set this environment variable as follows:
+
+    <informalexample>
+    <programlisting>
+       Remote_Host&gt; setenv G4VRML_HOST_NAME arkoop.kek.jp
+    </programlisting>
+    </informalexample>
+
+    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.
+  </para></listitem>
+  <listitem><para>
+    Invoke a Geant4 process and perform visualization with the
+    VRML-Network driver. For example:
+
+    <informalexample>
+    <programlisting>
+       Idle&gt; /vis/open VRML2
+       Idle&gt; /vis/drawVolume 
+       Idle&gt; /vis/viewer/update
+    </programlisting>
+    </informalexample>       
+  </para></listitem>
+</orderedlist>
+</para>
+
+<para>
+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 <literal>g4vrmlview</literal> process to visualize
+the VRML data. The transferred VRML data are saved as a file named
+<literal>g4.wrl</literal> in the current directory of the local host.
+</para>
+
+<para>
+<emphasis role="bold">Further information:</emphasis>
+
+<?soft-pagebreak ?>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <ulink url="http://geant4.kek.jp/GEANT4/vis/GEANT4/VRML_net_driver.html">
+    http://geant4.kek.jp/GEANT4/vis/GEANT4/VRML_net_driver.html
+    </ulink>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+<emphasis role="bold">Further information (VRML drivers):</emphasis>
+
+<?soft-pagebreak ?>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <ulink url="http://geant4.kek.jp/GEANT4/vis/GEANT4/VRML_file_driver.html">
+    http://geant4.kek.jp/GEANT4/vis/GEANT4/VRML_file_driver.html
+    </ulink>
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://geant4.kek.jp/GEANT4/vis/GEANT4/VRML_net_driver.html">
+    http://geant4.kek.jp/GEANT4/vis/GEANT4/VRML_net_driver.html
+    </ulink>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+<emphasis role="bold">Sample VRML files:</emphasis>
+
+<?soft-pagebreak ?>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <ulink url="http://geant4.kek.jp/GEANT4/vis/GEANT4/VRML2_FIG/">
+    http://geant4.kek.jp/GEANT4/vis/GEANT4/VRML2_FIG/
+    </ulink>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+<emphasis role="bold">Further information (VRML language and browsers):</emphasis>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <ulink url="http://www.vrmlsite.com/">http://www.vrmlsite.com/
+    </ulink>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisDrv.RayTrc">
+<title>
+RayTracer
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+Because RayTracer in essence takes over Geant4's tracking
+routines for its own use, RayTracer cannot be used to visualize
+Trajectories or hits.
+</para>
+
+<para>
+An X-Window version, called RayTracerX, can be selected by
+setting <literal>G4VIS_BUILD_RATRACERX_DRIVER</literal> at Geant4 library
+build time and <literal>G4VIS_USE_RAYTRACERX</literal> at application (user
+code) build time (assuming you use the standard visualization
+manager, <literal>G4VisExecutive</literal>, 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.
+</para>
+
+<para>
+RayTracer has its own built-in commands -
+<literal>/vis/rayTracer/</literal>.... Alternatively, you can treat it as a
+normal vis system and use <literal>/vis/viewer/</literal>... commands,
+e.g:
+
+<informalexample>
+<programlisting>
+  /vis/open RayTracerX
+  /vis/drawVolume
+  /vis/viewer/set/viewpointThetaPhi 30 30
+  /vis/viewer/refresh
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+The view parameters are translated into the necessary RayTracer
+parameters.
+</para>
+
+<para>
+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 <literal>/vis/viewer/set/all</literal>:
+
+<informalexample>
+<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
+</programlisting>
+</informalexample>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisDrv.DetTree">
+<title>
+Visualization of detector geometry tree
+</title>
+
+<para>
+ASCIITREE is a visualization driver that is not actually graphical
+but that dumps the volume hierarchy as a simple text tree.
+</para>
+
+<para>
+Each call to /vis/viewer/flush or /vis/drawTree will dump the
+tree.
+</para>
+
+<para>
+ASCIITree has command to control its verbosity,
+<literal>/vis/ASCIITree/verbose</literal>. 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).
+</para>
+
+<para>
+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.
+
+<informalexample>
+<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
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Some more examples of ASCIITree in action:
+
+<informalexample>
+<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
+     .....
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+For the complete list of commands and options, see the 
+<ulink url="./AllResources/Control/UIcommands/_vis_.html">
+Control...UICommands</ulink>  section of this user guide.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisDrv.GAGTree">
+<title>
+GAG Tree
+</title>
+
+<para>
+The GAGTree driver provides a listing of the detector geometry tree
+within GAG, the Geant Adaptive GUI, (
+<ulink url="http://erpc1.naruto-u.ac.jp/~geant4">
+http://erpc1.naruto-u.ac.jp/~geant4
+</ulink>
+). GAG allows "folding/un-folding" a part of the geometry tree, using
+the <emphasis>Tree Widget</emphasis> in Java:
+
+<informalfigure id="fig.VisDrv_1">
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="./AllResources/Visualization/visualization.src/gagtree.jpg" 
+               format="JPG" contentwidth="12.0cm" align="center" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/Visualization/visualization.src/gagtree.jpg"
+               format="JPG" align="center" />
+  </imageobject>
+</mediaobject>
+</informalfigure>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisDrv.XMLTree">
+<title>
+XML Tree
+</title>
+
+<para>
+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 <emphasis>XML Notepad</emphasis>).
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Folding and un-folding:
+
+    <informalfigure id="fig.VisDrv_2">
+    <mediaobject>
+      <imageobject role="fo">
+        <imagedata fileref="./AllResources/Visualization/visualization.src/xmlnp.gif" 
+                   format="JPG" contentwidth="12.0cm" align="center" />
+      </imageobject>
+      <imageobject role="html">
+        <imagedata fileref="./AllResources/Visualization/visualization.src/xmlnp.gif"
+                   format="JPG" align="center" />
+        </imageobject>
+    </mediaobject>
+    </informalfigure>
+  </para></listitem>
+</itemizedlist>
+
+<?soft-pagebreak ?>
+<itemizedlist>
+  <listitem><para>
+    Searching a string:
+
+    <informalfigure id="fig.VisDrv_3">
+    <mediaobject>
+      <imageobject role="fo">
+        <imagedata fileref="./AllResources/Visualization/visualization.src/xmlnpfind.gif" 
+                   format="JPG" contentwidth="12.0cm" align="center" />
+      </imageobject>
+      <imageobject role="html">
+        <imagedata fileref="./AllResources/Visualization/visualization.src/xmlnpfind.gif"
+                   format="JPG" align="center" />
+      </imageobject>
+    </mediaobject>
+    </informalfigure>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visexecutable.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visexecutable.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/Visualization/visexecutable.xml	(revision 904)
@@ -0,0 +1,464 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.VisAddExe">
+<title>
+Adding Visualization to Your Executable
+</title>
+
+<para>
+This section explains how to incorporate your selected
+visualization drivers into the <literal>main()</literal> 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.
+</para>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisAddExe.InstDrv">
+<title>
+Installing Visualization Drivers
+</title>
+
+<para>
+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 <xref linkend="sect.VisDrv" />
+"<emphasis role="bold">Visualization Drivers</emphasis>", 
+along with links to detailed web pages for the various drivers.
+</para>
+
+<para>
+Note that not all drivers can be installed on all systems; 
+<xref linkend="table.VisDrv_1" /> in 
+<xref linkend="sect.VisDrv" /> 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.
+</para>
+
+<para>
+Unless the environment variable <literal>G4VIS_NONE</literal> 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.
+</para>
+
+<para>
+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
+"<literal>G4VIS_BUILD_DRIVERNAME_DRIVER</literal>" should be set to
+"<literal>1</literal>" before installing the Geant4 libraries:
+
+<informalexample>
+<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
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Unless the environment variable <literal>G4VIS_NONE</literal> 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 <literal>G4VIS_BUILD</literal>
+is set (see config/G4VIS_BUILD.gmk), which incorparates the
+selected driver into the Geant4 libraries.
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisAddExe.RealVisDrv">
+<title>
+How to Realize Visualization Drivers in an Executable
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+In order to realize visualization drivers, you must instantiate
+and initialize a subclass of <literal>G4VisManager</literal> that implements
+the pure virtual function <literal>RegisterGraphicsSystems()</literal>. 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 <literal>G4VisExecutive</literal>, a provided class with
+included implementation. <literal>G4VisExecutive</literal> is sensitive to
+the <literal>G4VIS_USE...</literal> variables mentioned below.
+</para>
+
+<para>
+If you do wish to write your own subclass, you may do so. You
+will see how to do this by looking at <literal>G4VisExecutive.icc</literal>.
+A typical extract is:
+
+<informalexample>
+<programlisting>
+     ...
+       RegisterGraphicsSystem (new G4DAWNFILE);
+     ...
+     #ifdef G4VIS_USE_OPENGLX
+       RegisterGraphicsSystem (new G4OpenGLImmediateX);
+       RegisterGraphicsSystem (new G4OpenGLStoredX);
+     #endif
+     ...
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+If you wish to use <literal>G4VisExecutive</literal> but register an
+additional graphics system, <literal>XXX</literal> say, you may do so either
+before or after initializing:
+
+<informalexample>
+<programlisting>
+     visManager-&gt;RegisterGraphicsSytem(new XXX);
+     visManager-&gt;Initialize();
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+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:
+
+<informalexample>
+<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
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+(Of course, this has to be chosen from the set incorporated into
+the Geant4 libraries during their compilation.) Unless the
+environment variable <literal>G4VIS_NONE</literal> is set, these set
+C-pre-processor flags of the same name.
+</para>
+
+<para>
+Also, unless the environment variable <literal>G4VIS_NONE</literal> is
+set, the C-pre-processor flag <literal>G4VIS_USE</literal> is always set by
+default. This flag is available in describing the <literal>main()</literal>
+function.
+</para>
+
+<para>
+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 <literal>OGLHOME</literal> which
+points to the location of the OpenGL libraries. For more details,
+see <xref linkend="sect.VisDrv" /> 
+"<emphasis role="bold">Visualization Drivers</emphasis>" and 
+pages linked from there.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisAddExe.SampSetup">
+<title>
+A Sample Set-up File
+</title>
+
+<para>
+The following can be part of the user's <literal>.cshrc</literal> or
+<literal>.tcshrc</literal> 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 !
+
+<example id="programlist_VisAddExe_1">
+<title>
+Part of a sample <literal>.cshrc</literal> setup file for the Linux platform.
+</title>
+
+<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 
+</programlisting>
+</example>
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisAddExe.VisMan">
+<title>
+Visualization Manager
+</title>
+
+<para>
+Visualization procedures are controlled by the "Visualization
+Manager", a class which must inherit from <emphasis>G4VisManager</emphasis>
+defined in the visualization category. Most users will find that
+they can just use the default visualization manager,
+<emphasis>G4VisExecutive</emphasis>. 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.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.VisAddExe.WrtMain">
+<title>
+How to Write the <literal>main()</literal> Function
+</title>
+
+<para>
+In order for your Geant4 executable to perform visualization, you
+must instantiate and initialize "your" Visualization Manager in the
+<literal>main()</literal> function. The core of the Visualization Manager is
+the class <literal>G4VisManager</literal>, defined in the visualization
+category. This class requires that one pure virtual function be
+implemented, namely, <literal>void RegisterGraphicsSystems()</literal>. The
+easiest way to do this is to use <literal>G4VisExecutive</literal>, as
+described above (but you may write your own class - see above).
+</para>
+
+<para>
+<xref linkend="programlist_VisAddExe_2" /> shows the form of the 
+<literal>main()</literal> function.
+
+<example id="programlist_VisAddExe_2">
+<title>
+The form of the <literal>main()</literal> function.
+</title>
+
+<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++ 
+</programlisting>
+</example>
+</para>
+
+<para>
+Alternatively, you can implement an empty
+<literal>RegisterGraphicsSystems()</literal> function, and register
+visualization drivers you want directly in your <literal>main()</literal>
+function. See <xref linkend="programlist_VisAddExe_3" />.
+
+<example id="programlist_VisAddExe_3">
+<title>
+An alternative style for the <literal>main()</literal> function.
+</title>
+
+<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++ 
+</programlisting>
+</example>
+</para>
+
+<para>
+<emphasis>Do not forget</emphasis> 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
+<literal>G4VisManager</literal> might have to terminate the graphics system
+and/or close the connection.
+</para>
+
+<para>
+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 <literal>G4VIS_USE</literal> is automatically defined
+unless the environment variable <literal>G4VIS_NONE</literal> is set. This
+assumes that you are compiling your Geant4 executable with the
+standard version of GNUmakefile found in the <literal>config</literal>
+directory.
+</para>
+
+<para>
+<xref linkend="programlist_VisAddExe_4" /> shows an example of the 
+<literal>main()</literal> function available for Geant4 Visualization.
+
+<example id="programlist_VisAddExe_4">
+<title>
+An example of the <literal>main()</literal> function available for 
+Geant4 Visualization.
+</title>
+
+<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++ 
+</programlisting>
+</example>
+</para>
+
+<para>
+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:
+
+<informalexample>
+<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.
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+For example, in your <literal>main()</literal> function, write the following
+code:
+
+<informalexample>
+<programlisting>
+  ...
+  G4VisManager* visManager = new G4VisExecutive ();
+  visManager -&gt; SetVerboseLevel (1);
+  visManager -&gt; Initialize ();
+  ...
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+(This can also be set with the <literal>/vis/verbose</literal> command.)
+</para>
+
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/XSLCustomizationLayer/G4BookTitlePageFO.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/XSLCustomizationLayer/G4BookTitlePageFO.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/XSLCustomizationLayer/G4BookTitlePageFO.xml	(revision 904)
@@ -0,0 +1,1237 @@
+<!DOCTYPE t:templates [
+<!ENTITY hsize0 "10pt">
+<!ENTITY hsize1 "12pt">
+<!ENTITY hsize2 "14.4pt">
+<!ENTITY hsize3 "17.28pt">
+<!ENTITY hsize4 "20.736pt">
+<!ENTITY hsize5 "24.8832pt">
+<!ENTITY hsize0space "7.5pt"> <!-- 0.75 * hsize0 -->
+<!ENTITY hsize1space "9pt"> <!-- 0.75 * hsize1 -->
+<!ENTITY hsize2space "10.8pt"> <!-- 0.75 * hsize2 -->
+<!ENTITY hsize3space "12.96pt"> <!-- 0.75 * hsize3 -->
+<!ENTITY hsize4space "15.552pt"> <!-- 0.75 * hsize4 -->
+<!ENTITY hsize5space "18.6624pt"> <!-- 0.75 * hsize5 -->
+]>
+<t:templates xmlns:t="http://nwalsh.com/docbook/xsl/template/1.0"
+	     xmlns:param="http://nwalsh.com/docbook/xsl/template/1.0/param"
+             xmlns:fo="http://www.w3.org/1999/XSL/Format"
+             xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<!-- ********************************************************************
+     $Id: G4BookTitlePageFO.xml,v 1.1 2007/05/11 03:00:42 amako Exp $
+     ********************************************************************
+
+     This file is part of the DocBook XSL Stylesheet distribution.
+     See ../README or http://docbook.sf.net/ for copyright
+     and other information.
+
+     ******************************************************************** -->
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="article" t:wrapper="fo:block"
+             font-family="{$title.fontset}">
+
+  <t:titlepage-content t:side="recto"
+             text-align="center">
+
+    <title t:named-template="component.title"
+	   param:node="ancestor-or-self::article[1]"
+	   keep-with-next="always"
+	   font-size="&hsize5;"
+	   font-weight="bold"/>
+
+    <subtitle/>
+
+    <corpauthor space-before="0.5em"
+                font-size="&hsize2;"/>
+    <authorgroup space-before="0.5em"
+                 font-size="&hsize2;"/>
+    <author space-before="0.5em"
+            font-size="&hsize2;"/>
+
+    <othercredit space-before="0.5em"/>
+    <releaseinfo space-before="0.5em"/>
+    <copyright space-before="0.5em"/>
+    <legalnotice text-align="start"
+                 margin-left="0.5in"
+                 margin-right="0.5in"
+                 font-family="{$body.fontset}"/>
+    <pubdate space-before="0.5em"/>
+    <revision space-before="0.5em"/>
+    <revhistory space-before="0.5em"/>
+    <abstract space-before="0.5em"
+	      text-align="start"
+	      margin-left="0.5in"
+              margin-right="0.5in"
+              font-family="{$body.fontset}"/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="set" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+      <title
+	     t:named-template="division.title"
+	     param:node="ancestor-or-self::set[1]"
+	     text-align="center"
+	     font-size="&hsize5;"
+	     space-before="&hsize5space;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"
+	      text-align="center"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="book" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	t:named-template="division.title"
+	param:node="ancestor-or-self::book[1]"
+	text-align="center"
+	font-size="&hsize5;"
+	space-before="3in"
+	font-weight="bold"
+	font-family="{$title.fontset}"/>
+      <subtitle
+	text-align="center"
+	font-size="&hsize4;"
+	space-before="&hsize4space;"
+	font-family="{$title.fontset}"/>
+      <releaseinfo
+	text-align="center"
+	font-size="&hsize3;"
+        font-style='italic'
+	space-before="1in"
+	font-family="{$title.fontset}"/>
+      <pubdate 
+ 	text-align="center"
+        font-size="&hsize0;"
+	space-before="&hsize3space;"/>
+      <authorgroup 
+        font-size="&hsize3;"
+        space-before="2in"/>
+      <author 
+        font-size="&hsize3;"
+	space-before="7in"
+        keep-with-next="always"/>
+    </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+      <title
+	     t:named-template="book.verso.title"
+	     font-size="&hsize2;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+      <corpauthor/>
+      <authorgroup t:named-template="verso.authorgroup"/>
+      <author/>
+      <releaseinfo space-before="1em"/>
+      <date/>
+      <othercredit/>
+      <pubdate space-before="1em"/>
+      <copyright/>
+      <abstract/>
+      <legalnotice font-size="8pt"/>
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+      <fo:block break-after="page"/>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+      <fo:block break-after="page"/>
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="part" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+      <title
+	     t:named-template="division.title"
+	     param:node="ancestor-or-self::part[1]"
+	     text-align="center"
+	     font-size="&hsize5;"
+	     space-before="&hsize5space;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    <subtitle
+	      text-align="center"
+	      font-size="&hsize4;"
+	      space-before="&hsize4space;"
+	      font-weight='bold'
+	      font-style='italic'
+	      font-family="{$title.fontset}"/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="partintro" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   text-align="center"
+	   font-size="&hsize5;"
+	   font-weight="bold"
+	   space-before="1em"
+	   font-family="{$title.fontset}"/>
+    <subtitle
+	      text-align="center"
+	      font-size="&hsize2;"
+	      font-weight="bold"
+	      font-style="italic"
+	      font-family="{$title.fontset}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="reference" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+      <title
+	     t:named-template="division.title"
+	     param:node="ancestor-or-self::reference[1]"
+	     text-align="center"
+	     font-size="&hsize5;"
+	     space-before="&hsize5space;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"
+	      text-align="center"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="refsynopsisdiv" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   font-family="{$title.fontset}"/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="refsection" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   font-family="{$title.fontset}"/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="refsect1" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   font-family="{$title.fontset}"/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="refsect2" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   font-family="{$title.fontset}"/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="refsect3" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   font-family="{$title.fontset}"/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="dedication" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="component.title"
+	     param:node="ancestor-or-self::dedication[1]"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize5;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="preface" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="component.title"
+	     param:node="ancestor-or-self::preface[1]"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize5;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+      <corpauthor/>
+      <authorgroup/>
+      <author/>
+      <othercredit/>
+      <releaseinfo/>
+      <copyright/>
+      <legalnotice/>
+      <pubdate/>
+      <revision/>
+      <revhistory/>
+      <abstract/>
+    </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="chapter" t:wrapper="fo:block"
+               font-family="{$title.fontset}">
+    <t:titlepage-content t:side="recto" margin-left="{$title.margin.left}">
+      <title t:named-template="component.title"
+	     param:node="ancestor-or-self::chapter[1]"
+	     font-size="&hsize5;"
+	     font-weight="bold"/>
+
+      <subtitle space-before="0.5em"
+		font-style="italic"
+		font-size="&hsize2;"
+		font-weight="bold"/>
+
+      <corpauthor  space-before="0.5em"
+	           space-after="0.5em"
+                   font-size="&hsize2;"/>
+
+      <authorgroup space-before="0.5em"
+	           space-after="0.5em"
+                   font-size="&hsize2;"/>
+
+      <author      space-before="0.5em"
+	           space-after="0.5em"
+                   font-size="&hsize2;"/>
+
+      <othercredit/>
+      <releaseinfo/>
+      <copyright/>
+      <legalnotice/>
+      <pubdate/>
+      <revision/>
+      <revhistory/>
+      <abstract/>
+    </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="appendix" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:named-template="component.title"
+	     param:node="ancestor-or-self::appendix[1]"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize5;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+      <corpauthor/>
+      <authorgroup/>
+      <author/>
+      <othercredit/>
+      <releaseinfo/>
+      <copyright/>
+      <legalnotice/>
+      <pubdate/>
+      <revision/>
+      <revhistory/>
+      <abstract/>
+    </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="section" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   margin-left="{$title.margin.left}"
+	   font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect1" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   margin-left="{$title.margin.left}"
+	   font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect2" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   margin-left="{$title.margin.left}"
+	   font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect3" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   margin-left="{$title.margin.left}"
+	   font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect4" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   margin-left="{$title.margin.left}"
+	   font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect5" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   margin-left="{$title.margin.left}"
+	   font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="simplesect" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   margin-left="{$title.margin.left}"
+	   font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="bibliography" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="component.title"
+	     param:node="ancestor-or-self::bibliography[1]"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize5;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="bibliodiv" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title t:named-template="component.title"
+	     param:node="ancestor-or-self::bibliodiv[1]"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize4;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="glossary" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="component.title"
+	     param:node="ancestor-or-self::glossary[1]"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize5;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="glossdiv" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title t:named-template="component.title"
+	     param:node="ancestor-or-self::glossdiv[1]"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize4;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="index" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="component.title"
+	     param:node="ancestor-or-self::index[1]"
+             param:pagewide="1"
+	     margin-left="0pt"
+	     font-size="&hsize5;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <!-- The indexdiv.title template is used so that manual and -->
+  <!-- automatically generated indexdiv titles get the same -->
+  <!-- formatting. -->
+
+  <t:titlepage t:element="indexdiv" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title t:force="1"
+	     t:named-template="indexdiv.title"
+	     param:title="title"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="setindex" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="component.title"
+	     param:node="ancestor-or-self::setindex[1]"
+             param:pagewide="1"
+	     margin-left="0pt"
+	     font-size="&hsize5;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="colophon" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="component.title"
+	     param:node="ancestor-or-self::colophon[1]"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize5;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="table.of.contents" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="gentext"
+	     param:key="'TableofContents'"
+             space-before.minimum="1em"
+             space-before.optimum="1.5em"
+             space-before.maximum="2em"
+	     space-after="0.5em"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize3;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+  <t:titlepage t:element="list.of.tables" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="gentext"
+	     param:key="'ListofTables'"
+             space-before.minimum="1em"
+             space-before.optimum="1.5em"
+             space-before.maximum="2em"
+	     space-after="0.5em"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize3;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+  <t:titlepage t:element="list.of.figures" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="gentext"
+	     param:key="'ListofFigures'"
+             space-before.minimum="1em"
+             space-before.optimum="1.5em"
+             space-before.maximum="2em"
+	     space-after="0.5em"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize3;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+  <t:titlepage t:element="list.of.examples" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="gentext"
+	     param:key="'ListofExamples'"
+             space-before.minimum="1em"
+             space-before.optimum="1.5em"
+             space-before.maximum="2em"
+	     space-after="0.5em"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize3;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+  <t:titlepage t:element="list.of.equations" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="gentext"
+	     param:key="'ListofEquations'"
+             space-before.minimum="1em"
+             space-before.optimum="1.5em"
+             space-before.maximum="2em"
+	     space-after="0.5em"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize3;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+  <t:titlepage t:element="list.of.procedures" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="gentext"
+	     param:key="'ListofProcedures'"
+             space-before.minimum="1em"
+             space-before.optimum="1.5em"
+             space-before.maximum="2em"
+	     space-after="0.5em"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize3;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+  <t:titlepage t:element="list.of.unknowns" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="gentext"
+	     param:key="'ListofUnknown'"
+             space-before.minimum="1em"
+             space-before.optimum="1.5em"
+             space-before.maximum="2em"
+	     space-after="0.5em"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize3;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+<!-- ==================================================================== -->
+
+</t:templates>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/XSLCustomizationLayer/G4BookTitlePageFO.xsl
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/XSLCustomizationLayer/G4BookTitlePageFO.xsl	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/XSLCustomizationLayer/G4BookTitlePageFO.xsl	(revision 904)
@@ -0,0 +1,4205 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+<!-- This stylesheet was created by template/titlepage.xsl; do not edit it by hand. -->
+
+<xsl:template name="article.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="articleinfo/title">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/title"/>
+    </xsl:when>
+    <xsl:when test="artheader/title">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="articleinfo/subtitle">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="artheader/subtitle">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/corpauthor"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/corpauthor"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/authorgroup"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/authorgroup"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/author"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/author"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/othercredit"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/othercredit"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/releaseinfo"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/releaseinfo"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/copyright"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/copyright"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/legalnotice"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/legalnotice"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/pubdate"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/pubdate"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/revision"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/revision"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/revhistory"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/revhistory"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/abstract"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/abstract"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="article.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="article.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="article.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="article.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="article.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" font-family="{$title.fontset}">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="article.titlepage.before.recto"/>
+      <xsl:call-template name="article.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block text-align="center"><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="article.titlepage.before.verso"/>
+      <xsl:call-template name="article.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="article.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="article.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="article.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" keep-with-next="always" font-size="24.8832pt" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::article[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em" font-size="14.4pt">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em" font-size="14.4pt">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em" font-size="14.4pt">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" text-align="start" margin-left="0.5in" margin-right="0.5in" font-family="{$body.fontset}">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em" text-align="start" margin-left="0.5in" margin-right="0.5in" font-family="{$body.fontset}">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="set.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="setinfo/title">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="setinfo/subtitle">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/corpauthor"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/authorgroup"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/author"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/othercredit"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/releaseinfo"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/copyright"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/legalnotice"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/pubdate"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revision"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revhistory"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/abstract"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="set.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="set.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="set.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="set.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="set.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="set.titlepage.before.recto"/>
+      <xsl:call-template name="set.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="set.titlepage.before.verso"/>
+      <xsl:call-template name="set.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="set.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="set.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="set.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style" text-align="center" font-size="24.8832pt" space-before="18.6624pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="division.title">
+<xsl:with-param name="node" select="ancestor-or-self::set[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style" font-family="{$title.fontset}" text-align="center">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="book.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="bookinfo/title">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="bookinfo/subtitle">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/releaseinfo"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/pubdate"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/authorgroup"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/author"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/author"/>
+</xsl:template>
+
+<xsl:template name="book.titlepage.verso">
+  <xsl:choose>
+    <xsl:when test="bookinfo/title">
+      <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/corpauthor"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/authorgroup"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/author"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/releaseinfo"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/date"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/date"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/othercredit"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/pubdate"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/copyright"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/abstract"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/abstract"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/legalnotice"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/legalnotice"/>
+</xsl:template>
+
+<xsl:template name="book.titlepage.separator"><fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" break-after="page"/>
+</xsl:template>
+
+<xsl:template name="book.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="book.titlepage.before.verso"><fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" break-after="page"/>
+</xsl:template>
+
+<xsl:template name="book.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="book.titlepage.before.recto"/>
+      <xsl:call-template name="book.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="book.titlepage.before.verso"/>
+      <xsl:call-template name="book.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="book.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="book.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="book.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="book.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center" font-size="24.8832pt" space-before="3in" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="division.title">
+<xsl:with-param name="node" select="ancestor-or-self::book[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="book.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center" font-size="20.736pt" space-before="15.552pt" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="book.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center" font-size="17.28pt" font-style="italic" space-before="1in" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="book.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center" font-size="10pt" space-before="12.96pt">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="book.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" font-size="17.28pt" space-before="2in">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="book.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" font-size="17.28pt" space-before="7in" keep-with-next="always">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="title" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style" font-size="14.4pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="book.verso.title">
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
+<xsl:call-template name="verso.authorgroup">
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style" space-before="1em">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="date" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style" space-before="1em">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style" font-size="8pt">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="part.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="partinfo/title">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="partinfo/subtitle">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="part.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="part.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="part.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="part.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="part.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="part.titlepage.before.recto"/>
+      <xsl:call-template name="part.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="part.titlepage.before.verso"/>
+      <xsl:call-template name="part.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="part.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="part.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="part.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="part.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="part.titlepage.recto.style" text-align="center" font-size="24.8832pt" space-before="18.6624pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="division.title">
+<xsl:with-param name="node" select="ancestor-or-self::part[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="part.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="part.titlepage.recto.style" text-align="center" font-size="20.736pt" space-before="15.552pt" font-weight="bold" font-style="italic" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="partintroinfo/title">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="partintroinfo/subtitle">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/corpauthor"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/authorgroup"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/author"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/othercredit"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/releaseinfo"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/copyright"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/legalnotice"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/pubdate"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/revision"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/revhistory"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/abstract"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="partintro.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="partintro.titlepage.before.recto"/>
+      <xsl:call-template name="partintro.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="partintro.titlepage.before.verso"/>
+      <xsl:call-template name="partintro.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="partintro.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="partintro.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="partintro.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style" text-align="center" font-size="24.8832pt" font-weight="bold" space-before="1em" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style" text-align="center" font-size="14.4pt" font-weight="bold" font-style="italic" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="reference.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="referenceinfo/title">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="referenceinfo/subtitle">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/corpauthor"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/authorgroup"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/author"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/othercredit"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/releaseinfo"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/copyright"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/legalnotice"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/pubdate"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/revision"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/revhistory"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/abstract"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="reference.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="reference.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="reference.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="reference.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="reference.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="reference.titlepage.before.recto"/>
+      <xsl:call-template name="reference.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="reference.titlepage.before.verso"/>
+      <xsl:call-template name="reference.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="reference.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="reference.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="reference.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style" text-align="center" font-size="24.8832pt" space-before="18.6624pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="division.title">
+<xsl:with-param name="node" select="ancestor-or-self::reference[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style" font-family="{$title.fontset}" text-align="center">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="refsynopsisdiv.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="refsynopsisdivinfo/title">
+      <xsl:apply-templates mode="refsynopsisdiv.titlepage.recto.auto.mode" select="refsynopsisdivinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="refsynopsisdiv.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="refsynopsisdiv.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="refsynopsisdiv.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="refsynopsisdiv.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="refsynopsisdiv.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="refsynopsisdiv.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="refsynopsisdiv.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="refsynopsisdiv.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="refsynopsisdiv.titlepage.before.recto"/>
+      <xsl:call-template name="refsynopsisdiv.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="refsynopsisdiv.titlepage.before.verso"/>
+      <xsl:call-template name="refsynopsisdiv.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="refsynopsisdiv.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="refsynopsisdiv.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="refsynopsisdiv.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="refsynopsisdiv.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="refsynopsisdiv.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="refsynopsisdiv.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="refsection.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="refsectioninfo/title">
+      <xsl:apply-templates mode="refsection.titlepage.recto.auto.mode" select="refsectioninfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="refsection.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="refsection.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="refsection.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="refsection.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="refsection.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="refsection.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="refsection.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="refsection.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="refsection.titlepage.before.recto"/>
+      <xsl:call-template name="refsection.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="refsection.titlepage.before.verso"/>
+      <xsl:call-template name="refsection.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="refsection.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="refsection.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="refsection.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="refsection.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="refsection.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="refsection.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="refsect1.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="refsect1info/title">
+      <xsl:apply-templates mode="refsect1.titlepage.recto.auto.mode" select="refsect1info/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="refsect1.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="refsect1.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="refsect1.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="refsect1.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="refsect1.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="refsect1.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="refsect1.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="refsect1.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="refsect1.titlepage.before.recto"/>
+      <xsl:call-template name="refsect1.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="refsect1.titlepage.before.verso"/>
+      <xsl:call-template name="refsect1.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="refsect1.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="refsect1.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="refsect1.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="refsect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="refsect1.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="refsect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="refsect2.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="refsect2info/title">
+      <xsl:apply-templates mode="refsect2.titlepage.recto.auto.mode" select="refsect2info/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="refsect2.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="refsect2.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="refsect2.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="refsect2.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="refsect2.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="refsect2.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="refsect2.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="refsect2.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="refsect2.titlepage.before.recto"/>
+      <xsl:call-template name="refsect2.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="refsect2.titlepage.before.verso"/>
+      <xsl:call-template name="refsect2.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="refsect2.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="refsect2.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="refsect2.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="refsect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="refsect2.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="refsect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="refsect3.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="refsect3info/title">
+      <xsl:apply-templates mode="refsect3.titlepage.recto.auto.mode" select="refsect3info/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="refsect3.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="refsect3.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="refsect3.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="refsect3.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="refsect3.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="refsect3.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="refsect3.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="refsect3.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="refsect3.titlepage.before.recto"/>
+      <xsl:call-template name="refsect3.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="refsect3.titlepage.before.verso"/>
+      <xsl:call-template name="refsect3.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="refsect3.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="refsect3.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="refsect3.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="refsect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="refsect3.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="refsect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="dedication.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::dedication[1]"/>
+</xsl:call-template></fo:block>
+  <xsl:choose>
+    <xsl:when test="dedicationinfo/subtitle">
+      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="dedicationinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="dedication.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="dedication.titlepage.before.recto"/>
+      <xsl:call-template name="dedication.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="dedication.titlepage.before.verso"/>
+      <xsl:call-template name="dedication.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="dedication.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="dedication.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="dedication.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="dedication.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="dedication.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="dedication.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="preface.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::preface[1]"/>
+</xsl:call-template></fo:block>
+  <xsl:choose>
+    <xsl:when test="prefaceinfo/subtitle">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/corpauthor"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/authorgroup"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/author"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/othercredit"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/releaseinfo"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/copyright"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/legalnotice"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/pubdate"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revision"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revhistory"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/abstract"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="preface.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="preface.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="preface.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="preface.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="preface.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="preface.titlepage.before.recto"/>
+      <xsl:call-template name="preface.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="preface.titlepage.before.verso"/>
+      <xsl:call-template name="preface.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="preface.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="preface.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="preface.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="chapterinfo/title">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="chapterinfo/subtitle">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/corpauthor"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/authorgroup"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/author"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/othercredit"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/releaseinfo"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/copyright"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/legalnotice"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/pubdate"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/revision"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/revhistory"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/abstract"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="chapter.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" font-family="{$title.fontset}">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="chapter.titlepage.before.recto"/>
+      <xsl:call-template name="chapter.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block margin-left="{$title.margin.left}"><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="chapter.titlepage.before.verso"/>
+      <xsl:call-template name="chapter.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="chapter.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="chapter.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="chapter.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style" font-size="24.8832pt" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::chapter[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style" space-before="0.5em" font-style="italic" font-size="14.4pt" font-weight="bold">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style" space-before="0.5em" space-after="0.5em" font-size="14.4pt">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style" space-before="0.5em" space-after="0.5em" font-size="14.4pt">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style" space-before="0.5em" space-after="0.5em" font-size="14.4pt">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="appendixinfo/title">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="appendixinfo/subtitle">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/corpauthor"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/authorgroup"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/author"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/othercredit"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/releaseinfo"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/copyright"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/legalnotice"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/pubdate"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/revision"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/revhistory"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/abstract"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="appendix.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="appendix.titlepage.before.recto"/>
+      <xsl:call-template name="appendix.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="appendix.titlepage.before.verso"/>
+      <xsl:call-template name="appendix.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="appendix.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="appendix.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="appendix.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::appendix[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="section.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sectioninfo/title">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sectioninfo/subtitle">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/corpauthor"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/authorgroup"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/author"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/othercredit"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/releaseinfo"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/copyright"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/legalnotice"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/pubdate"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revision"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revhistory"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/abstract"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="section.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="section.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="section.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="section.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="section.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="section.titlepage.before.recto"/>
+      <xsl:call-template name="section.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="section.titlepage.before.verso"/>
+      <xsl:call-template name="section.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="section.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="section.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="section.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect1info/title">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect1info/subtitle">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/corpauthor"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/authorgroup"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/author"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/othercredit"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/releaseinfo"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/copyright"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/legalnotice"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/pubdate"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revision"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revhistory"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/abstract"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect1.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect1.titlepage.before.recto"/>
+      <xsl:call-template name="sect1.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect1.titlepage.before.verso"/>
+      <xsl:call-template name="sect1.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="sect1.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="sect1.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect1.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect2info/title">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect2info/subtitle">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/corpauthor"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/authorgroup"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/author"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/othercredit"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/releaseinfo"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/copyright"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/legalnotice"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/pubdate"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revision"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revhistory"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/abstract"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect2.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect2.titlepage.before.recto"/>
+      <xsl:call-template name="sect2.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect2.titlepage.before.verso"/>
+      <xsl:call-template name="sect2.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="sect2.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="sect2.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect2.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect3info/title">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect3info/subtitle">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/corpauthor"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/authorgroup"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/author"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/othercredit"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/releaseinfo"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/copyright"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/legalnotice"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/pubdate"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revision"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revhistory"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/abstract"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect3.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect3.titlepage.before.recto"/>
+      <xsl:call-template name="sect3.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect3.titlepage.before.verso"/>
+      <xsl:call-template name="sect3.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="sect3.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="sect3.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect3.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect4info/title">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect4info/subtitle">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/corpauthor"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/authorgroup"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/author"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/othercredit"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/releaseinfo"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/copyright"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/legalnotice"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/pubdate"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revision"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revhistory"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/abstract"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect4.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect4.titlepage.before.recto"/>
+      <xsl:call-template name="sect4.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect4.titlepage.before.verso"/>
+      <xsl:call-template name="sect4.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="sect4.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="sect4.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect4.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect5info/title">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect5info/subtitle">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/corpauthor"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/authorgroup"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/author"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/othercredit"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/releaseinfo"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/copyright"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/legalnotice"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/pubdate"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revision"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revhistory"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/abstract"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect5.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect5.titlepage.before.recto"/>
+      <xsl:call-template name="sect5.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect5.titlepage.before.verso"/>
+      <xsl:call-template name="sect5.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="sect5.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="sect5.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect5.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="simplesectinfo/title">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="simplesectinfo/subtitle">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/corpauthor"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/authorgroup"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/author"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/othercredit"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/releaseinfo"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/copyright"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/legalnotice"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/pubdate"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/revision"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/revhistory"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/abstract"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="simplesect.titlepage.before.recto"/>
+      <xsl:call-template name="simplesect.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="simplesect.titlepage.before.verso"/>
+      <xsl:call-template name="simplesect.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="simplesect.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="simplesect.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="simplesect.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="bibliography.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::bibliography[1]"/>
+</xsl:call-template></fo:block>
+  <xsl:choose>
+    <xsl:when test="bibliographyinfo/subtitle">
+      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="bibliographyinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="bibliography.titlepage.before.recto"/>
+      <xsl:call-template name="bibliography.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="bibliography.titlepage.before.verso"/>
+      <xsl:call-template name="bibliography.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="bibliography.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="bibliography.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="bibliography.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="bibliography.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="bibliography.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="bibliography.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="bibliodiv.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="bibliodivinfo/title">
+      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="bibliodivinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="bibliodivinfo/subtitle">
+      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="bibliodivinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="bibliodiv.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="bibliodiv.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="bibliodiv.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="bibliodiv.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="bibliodiv.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="bibliodiv.titlepage.before.recto"/>
+      <xsl:call-template name="bibliodiv.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="bibliodiv.titlepage.before.verso"/>
+      <xsl:call-template name="bibliodiv.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="bibliodiv.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="bibliodiv.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="bibliodiv.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="bibliodiv.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="bibliodiv.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="20.736pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::bibliodiv[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="bibliodiv.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="bibliodiv.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="bibliodiv.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="glossary.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::glossary[1]"/>
+</xsl:call-template></fo:block>
+  <xsl:choose>
+    <xsl:when test="glossaryinfo/subtitle">
+      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="glossaryinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="glossary.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="glossary.titlepage.before.recto"/>
+      <xsl:call-template name="glossary.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="glossary.titlepage.before.verso"/>
+      <xsl:call-template name="glossary.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="glossary.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="glossary.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="glossary.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="glossary.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="glossary.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="glossary.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="glossdiv.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="glossdivinfo/title">
+      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="glossdivinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="glossdivinfo/subtitle">
+      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="glossdivinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="glossdiv.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="glossdiv.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="glossdiv.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="glossdiv.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="glossdiv.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="glossdiv.titlepage.before.recto"/>
+      <xsl:call-template name="glossdiv.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="glossdiv.titlepage.before.verso"/>
+      <xsl:call-template name="glossdiv.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="glossdiv.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="glossdiv.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="glossdiv.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="glossdiv.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="glossdiv.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="20.736pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::glossdiv[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="glossdiv.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="glossdiv.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="glossdiv.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="index.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="index.titlepage.recto.style" margin-left="0pt" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::index[1]"/>
+<xsl:with-param name="pagewide" select="1"/>
+</xsl:call-template></fo:block>
+  <xsl:choose>
+    <xsl:when test="indexinfo/subtitle">
+      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="indexinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="index.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="index.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="index.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="index.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="index.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="index.titlepage.before.recto"/>
+      <xsl:call-template name="index.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="index.titlepage.before.verso"/>
+      <xsl:call-template name="index.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="index.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="index.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="index.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="index.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="index.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="index.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="indexdiv.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="indexdiv.titlepage.recto.style">
+<xsl:call-template name="indexdiv.title">
+<xsl:with-param name="title" select="title"/>
+</xsl:call-template></fo:block>
+  <xsl:choose>
+    <xsl:when test="indexdivinfo/subtitle">
+      <xsl:apply-templates mode="indexdiv.titlepage.recto.auto.mode" select="indexdivinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="indexdiv.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="indexdiv.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="indexdiv.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="indexdiv.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="indexdiv.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="indexdiv.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="indexdiv.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="indexdiv.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="indexdiv.titlepage.before.recto"/>
+      <xsl:call-template name="indexdiv.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="indexdiv.titlepage.before.verso"/>
+      <xsl:call-template name="indexdiv.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="indexdiv.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="indexdiv.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="indexdiv.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="indexdiv.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="indexdiv.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="indexdiv.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="setindex.titlepage.recto.style" margin-left="0pt" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::setindex[1]"/>
+<xsl:with-param name="pagewide" select="1"/>
+</xsl:call-template></fo:block>
+  <xsl:choose>
+    <xsl:when test="setindexinfo/subtitle">
+      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="setindexinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="setindex.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="setindex.titlepage.before.recto"/>
+      <xsl:call-template name="setindex.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="setindex.titlepage.before.verso"/>
+      <xsl:call-template name="setindex.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="setindex.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="setindex.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="setindex.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="setindex.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="setindex.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="setindex.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="colophon.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="colophon.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::colophon[1]"/>
+</xsl:call-template></fo:block>
+  <xsl:choose>
+    <xsl:when test="colophoninfo/subtitle">
+      <xsl:apply-templates mode="colophon.titlepage.recto.auto.mode" select="colophoninfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="colophon.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="colophon.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="colophon.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="colophon.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="colophon.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="colophon.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="colophon.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="colophon.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="colophon.titlepage.before.recto"/>
+      <xsl:call-template name="colophon.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="colophon.titlepage.before.verso"/>
+      <xsl:call-template name="colophon.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="colophon.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="colophon.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="colophon.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="colophon.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="colophon.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="colophon.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="table.of.contents.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="table.of.contents.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="gentext">
+<xsl:with-param name="key" select="'TableofContents'"/>
+</xsl:call-template></fo:block>
+</xsl:template>
+
+<xsl:template name="table.of.contents.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="table.of.contents.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="table.of.contents.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="table.of.contents.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="table.of.contents.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="table.of.contents.titlepage.before.recto"/>
+      <xsl:call-template name="table.of.contents.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="table.of.contents.titlepage.before.verso"/>
+      <xsl:call-template name="table.of.contents.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="table.of.contents.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="table.of.contents.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="table.of.contents.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template name="list.of.tables.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.tables.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="gentext">
+<xsl:with-param name="key" select="'ListofTables'"/>
+</xsl:call-template></fo:block>
+</xsl:template>
+
+<xsl:template name="list.of.tables.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="list.of.tables.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="list.of.tables.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="list.of.tables.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="list.of.tables.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="list.of.tables.titlepage.before.recto"/>
+      <xsl:call-template name="list.of.tables.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="list.of.tables.titlepage.before.verso"/>
+      <xsl:call-template name="list.of.tables.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="list.of.tables.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.tables.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.tables.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template name="list.of.figures.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.figures.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="gentext">
+<xsl:with-param name="key" select="'ListofFigures'"/>
+</xsl:call-template></fo:block>
+</xsl:template>
+
+<xsl:template name="list.of.figures.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="list.of.figures.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="list.of.figures.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="list.of.figures.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="list.of.figures.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="list.of.figures.titlepage.before.recto"/>
+      <xsl:call-template name="list.of.figures.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="list.of.figures.titlepage.before.verso"/>
+      <xsl:call-template name="list.of.figures.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="list.of.figures.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.figures.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.figures.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template name="list.of.examples.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.examples.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="gentext">
+<xsl:with-param name="key" select="'ListofExamples'"/>
+</xsl:call-template></fo:block>
+</xsl:template>
+
+<xsl:template name="list.of.examples.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="list.of.examples.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="list.of.examples.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="list.of.examples.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="list.of.examples.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="list.of.examples.titlepage.before.recto"/>
+      <xsl:call-template name="list.of.examples.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="list.of.examples.titlepage.before.verso"/>
+      <xsl:call-template name="list.of.examples.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="list.of.examples.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.examples.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.examples.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template name="list.of.equations.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.equations.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="gentext">
+<xsl:with-param name="key" select="'ListofEquations'"/>
+</xsl:call-template></fo:block>
+</xsl:template>
+
+<xsl:template name="list.of.equations.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="list.of.equations.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="list.of.equations.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="list.of.equations.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="list.of.equations.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="list.of.equations.titlepage.before.recto"/>
+      <xsl:call-template name="list.of.equations.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="list.of.equations.titlepage.before.verso"/>
+      <xsl:call-template name="list.of.equations.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="list.of.equations.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.equations.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.equations.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template name="list.of.procedures.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.procedures.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="gentext">
+<xsl:with-param name="key" select="'ListofProcedures'"/>
+</xsl:call-template></fo:block>
+</xsl:template>
+
+<xsl:template name="list.of.procedures.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="list.of.procedures.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="list.of.procedures.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="list.of.procedures.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="list.of.procedures.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="list.of.procedures.titlepage.before.recto"/>
+      <xsl:call-template name="list.of.procedures.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="list.of.procedures.titlepage.before.verso"/>
+      <xsl:call-template name="list.of.procedures.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="list.of.procedures.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.procedures.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.procedures.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template name="list.of.unknowns.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.unknowns.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="gentext">
+<xsl:with-param name="key" select="'ListofUnknown'"/>
+</xsl:call-template></fo:block>
+</xsl:template>
+
+<xsl:template name="list.of.unknowns.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="list.of.unknowns.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="list.of.unknowns.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="list.of.unknowns.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="list.of.unknowns.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="list.of.unknowns.titlepage.before.recto"/>
+      <xsl:call-template name="list.of.unknowns.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="list.of.unknowns.titlepage.before.verso"/>
+      <xsl:call-template name="list.of.unknowns.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="list.of.unknowns.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.unknowns.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.unknowns.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+</xsl:stylesheet>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/XSLCustomizationLayer/G4BookTitlePageHTML.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/XSLCustomizationLayer/G4BookTitlePageHTML.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/XSLCustomizationLayer/G4BookTitlePageHTML.xml	(revision 904)
@@ -0,0 +1,665 @@
+<t:templates xmlns:t="http://nwalsh.com/docbook/xsl/template/1.0"
+	     xmlns:param="http://nwalsh.com/docbook/xsl/template/1.0/param"
+             xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="article" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <hr/>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="set" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <hr/>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="book" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title
+      text-align="center"/>        
+    <subtitle
+      text-align="center"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author
+      text-align="center"/>        
+    <othercredit/>
+    <releaseinfo
+      text-align="center"/>        
+    <date
+      text-align="center"/>        
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <hr/>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="part" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="partintro" t:wrapper="div">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="reference" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <hr/>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="refentry" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+<!-- uncomment this if you want refentry titlepages
+    <title t:force="1"
+	   t:named-template="refentry.title"
+	   param:node="ancestor-or-self::refentry[1]"/>
+-->
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator/>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="dedication" t:wrapper="div" class="titlepage">
+    <t:titlepage-content t:side="recto">
+    <title
+	   t:force="1"
+	   t:named-template="component.title"
+	   param:node="ancestor-or-self::dedication[1]"/>
+    <subtitle/>
+    </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="preface" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="chapter" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="appendix" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="section" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect1" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect2" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect3" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect4" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect5" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="simplesect" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="bibliography" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title
+	   t:force="1"
+	   t:named-template="component.title"
+	   param:node="ancestor-or-self::bibliography[1]"/>
+    <subtitle/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="glossary" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title
+	   t:force="1"
+	   t:named-template="component.title"
+	   param:node="ancestor-or-self::glossary[1]"/>
+    <subtitle/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="index" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title
+	   t:force="1"
+	   t:named-template="component.title"
+	   param:node="ancestor-or-self::index[1]"/>
+    <subtitle/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="setindex" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title
+	   t:force="1"
+	   t:named-template="component.title"
+	   param:node="ancestor-or-self::setindex[1]"/>
+    <subtitle/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+</t:templates>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/XSLCustomizationLayer/G4BookTitlePageHTML.xsl
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/XSLCustomizationLayer/G4BookTitlePageHTML.xsl	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/XSLCustomizationLayer/G4BookTitlePageHTML.xsl	(revision 904)
@@ -0,0 +1,3293 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+<!-- This stylesheet was created by template/titlepage.xsl; do not edit it by hand. -->
+
+<xsl:template name="article.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="articleinfo/title">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/title"/>
+    </xsl:when>
+    <xsl:when test="artheader/title">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="articleinfo/subtitle">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="artheader/subtitle">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/corpauthor"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/corpauthor"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/authorgroup"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/authorgroup"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/author"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/author"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/othercredit"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/othercredit"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/releaseinfo"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/releaseinfo"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/copyright"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/copyright"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/legalnotice"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/legalnotice"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/pubdate"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/pubdate"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/revision"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/revision"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/revhistory"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/revhistory"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/abstract"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/abstract"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="article.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="article.titlepage.separator"><hr/>
+</xsl:template>
+
+<xsl:template name="article.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="article.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="article.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="article.titlepage.before.recto"/>
+      <xsl:call-template name="article.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="article.titlepage.before.verso"/>
+      <xsl:call-template name="article.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="article.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="article.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="article.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="set.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="setinfo/title">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="setinfo/subtitle">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/corpauthor"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/authorgroup"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/author"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/othercredit"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/releaseinfo"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/copyright"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/legalnotice"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/pubdate"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revision"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revhistory"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/abstract"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="set.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="set.titlepage.separator"><hr/>
+</xsl:template>
+
+<xsl:template name="set.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="set.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="set.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="set.titlepage.before.recto"/>
+      <xsl:call-template name="set.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="set.titlepage.before.verso"/>
+      <xsl:call-template name="set.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="set.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="set.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="set.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="book.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="bookinfo/title">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="bookinfo/subtitle">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/corpauthor"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/authorgroup"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/author"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/othercredit"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/releaseinfo"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/date"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/date"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/copyright"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/legalnotice"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/pubdate"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/revision"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/revhistory"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/abstract"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="book.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="book.titlepage.separator"><hr/>
+</xsl:template>
+
+<xsl:template name="book.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="book.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="book.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="book.titlepage.before.recto"/>
+      <xsl:call-template name="book.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="book.titlepage.before.verso"/>
+      <xsl:call-template name="book.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="book.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="book.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="book.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="date" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="part.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="partinfo/title">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="partinfo/subtitle">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/corpauthor"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/authorgroup"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/author"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/othercredit"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/releaseinfo"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/copyright"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/legalnotice"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/pubdate"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/revision"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/revhistory"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/abstract"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="part.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="part.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="part.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="part.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="part.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="part.titlepage.before.recto"/>
+      <xsl:call-template name="part.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="part.titlepage.before.verso"/>
+      <xsl:call-template name="part.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="part.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="part.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="part.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="partintroinfo/title">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="partintroinfo/subtitle">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/corpauthor"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/authorgroup"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/author"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/othercredit"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/releaseinfo"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/copyright"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/legalnotice"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/pubdate"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/revision"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/revhistory"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/abstract"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="partintro.titlepage">
+  <div>
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="partintro.titlepage.before.recto"/>
+      <xsl:call-template name="partintro.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="partintro.titlepage.before.verso"/>
+      <xsl:call-template name="partintro.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="partintro.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="partintro.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="partintro.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="reference.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="referenceinfo/title">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="referenceinfo/subtitle">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/corpauthor"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/authorgroup"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/author"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/othercredit"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/releaseinfo"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/copyright"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/legalnotice"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/pubdate"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/revision"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/revhistory"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/abstract"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="reference.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="reference.titlepage.separator"><hr/>
+</xsl:template>
+
+<xsl:template name="reference.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="reference.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="reference.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="reference.titlepage.before.recto"/>
+      <xsl:call-template name="reference.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="reference.titlepage.before.verso"/>
+      <xsl:call-template name="reference.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="reference.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="reference.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="reference.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="refentry.titlepage.recto">
+</xsl:template>
+
+<xsl:template name="refentry.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="refentry.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="refentry.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="refentry.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="refentry.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="refentry.titlepage.before.recto"/>
+      <xsl:call-template name="refentry.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="refentry.titlepage.before.verso"/>
+      <xsl:call-template name="refentry.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="refentry.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="refentry.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="refentry.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.recto">
+  <div xsl:use-attribute-sets="dedication.titlepage.recto.style">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::dedication[1]"/>
+</xsl:call-template></div>
+  <xsl:choose>
+    <xsl:when test="dedicationinfo/subtitle">
+      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="dedicationinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="dedication.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="dedication.titlepage.before.recto"/>
+      <xsl:call-template name="dedication.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="dedication.titlepage.before.verso"/>
+      <xsl:call-template name="dedication.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="dedication.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="dedication.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="dedication.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="dedication.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="dedication.titlepage.recto.style">
+<xsl:apply-templates select="." mode="dedication.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="preface.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="prefaceinfo/title">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="prefaceinfo/subtitle">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/corpauthor"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/authorgroup"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/author"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/othercredit"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/releaseinfo"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/copyright"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/legalnotice"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/pubdate"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revision"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revhistory"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/abstract"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="preface.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="preface.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="preface.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="preface.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="preface.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="preface.titlepage.before.recto"/>
+      <xsl:call-template name="preface.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="preface.titlepage.before.verso"/>
+      <xsl:call-template name="preface.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="preface.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="preface.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="preface.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="chapterinfo/title">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="chapterinfo/subtitle">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/corpauthor"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/authorgroup"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/author"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/othercredit"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/releaseinfo"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/copyright"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/legalnotice"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/pubdate"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/revision"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/revhistory"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/abstract"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="chapter.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="chapter.titlepage.before.recto"/>
+      <xsl:call-template name="chapter.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="chapter.titlepage.before.verso"/>
+      <xsl:call-template name="chapter.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="chapter.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="chapter.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="chapter.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="appendixinfo/title">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="appendixinfo/subtitle">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/corpauthor"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/authorgroup"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/author"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/othercredit"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/releaseinfo"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/copyright"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/legalnotice"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/pubdate"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/revision"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/revhistory"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/abstract"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="appendix.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="appendix.titlepage.before.recto"/>
+      <xsl:call-template name="appendix.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="appendix.titlepage.before.verso"/>
+      <xsl:call-template name="appendix.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="appendix.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="appendix.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="appendix.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="section.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sectioninfo/title">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sectioninfo/subtitle">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/corpauthor"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/authorgroup"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/author"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/othercredit"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/releaseinfo"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/copyright"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/legalnotice"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/pubdate"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revision"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revhistory"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/abstract"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="section.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="section.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+</xsl:template>
+
+<xsl:template name="section.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="section.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="section.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="section.titlepage.before.recto"/>
+      <xsl:call-template name="section.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="section.titlepage.before.verso"/>
+      <xsl:call-template name="section.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="section.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="section.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="section.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect1info/title">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect1info/subtitle">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/corpauthor"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/authorgroup"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/author"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/othercredit"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/releaseinfo"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/copyright"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/legalnotice"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/pubdate"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revision"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revhistory"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/abstract"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect1.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect1.titlepage.before.recto"/>
+      <xsl:call-template name="sect1.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect1.titlepage.before.verso"/>
+      <xsl:call-template name="sect1.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="sect1.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="sect1.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect1.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect2info/title">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect2info/subtitle">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/corpauthor"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/authorgroup"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/author"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/othercredit"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/releaseinfo"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/copyright"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/legalnotice"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/pubdate"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revision"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revhistory"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/abstract"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect2.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect2.titlepage.before.recto"/>
+      <xsl:call-template name="sect2.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect2.titlepage.before.verso"/>
+      <xsl:call-template name="sect2.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="sect2.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="sect2.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect2.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect3info/title">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect3info/subtitle">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/corpauthor"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/authorgroup"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/author"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/othercredit"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/releaseinfo"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/copyright"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/legalnotice"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/pubdate"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revision"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revhistory"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/abstract"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect3.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect3.titlepage.before.recto"/>
+      <xsl:call-template name="sect3.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect3.titlepage.before.verso"/>
+      <xsl:call-template name="sect3.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="sect3.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="sect3.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect3.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect4info/title">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect4info/subtitle">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/corpauthor"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/authorgroup"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/author"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/othercredit"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/releaseinfo"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/copyright"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/legalnotice"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/pubdate"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revision"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revhistory"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/abstract"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect4.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect4.titlepage.before.recto"/>
+      <xsl:call-template name="sect4.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect4.titlepage.before.verso"/>
+      <xsl:call-template name="sect4.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="sect4.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="sect4.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect4.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect5info/title">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect5info/subtitle">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/corpauthor"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/authorgroup"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/author"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/othercredit"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/releaseinfo"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/copyright"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/legalnotice"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/pubdate"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revision"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revhistory"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/abstract"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect5.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect5.titlepage.before.recto"/>
+      <xsl:call-template name="sect5.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect5.titlepage.before.verso"/>
+      <xsl:call-template name="sect5.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="sect5.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="sect5.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect5.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="simplesectinfo/title">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="simplesectinfo/subtitle">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/corpauthor"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/authorgroup"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/author"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/othercredit"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/releaseinfo"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/copyright"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/legalnotice"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/pubdate"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/revision"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/revhistory"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/abstract"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="simplesect.titlepage.before.recto"/>
+      <xsl:call-template name="simplesect.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="simplesect.titlepage.before.verso"/>
+      <xsl:call-template name="simplesect.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="simplesect.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="simplesect.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="simplesect.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.recto">
+  <div xsl:use-attribute-sets="bibliography.titlepage.recto.style">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::bibliography[1]"/>
+</xsl:call-template></div>
+  <xsl:choose>
+    <xsl:when test="bibliographyinfo/subtitle">
+      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="bibliographyinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="bibliography.titlepage.before.recto"/>
+      <xsl:call-template name="bibliography.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="bibliography.titlepage.before.verso"/>
+      <xsl:call-template name="bibliography.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="bibliography.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="bibliography.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="bibliography.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="bibliography.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="bibliography.titlepage.recto.style">
+<xsl:apply-templates select="." mode="bibliography.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.recto">
+  <div xsl:use-attribute-sets="glossary.titlepage.recto.style">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::glossary[1]"/>
+</xsl:call-template></div>
+  <xsl:choose>
+    <xsl:when test="glossaryinfo/subtitle">
+      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="glossaryinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="glossary.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="glossary.titlepage.before.recto"/>
+      <xsl:call-template name="glossary.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="glossary.titlepage.before.verso"/>
+      <xsl:call-template name="glossary.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="glossary.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="glossary.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="glossary.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="glossary.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="glossary.titlepage.recto.style">
+<xsl:apply-templates select="." mode="glossary.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="index.titlepage.recto">
+  <div xsl:use-attribute-sets="index.titlepage.recto.style">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::index[1]"/>
+</xsl:call-template></div>
+  <xsl:choose>
+    <xsl:when test="indexinfo/subtitle">
+      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="indexinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="index.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="index.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="index.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="index.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="index.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="index.titlepage.before.recto"/>
+      <xsl:call-template name="index.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="index.titlepage.before.verso"/>
+      <xsl:call-template name="index.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="index.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="index.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="index.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="index.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="index.titlepage.recto.style">
+<xsl:apply-templates select="." mode="index.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.recto">
+  <div xsl:use-attribute-sets="setindex.titlepage.recto.style">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::setindex[1]"/>
+</xsl:call-template></div>
+  <xsl:choose>
+    <xsl:when test="setindexinfo/subtitle">
+      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="setindexinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="setindex.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="setindex.titlepage.before.recto"/>
+      <xsl:call-template name="setindex.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="setindex.titlepage.before.verso"/>
+      <xsl:call-template name="setindex.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="setindex.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="setindex.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="setindex.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="setindex.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="setindex.titlepage.recto.style">
+<xsl:apply-templates select="." mode="setindex.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+</xsl:stylesheet>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/XSLCustomizationLayer/G4HTMLStylesheet.css
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/XSLCustomizationLayer/G4HTMLStylesheet.css	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/XSLCustomizationLayer/G4HTMLStylesheet.css	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/XSLCustomizationLayer/G4XSLCommon.xsl
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/XSLCustomizationLayer/G4XSLCommon.xsl	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/XSLCustomizationLayer/G4XSLCommon.xsl	(revision 904)
@@ -0,0 +1,52 @@
+<?xml version='1.0' ?>
+<!-- ******************************************************************** -->  
+<!-- Setting up common Docbook XSL customization parameters for HTML and  -->
+<!-- FO. You need to inculde this file in the HTML and FO specific        --> 
+<!-- customization layer.                                                 -->
+<!-- ******************************************************************** -->  
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Automatically calculate the section numbers and add it to the header -->
+<!-- of the section title.                                                -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="section.autolabel">1</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Let the section labels start from the chapter number                 -->
+<!-- (Section 1.1, Section 1.2,... instead of Section 1, Section 2,...)   -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="section.label.includes.component.label">1</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Specify where the title shows up in figure, example, table, etc.     -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="formal.title.placement">
+figure after
+example before
+equation after
+table after
+procedure after
+</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Specify what will be appeared in table of content (toc)              -->
+<!-- For example, 'book toc,title' means toc will be generated and also   -->
+<!-- the title 'Table of Content' will be shown at the beginning of book. -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="generate.toc">
+book      toc,title
+chapter   nop
+section   nop
+appendix  nop
+</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- In 'xref' just write out the chapter/section number and not include  -->
+<!-- the their title.                                                     -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="xref.with.number.and.title">0</xsl:param>
+
+
+</xsl:stylesheet>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/XSLCustomizationLayer/G4XSLCustomFO.xsl
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/XSLCustomizationLayer/G4XSLCustomFO.xsl	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/XSLCustomizationLayer/G4XSLCustomFO.xsl	(revision 904)
@@ -0,0 +1,170 @@
+<?xml version='1.0' ?>
+<!-- ******************************************************************** -->  
+<!--  FO Customization Layer of Docbook XSL                               --> 
+<!-- ******************************************************************** -->  
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
+                xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Import the FO stylesheet                                             -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:import href="/usr/share/xml/docbook/stylesheet/nwalsh/current/fo/docbook.xsl"/>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Include the file which specifies common DocBook XSL parameters.      -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:include href="./G4XSLCommon.xsl" />
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Include the file which specifies the customized title page.          -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:include href="./G4BookTitlePageFO.xsl" />
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Define useful processing instructions for FO                         -->
+<!--  [Usage]  <? PI-name ?>                                              -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+
+<!-- Hard pagebreak -->
+<xsl:template match="processing-instruction('hard-pagebreak')">
+  <fo:block break-before='page' />
+</xsl:template>
+
+<!-- Soft pagebreak -->
+<xsl:template match="processing-instruction('soft-pagebreak')">
+  <fo:block-container width="100%" height="3.0cm">
+    <fo:block />
+  </fo:block-container>
+  <fo:block space-before="-3.0cm" />
+</xsl:template>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Page layout                                                          -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+
+<!-- Paper size -->
+<xsl:param name="paper.type">A4</xsl:param>
+
+<!-- Indentation of body text -->
+<xsl:param name="body.start.indent">0pt</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Global style for appearance of 'Title' in the major tags including   -->
+<!-- chapter, appendix, bibliography, index, etc                          -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:attribute-set name="component.title.properties">
+  <xsl:attribute name="font-weight">bold</xsl:attribute>
+  <xsl:attribute name="font-size">
+    <xsl:value-of select="$body.font.master * 2.0"/>
+    <xsl:text>pt</xsl:text>
+  </xsl:attribute>
+</xsl:attribute-set>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Style for appearance of 'Title' in various section level             -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:attribute-set name="section.title.level1.properties">
+  <xsl:attribute name="font-size">
+    <xsl:value-of select="$body.font.master * 1.8"/>
+    <xsl:text>pt</xsl:text>
+  </xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="section.title.level2.properties">
+  <xsl:attribute name="font-size">
+    <xsl:value-of select="$body.font.master * 1.6"/>
+    <xsl:text>pt</xsl:text>
+  </xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="section.title.level3.properties">
+  <xsl:attribute name="font-size">
+    <xsl:value-of select="$body.font.master * 1.4"/>
+    <xsl:text>pt</xsl:text>
+  </xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="section.title.level4.properties">
+  <xsl:attribute name="font-size">
+    <xsl:value-of select="$body.font.master * 1.2"/>
+    <xsl:text>pt</xsl:text>
+  </xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="section.title.level5.properties">
+  <xsl:attribute name="font-size">
+    <xsl:value-of select="$body.font.master * 1.0"/>
+    <xsl:text>pt</xsl:text>
+  </xsl:attribute>
+</xsl:attribute-set>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Style for appearance of 'Title' in figure, table, example, etc       -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:attribute-set name="formal.title.properties">
+  <xsl:attribute name="font-weight">bold</xsl:attribute>
+  <xsl:attribute name="font-size">12pt</xsl:attribute>
+  <xsl:attribute name="hyphenate">false</xsl:attribute>
+  <xsl:attribute name="space-before.minimum">0.3mm</xsl:attribute>
+  <xsl:attribute name="space-before.optimum">0.5mm</xsl:attribute>
+  <xsl:attribute name="space-before.maximum">1.0mm</xsl:attribute>
+  <xsl:attribute name="space-after.minimum">0pt</xsl:attribute>
+  <xsl:attribute name="space-after.optimum">0pt</xsl:attribute>
+  <xsl:attribute name="space-after.maximum">0pt</xsl:attribute>
+</xsl:attribute-set>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Example and informal example style                                   -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+
+<xsl:attribute-set name="example.properties">
+  <xsl:attribute name="space-before.minimum">0.5em</xsl:attribute>
+  <xsl:attribute name="space-before.optimum">1em</xsl:attribute>
+  <xsl:attribute name="space-before.maximum">2em</xsl:attribute>
+  <xsl:attribute name="space-after.minimum">0.5em</xsl:attribute>
+  <xsl:attribute name="space-after.optimum">1em</xsl:attribute>
+  <xsl:attribute name="space-after.maximum">2em</xsl:attribute>
+  <xsl:attribute name="background-color">#DDDDDD</xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="informalexample.properties">
+  <xsl:attribute name="space-before.minimum">0.5em</xsl:attribute>
+  <xsl:attribute name="space-before.optimum">1em</xsl:attribute>
+  <xsl:attribute name="space-before.maximum">2em</xsl:attribute>
+  <xsl:attribute name="space-after.minimum">0.5em</xsl:attribute>
+  <xsl:attribute name="space-after.optimum">1em</xsl:attribute>
+  <xsl:attribute name="space-after.maximum">2em</xsl:attribute>
+  <xsl:attribute name="background-color">#DDDDDD</xsl:attribute>
+</xsl:attribute-set>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Reduce the font size in verbatim environment (ex. programlisting)    -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:attribute-set name="monospace.verbatim.properties">
+  <xsl:attribute name="font-size">75%</xsl:attribute>
+</xsl:attribute-set>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Variablelist style                                                   -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="variablelist.as.blocks">1</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Ulink style                                                          -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- xsl:param name="ulink.footnotes">1</xsl:param -->
+<!-- xsl:param name="ulink.hyphenate">1</xsl:param -->
+<xsl:param name="ulink.show">0</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Footnote style                                                       -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:attribute-set name="footnote.mark.properties">
+  <xsl:attribute name="font-size">85%</xsl:attribute>
+  <xsl:attribute name="font-weight">bold</xsl:attribute>
+  <xsl:attribute name="font-style">italic</xsl:attribute>
+</xsl:attribute-set>
+
+
+</xsl:stylesheet>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/XSLCustomizationLayer/G4XSLCustomHTML.xsl
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/XSLCustomizationLayer/G4XSLCustomHTML.xsl	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForApplicationDeveloper/xml/XSLCustomizationLayer/G4XSLCustomHTML.xsl	(revision 904)
@@ -0,0 +1,72 @@
+<?xml version='1.0' ?>
+<!-- ******************************************************************** -->  
+<!--  HTML Customization Layer of Docbook XSL                             --> 
+<!-- ******************************************************************** -->  
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Import the stylesheet to chunk the html output                       -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:import href="/usr/share/xml/docbook/stylesheet/nwalsh/current/html/chunk.xsl" />
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Include the file which specifies common DocBook XSL parameters.      -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:include href="./G4XSLCommon.xsl" />
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Specify the CSS stylesheet to be used for fine tuning of appearance. -->
+<!--   [Note] Remember to take care the relative path to index.html       -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="html.stylesheet">../xml/XSLCustomizationLayer/G4HTMLStylesheet.css</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Specify the chunk conditions - the chunk level and the directory to  -->
+<!-- which the chunked files will be stored. You need to import the chunk -->
+<!-- stylesheet beforehand.                                               -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="chunk.section.depth">1</xsl:param>
+<xsl:param name="base.dir">../html/</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Include the file which specifies the customized title page.          -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:include href="./G4BookTitlePageHTML.xsl" />
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Use customized navigation icons.                                     -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="navig.graphics">1</xsl:param>
+<xsl:param name="navig.graphics.extension">.gif</xsl:param>
+<xsl:param name="navig.graphics.path">AllResources/IconsGIF/</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Define Java script and invoke by processing instruction (PI)         -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+
+<!-- Include JavaScript Function in HTML Header Part -->
+<xsl:template name="user.head.content">
+<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>
+</xsl:template>
+
+<!-- Handle Processing Instruction named 'JavaScript' -->
+<xsl:template match="processing-instruction()[local-name()= 'JavaScript']">
+  <xsl:text disable-output-escaping="yes">&lt;a href="javascript:remote_win('</xsl:text>
+  <xsl:value-of select="." /><xsl:text disable-output-escaping="yes">')" onMouseOver="window.status='Get alive picture...'; return true"&gt;[Rotate the Picture]&lt;br /&gt;
+  </xsl:text>
+  <xsl:text disable-output-escaping="yes">&lt;/a&gt;
+  </xsl:text>
+</xsl:template>
+
+
+</xsl:stylesheet>
+
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/Bibliography/Bibliography.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/Bibliography/Bibliography.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/Bibliography/Bibliography.xml	(revision 904)
@@ -0,0 +1,23 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  This is the top file for the present chapter. It        -->
+<!--  includes all section files which belong to the chapter. -->
+<!--  Entities names used below are defined in                -->
+<!--  ChapXXEntityDef.dtd in the current directory.           -->
+<!--                                                          -->
+<!--  [Note]                                                  -->
+<!--    Created by Katsuya Amako, Aug-2006                    -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!-- ******************** Top of Chapter ******************** -->
+<bibliography id="bibliography.Bibliography">
+<title>
+Bibliography
+</title>
+
+<!-- *************** Inclusion of Sections ****************** -->
+&biblioData;
+
+</bibliography>
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/Bibliography/BibliographyEntityDef.dtd
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/Bibliography/BibliographyEntityDef.dtd	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/Bibliography/BibliographyEntityDef.dtd	(revision 904)
@@ -0,0 +1,18 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  In this file you need to define entities of all xml     -->
+<!--  section files you want to include from the current      -->
+<!--  directory into the G4 DocBook manual.                   -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Creattion:  Katsuya Amako,  Aug-2006                  -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!ENTITY bibliography              SYSTEM "./Bibliography.xml">
+
+<!ENTITY biblioData                SYSTEM "./biblioData.xml">
+
+
+
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/Bibliography/biblioData.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/Bibliography/biblioData.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/Bibliography/biblioData.xml	(revision 904)
@@ -0,0 +1,110 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Created:  Katsuya Amako, Dec-2006                     -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!-- ******************* Bibliograpy Entry ****************** -->
+<biblioentry id="biblio.Gamma1995">
+  <abbrev id="biblio.Gamma1995.abbrev">
+    Gamma1995
+  </abbrev>
+  <author>
+    <firstname>E.</firstname>
+    <surname>Gamma</surname>
+  </author>
+  <title>
+    Design Patterns
+  </title>
+  <publishername>
+    Addison-Wesley Professional Computing Series
+  </publishername>
+  <pubdate>
+    1995
+  </pubdate>
+</biblioentry>
+
+<!-- ******************* Bibliograpy Entry ****************** -->
+<biblioentry id="biblio.QGSM">
+  <abbrev id="biblio.QGSM.abbrev">QGSM</abbrev>
+  <biblioset relation='article'>     
+    <author><surname>Kaidalov A. B., Ter-Martirosyan</surname></author>
+  </biblioset>
+  <biblioset relation='journal'>     
+    <title>Phys. Lett.</title>
+    <volumenum>B117 (1982) 247</volumenum>
+  </biblioset>
+</biblioentry>
+
+<!-- ******************* Bibliograpy Entry ****************** -->
+<biblioentry id="biblio.ENDFForm">
+  <abbrev id="biblio.ENDFForm.abbrev">
+    ENDFForm
+  </abbrev>
+  <title>
+    Data Formats and Procedures for the Evaluated Nuclear Data File
+  </title>
+  <publishername>
+    National
+    Nuclear Data Center, Brookhaven National Laboratory, Upton, NY, USA.
+  </publishername>
+</biblioentry>
+
+<!-- ******************* Bibliograpy Entry ****************** -->
+<biblioentry id="biblio.QMD">
+  <abbrev id="biblio.QMD.abbrev">QMD</abbrev>
+  <biblioset relation='article'>
+    <title>For example: VUU and (R)QMD model of high-energy heavy ion
+           collisions
+    </title>     
+    <author><surname>H. Stocker et al.</surname></author>
+  </biblioset>
+  <biblioset relation='journal'>     
+    <title>Nucl. Phys.</title>
+    <volumenum>A538, 53c-64c (1992)</volumenum>
+  </biblioset>
+</biblioentry>
+
+<!-- ******************* Bibliograpy Entry ****************** -->
+<biblioentry id="biblio.CHIPS">
+  <abbrev id="biblio.CHIPS.abbrev">CHIPS</abbrev>
+  <biblioset relation='article'>
+    <author><surname>P.V. Degtyarenko, M.V. Kossov, H.P. Wellisch</surname></author>
+  </biblioset>
+  <biblioset relation='journal'>     
+    <title>Eur. Phys J.</title>
+    <volumenum>A 8, 217-222 (2000)</volumenum>
+  </biblioset>
+</biblioentry>
+
+<!-- ******************* Bibliograpy Entry ****************** -->
+<biblioentry id="biblio.VNI">
+  <abbrev id="biblio.VNI.abbrev">VNI</abbrev>
+  <biblioset relation='article'>
+    <author><surname>Klaus Geiger</surname></author>
+  </biblioset>
+  <biblioset relation='journal'>     
+    <title>Comput. Phys. Commun.</title>
+    <volumenum>104, 70-160 (1997)</volumenum>
+  </biblioset>
+  <biblioset relation='journal'>     
+    <title>Brookhaven</title>
+    <volumenum>BNL-63762</volumenum>
+  </biblioset>
+</biblioentry>
+
+<!-- ******************* Bibliograpy Entry ****************** -->
+<biblioentry id="biblio.PYTHIA7">
+  <abbrev id="biblio.PYTHIA7.abbrev">PYTHIA7</abbrev>
+  <biblioset relation='article'>
+    <title>Pythia version 7-0.0 -- a proof-of-concept version</title>     
+    <author><surname>M. Bertini, L. Lonnblad, T. Sjorstrand</surname></author>
+  </biblioset>
+  <biblioset relation='journal'>     
+    <title></title>
+    <volumenum>LU-TP 00-23, hep-ph/0006152</volumenum>
+    <pubdate>May 2000</pubdate>
+  </biblioset>
+</biblioentry>
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/BookForToolDev.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/BookForToolDev.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/BookForToolDev.xml	(revision 904)
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
+
+<!ENTITY % bookForToolDevEntityDef SYSTEM "./BookForToolDevEntityDef.dtd">
+%bookForToolDevEntityDef;
+
+]>
+
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Created by:   Katsuya Amako, Nov-2006                 -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!-- ******************* Top of the Book ******************** --> 
+<book id="geant4_users_guide_for_toolkit_developers">
+
+
+<!-- ******************* Book Information ******************* --> 
+<bookinfo>
+  <title>
+  Geant4 User's Guide for Toolkit Developers
+  </title>
+
+  <authorgroup>
+  <author>
+  <firstname></firstname>
+  <surname>Geant4 Collaboration</surname>
+  </author>
+  </authorgroup>
+
+  <pubdate>14 December, 2007</pubdate>
+  <releaseinfo>Version: geant4 9.1</releaseinfo>
+
+</bookinfo>
+
+<!-- *************** Inclusion of Chapters ****************** --> 
+&chapIntroduction;
+&chapDsgnFunc;
+&chapExtdFunc;
+
+&bibliography;
+</book>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/BookForToolDevEntityDef.dtd
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/BookForToolDevEntityDef.dtd	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/BookForToolDevEntityDef.dtd	(revision 904)
@@ -0,0 +1,25 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  In this file you need to define entities of all         -->
+<!--  chpater-dtd files you want to include into the          -->
+<!--  G4 DocBook manual.                                      -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Creation:  Katsuya Amako,  November 2006              -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!ENTITY % chapIntroductionEntityDef SYSTEM 
+           "./Introduction/ChapIntroductionEntityDef.dtd"> 
+<!ENTITY % chapDsgnFuncEntityDef.dtd SYSTEM 
+           "./OOAnalysisDesign/ChapDsgnFuncEntityDef.dtd"> 
+<!ENTITY % chapExtdFuncEntityDef.dtd SYSTEM 
+           "./GuideToExtendFunctionality/ChapExtdFuncEntityDef.dtd"> 
+<!ENTITY % bibliographyEntityDef SYSTEM
+           "Bibliography/BibliographyEntityDef.dtd">
+
+
+%chapIntroductionEntityDef;
+%chapDsgnFuncEntityDef.dtd;
+%chapExtdFuncEntityDef.dtd;
+%bibliographyEntityDef;
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/GuideToExtendFunctionality/ChapExtdFunc.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/GuideToExtendFunctionality/ChapExtdFunc.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/GuideToExtendFunctionality/ChapExtdFunc.xml	(revision 904)
@@ -0,0 +1,28 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  This is the top file for the present chapter. It        -->
+<!--  includes all section files which belong to the chapter. -->
+<!--  Entities names used below are defined in                -->
+<!--  ChapXXEntityDef.dtd in the current directory.           -->
+<!--                                                          -->
+<!--  [Note]                                                  -->
+<!--    Created by Katsuya Amako, Nov-2006                    -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!-- ******************** Top of Chapter ******************** -->
+<chapter id="chap.ExtendFunc">
+<title>
+Extending Toolkit Functionality
+</title>
+
+<!-- *************** Inclusion of Sections ****************** -->
+&sectExtdFuncGeometry;
+&sectExtdFuncElectromagneticField;
+&sectExtdFuncParticles;
+&sectExtdFuncPhysicsProcesses;
+&sectExtdFuncHadronicPhysics;
+&sectExtdFuncVisualization;
+
+</chapter>
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/GuideToExtendFunctionality/ChapExtdFuncEntityDef.dtd
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/GuideToExtendFunctionality/ChapExtdFuncEntityDef.dtd	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/GuideToExtendFunctionality/ChapExtdFuncEntityDef.dtd	(revision 904)
@@ -0,0 +1,28 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  In this file you need to define entities of all xml     -->
+<!--  section files you want to include from the current      -->
+<!--  directory into the G4 DocBook manual.                   -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Creation:  Katsuya Amako,  Nov-2006                   -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!-- Entity definitions xml files under current directories.  -->
+<!ENTITY chapExtdFunc          SYSTEM  "./ChapExtdFunc.xml">
+
+<!ENTITY sectExtdFuncGeometry  SYSTEM  "./Geometry/geometry.xml">
+<!ENTITY sectExtdFuncElectromagneticField 
+                               SYSTEM  "./ElectromagneticField/electroMagneticField.xml">
+<!ENTITY sectExtdFuncParticles  
+                               SYSTEM  "./Particles/particles.xml">
+<!ENTITY sectExtdFuncPhysicsProcesses  
+                               SYSTEM  "./PhysicsProcesses/physicsProcesses.xml">
+<!ENTITY sectExtdFuncHadronicPhysics  
+                               SYSTEM  "./HadronicPhysics/hadronics.xml">
+<!ENTITY sectExtdFuncVisualization  
+                               SYSTEM  "./Visualization/visualization.xml">
+
+
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/GuideToExtendFunctionality/ElectromagneticField/electroMagneticField.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/GuideToExtendFunctionality/ElectromagneticField/electroMagneticField.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/GuideToExtendFunctionality/ElectromagneticField/electroMagneticField.xml	(revision 904)
@@ -0,0 +1,268 @@
+<!-- ******************************************************** -->
+<!--  Docbook Version:  For Toolkit Developers Guide          -->
+<!-- ******************************************************** -->
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.ExtdFuncEMFld">
+<title>
+Electromagnetic Fields
+</title>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ExtdFuncEMFld.CrtNwFld">
+<title>
+Creating a New Type of Field
+</title>
+
+<para>
+Geant4 currently handles magnetic and electric fields and,
+in future releases, will handle combined electromagnetic 
+fields.  Fields due to other forces, not yet included in 
+Geant4, can be provided by describing the new field and the
+force it exerts on a particle passing through it.  For the
+time being, all fields must be time-independent. This 
+restriction may be lifted in the future. 
+</para>
+
+<para>
+In order to accommodate a new type of field, two classes must 
+be created: a field type and a class that determines the force. 
+The Geant4 system must then be informed of the new field. 
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+A new Field class
+</bridgehead>
+
+<para>
+A new type of Field class may be created by inheriting from 
+G4Field 
+
+<informalexample><programlisting>
+      class NewField : public G4Field
+      {
+         public: 
+            void  GetFieldValue( const  double Point[3],
+                                        double *pField )=0;
+      }
+</programlisting></informalexample>
+
+and deciding how many components your field will have, and what 
+each component represents.  For example, three components are
+required to describe a vector field while only one component is
+required to describe a scalar field.
+</para>
+
+<para>
+If you want your field to be a combination of different fields, 
+you must choose your convention for which field goes first,
+which second etc. For example, to define an electromagnetic field we 
+follow the convention that components 0,1 and 2 refer to the magnetic
+field and components 3, 4 and 5 refer to the electric field. 
+</para>
+
+<para>
+By leaving the GetFieldValue method pure virtual, you force 
+those users who want to describe their field to create a
+class that implements it for their detector's instance of 
+this field. So documenting what each component means is required,
+to give them the necessary information. 
+</para>
+
+<para>
+For example someone can describe DetectorAbc's field by creating 
+a class DetectorAbcField, that derives from your NewField 
+
+<informalexample><programlisting>
+class DetectorAbcField : public NewField 
+{
+  public:
+     void  MyFieldGradient::GetFieldValue( const double Point[3], 
+                                           double *pField );
+}
+</programlisting></informalexample>
+
+They then implement the function GetFieldValue 
+
+<informalexample><programlisting>
+      void  MyFieldGradient::GetFieldValue( const  double Point[3],
+                                            double *pField )
+      {
+         // We expect pField to point to pField[9]; 
+         // This &amp; the order of the components of pField is your own 
+         // convention
+       
+         // We calculate the value of pField at Point ...
+      }
+</programlisting></informalexample>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+A new Equation of Motion for the new Field
+</bridgehead>
+
+<para>
+Once you have created a new type of field, you must create an 
+Equation of Motion for this Field. This is required in order to
+obtain the force that a particle feels. 
+</para>
+
+<para>
+To do this you must inherit from G4Mag_EqRhs and create your own 
+equation of motion that understands your field. In it
+you must implement the virtual function EvaluateRhsGivenB. Given 
+the value of the field, this function calculates the
+value of the generalised force. This is the only function that 
+a subclass must define. 
+
+<informalexample><programlisting>
+     virtual void EvaluateRhsGivenB( const  G4double y[],
+                              const  G4double B[3],
+                                     G4double dydx[] ) const = 0;
+</programlisting></informalexample>
+</para>
+
+<para>
+In particular, the derivative vector dydx is a vector with six 
+components. The first three are the derivative of the position
+with respect to the curve length. Thus they should set equal to 
+the normalised velocity, which is components 3, 4 and 5 of y. 
+
+<informalexample><programlisting>
+  (dydx[0], dydx[1], dydx[2]) = (y[3], y[4], y[5])
+</programlisting></informalexample>
+</para>
+
+<para>
+The next three components are the derivatives of the velocity 
+vector with respect to the path length. So you should write the
+"force" components for 
+
+<informalexample><programlisting>
+      dydx[3], dydx[4] and dydx[5]
+</programlisting></informalexample>
+
+for your field. 
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Get a G4FieldManager to use your field
+</bridgehead>
+
+<para>
+In order to inform the Geant4 system that you want it to use 
+your field as the global field, you must do the following steps: 
+
+<orderedlist spacing="compact">
+  <listitem><para>
+    Create a Stepper of your choice: 
+    <informalexample><programlisting>
+       
+      yourStepper = new G4ClassicalRK( yourEquationOfMotion );
+                // or if your field is not smooth eg
+                //     new G4ImplicitEuler( yourEquationOfMotion );
+    </programlisting></informalexample>
+  </para></listitem>
+  <listitem><para>
+    Create a chord finder that uses your Field and Stepper. You
+    must also give it a minimum step size, below which it
+    does not make sense to attempt to integrate: 
+    <informalexample><programlisting>
+      yourChordFinder= new G4ChordFinder( yourField,
+                                 yourMininumStep, // say 0.01*mm
+                                 yourStepper );
+    </programlisting></informalexample>
+  </para></listitem>
+  <listitem><para>
+    Next create a G4FieldManager and give it that chord finder, 
+    <informalexample><programlisting>
+      yourFieldManager= new G4FieldManager();
+      yourFieldManager.SetChordFinder(yourChordFinder);
+    </programlisting></informalexample>
+  </para></listitem>
+  <listitem><para>
+    Finally we tell the Geometry that this FieldManager is 
+    responsible for creating a field for the detector. 
+    <informalexample><programlisting>
+      G4TransportationManager::GetTransportationManager()
+                            -> SetFieldManager( yourFieldManager );
+    </programlisting></informalexample>
+  </para></listitem>
+</orderedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Changes for non-electromagnetic fields
+</bridgehead>
+
+<para>
+If the field you are interested in simulating is not electromagnetic, 
+another minor modification may be required. The
+transportation currently chooses whether to propagate a particle 
+in a field or rectilinearly based on whether the particle is
+charged or not. If your field affects non-charged particles, you 
+must inherit from the G4Transportation and re-implement the
+part of GetAlongStepPhysicalInteractionLength that decides whether 
+the particles is affected by your force. 
+</para>
+
+<para>
+In particular the relevant section of code does the following: 
+
+<informalexample><programlisting>
+  //  Does the particle have an (EM) field force exerting upon it?
+  //
+  if( (particleCharge!=0.0) ){
+     
+     fieldExertsForce= this->DoesGlobalFieldExist();
+     // Future: will/can also check whether current volume's field is Zero or
+     //  set by the user (in the logical volume) to be zero.
+  }
+</programlisting></informalexample>
+
+and you want it to ask whether it feels your force. If, for the sake 
+of an example, you wanted to see the effects of gravity on a
+heavy hypothetical particle, you could say 
+
+<informalexample><programlisting>
+  
+  //  Does the particle have my field's force exerted on it?
+  //
+  if (particle->GetName() == "VeryHeavyWIMP") {
+     fieldExertsForce= this->DoesGlobalFieldExist();  // For gravity
+  }
+</programlisting></informalexample>
+
+After doing all these steps, you will be able to see the effects of 
+your force on a particle's motion. 
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead role="revisionHistory" renderas="sect4">
+[Status of this chapter]
+</bridgehead>
+<para>
+<simplelist type="var">
+  <member>
+    10.06.02 partially re-written by D.H. Wright
+  </member>
+  <member>
+    14.11.02 spell check by P. Arce
+  </member>
+    Dec. 2006 Conversion from latex to Docbook verson by K. Amako
+  <member>
+  </member>
+</simplelist>
+</para>
+    
+
+</sect2>
+</sect1>
+
+
+
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/GuideToExtendFunctionality/Geometry/geometry.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/GuideToExtendFunctionality/Geometry/geometry.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/GuideToExtendFunctionality/Geometry/geometry.xml	(revision 904)
@@ -0,0 +1,399 @@
+<!-- ******************************************************** -->
+<!--  Docbook Version:  For Toolkit Developers Guide          -->
+<!-- ******************************************************** -->
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.ExtdFuncGeom">
+<title>
+Geometry
+</title>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ExtdFuncGeom.WhtCan">
+<title>
+What can be extended ?
+</title>
+
+<para>
+Geant4 already allows a user to describe any desired solid,
+and to use it in a detector description, in some cases, however,
+the user may want or need to extend Geant4's geometry.
+One reason can be that some methods and types in the geometry
+are general and the user can utilise specialised knowledge about
+his or her geometry to gain a speedup. The most evident case where
+this can happen is when a particular type of solid is a key
+element for a specific detector geometry and an investment in
+improving its runtime performance may be worthwhile.
+</para>
+
+<para>
+To extend the functionality of the Geometry in this way,
+a toolkit developer must write a small number of methods for
+the new solid.
+We will document below these methods and their specifications.
+Note that the implementation details for some methods are not a
+trivial matter: these methods must provide the functionality of
+finding whether a point is inside a solid, finding the
+intersection of a line with it, and finding the distance to the
+solid along any direction. However once the solid class has been
+created with all its specifications fulfilled, it can be used like
+any Geant4 solid, as it implements the abstract interface of G4VSolid.
+</para>
+
+<para>
+Other additions can also potentially be achieved. For example, 
+an advanced user could add a new way of creating physical volumes.
+However, because each type of volume has a corresponding navigator
+helper, this would require to create a new Navigator as well.
+To do this the user would have to inherit from G4Navigator and
+modify the new Navigator to handle this type of volumes.
+This can certainly be done, but will probably be made easier to
+achieve in the future versions of the Geant4 toolkit. 
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ExtdFuncGeom.AddSld">
+<title>
+Adding a new type of Solid
+</title>
+
+<para>
+We list below the required methods for integrating a new type
+of solid in Geant4. Note that Geant4's specifications for a
+solid pay significant attention to what happens at points that
+are within a small distance (tolerance, 
+<emphasis role="bold">kCarTolerance</emphasis> 
+in the code) of the surface. So special care must be taken to
+handle these cases in considering all different possible
+scenarios, in order to respect the specifications and allow
+the solid to be used correctly by the other components of the
+geometry module.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Creating a derived class of G4VSolid
+</bridgehead>
+
+<para>
+The solid must inherit from G4VSolid or one of its 
+derived classes and implement its virtual functions. 
+</para>
+
+<para>
+Mandatory member functions you must define are the following 
+pure virtual of G4VSolid: 
+
+<informalexample><programlisting>
+ EInside Inside(const G4ThreeVector&amp; p)
+ G4double DistanceToIn(const G4ThreeVector&amp; p)
+ G4double DistanceToIn(const G4ThreeVector&amp; p, const G4ThreeVector&amp; v)
+ G4ThreeVector SurfaceNormal(const G4ThreeVector&amp; p)
+ G4double DistanceToOut(const G4ThreeVector&amp; p)
+ G4double DistanceToOut(const G4ThreeVector&amp; p, const G4ThreeVector&amp; v,
+                        const G4bool calcNorm=false,
+                              G4bool *validNorm=0, G4ThreeVector *n)
+ G4bool CalculateExtent(const EAxis pAxis,
+                        const G4VoxelLimits&amp; pVoxelLimit,
+                        const G4AffineTransform&amp; pTransform,
+                              G4double&amp; pMin,
+                              G4double&amp; pMax) const
+ G4GeometryType GetEntityType() const
+ std::ostream&amp; StreamInfo(std::ostream&amp; os) const
+</programlisting></informalexample>
+</para>
+
+<para>
+They must perform the following functions 
+
+<informalexample><programlisting>
+  EInside Inside(const G4ThreeVector&amp; p)
+</programlisting></informalexample>
+
+This method must return: 
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    kOutside if the point at offset p is outside the shape 
+    boundaries plus Tolerance/2, 
+  </para></listitem>
+  <listitem><para>
+    kSurface if the point is &lt;= Tolerance/2 from a surface, or 
+  </para></listitem>
+  <listitem><para>
+    kInside otherwise. 
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+<informalexample><programlisting>
+G4ThreeVector SurfaceNormal(const G4ThreeVector&amp; p)
+</programlisting></informalexample>
+
+Return the outwards pointing unit normal of the shape for the 
+surface closest to the point at offset p.
+
+<informalexample><programlisting>
+G4double DistanceToIn(const G4ThreeVector&amp; p)
+</programlisting></informalexample>
+
+Calculate distance to nearest surface of shape from an outside 
+point p. The distance can be an underestimate. 
+
+<informalexample><programlisting>
+G4double DistanceToIn(const G4ThreeVector&amp; p, const G4ThreeVector&amp; v)
+</programlisting></informalexample>
+
+Return the distance along the normalised vector v to the shape, 
+from the point at offset p. If there is no intersection, return
+kInfinity. The first intersection resulting from `leaving' 
+a surface/volume is discarded. Hence, this is tolerant of points on
+surface of shape.
+
+<informalexample><programlisting>
+G4double DistanceToOut(const G4ThreeVector&amp; p)
+</programlisting></informalexample>
+
+Calculate distance to nearest surface of shape from an inside 
+point. The distance can be an underestimate. 
+
+<informalexample><programlisting>
+G4double DistanceToOut(const G4ThreeVector&amp; p, const G4ThreeVector&amp; v,
+                        const G4bool calcNorm=false,
+                        G4bool *validNorm=0, G4ThreeVector *n=0);
+</programlisting></informalexample>
+
+Return distance along the normalised vector v to the shape, from 
+a point at an offset p inside or on the surface of the shape.
+Intersections with surfaces, when the point is not greater than 
+kCarTolerance/2 from a surface, must be ignored. 
+</para>
+
+<para>
+If calcNorm is true, then it must also set validNorm to either 
+<itemizedlist spacing="compact">
+<listitem><para></para></listitem>true, if the solid lies entirely behind or on the exiting 
+      surface. Then it must set n to the outwards normal vector (the
+      Magnitude of the vector is not defined). 
+<listitem><para></para></listitem>false, if the solid does not lie entirely behind or on the 
+      exiting surface. 
+</itemizedlist>
+</para>
+
+<para>
+If calcNorm is false, then validNorm and n are unused. 
+
+<informalexample><programlisting>
+G4bool CalculateExtent(const EAxis pAxis,
+                        const G4VoxelLimits&amp; pVoxelLimit,
+                        const G4AffineTransform&amp; pTransform,
+                              G4double&amp; pMin,
+                              G4double&amp; pMax) const
+</programlisting></informalexample>
+
+Calculate the minimum and maximum extent of the solid, when under the
+specified transform, and within the specified limits. If the solid
+is not intersected by the region, return false, else return true.
+
+<informalexample><programlisting>
+G4GeometryType GetEntityType() const;
+</programlisting></informalexample>
+
+Provide identification of the class of an object (required for
+persistency and STEP interface).
+
+<informalexample><programlisting>
+std::ostream&amp; StreamInfo(std::ostream&amp; os) const
+</programlisting></informalexample>
+
+Should dump the contents of the solid to an output stream.
+</para>
+
+<para>
+The method:
+
+<informalexample><programlisting>
+G4double GetCubicVolume()
+</programlisting></informalexample>
+
+should be implemented for every solid in order to cache the computed
+value (and therefore reuse it for future calls to the method) and to
+eventually implement a precise computation of the solid's volume. If
+the method will not be overloaded, the default implementation from the
+base class will be used (estimation through a Monte Carlo algorithm)
+and the computed value will not be stored.
+</para>
+
+<para>
+There are a few member functions to be defined for the purpose of 
+visualisation. The first method is mandatory, and the next four are not. 
+
+<informalexample><programlisting>
+  // Mandatory
+  virtual void DescribeYourselfTo (G4VGraphicsScene&amp; scene) const = 0;
+
+  // Not mandatory
+  virtual G4VisExtent GetExtent() const;
+  virtual G4Polyhedron* CreatePolyhedron () const;
+  virtual G4NURBS*      CreateNURBS      () const;
+  virtual G4Polyhedron* GetPolyhedron    () const;
+</programlisting></informalexample>
+
+What these methods should do and how they should be implemented is
+described here. 
+
+<informalexample><programlisting>
+ void DescribeYourselfTo (G4VGraphicsScene&amp; scene) const;
+</programlisting></informalexample>
+
+This method is required in order to identify the solid to the graphics scene. 
+It is used for the purposes of ``double dispatch''. All implementations 
+should be similar to the one for G4Box: 
+
+<informalexample><programlisting>
+void G4Box::DescribeYourselfTo (G4VGraphicsScene&amp; scene) const
+{
+  scene.AddSolid (*this);
+}
+</programlisting></informalexample>
+
+The method:
+
+<informalexample><programlisting>
+ G4VisExtent GetExtent() const;
+</programlisting></informalexample>
+
+provides extent (bounding box) as a possible hint to the graphics view. 
+You must create it by finding a box that encloses your solid, and returning 
+a VisExtent that is created from this. 
+The G4VisExtent must presumably be given the minus x, plus x,
+minus y, plus y, minus z and plus z extents of this ``box''. 
+For example a cylinder can say 
+
+<informalexample><programlisting>
+G4VisExtent G4Tubs::GetExtent() const
+{
+  // Define the sides of the box into which the G4Tubs instance would fit.
+  return G4VisExtent (-fRMax, fRMax, -fRMax, fRMax, -fDz, fDz);
+}
+</programlisting></informalexample>
+
+The method:
+
+<informalexample><programlisting>
+ G4Polyhedron* CreatePolyhedron () const;
+</programlisting></informalexample>
+
+is required by the visualisation system, in order to create a 
+realistic rendering of your solid. To create a G4Polyhedron for
+your solid, consult G4Polyhedron.
+</para>
+
+<para>
+While the method:
+
+<informalexample><programlisting>
+ G4Polyhedron* GetPolyhedron () const;
+</programlisting></informalexample>
+
+is a ``smart'' access function that creates on requests a polyhedron
+and stores it for future access and should be customised for every solid.
+</para>
+
+<para>
+The method:
+
+<informalexample><programlisting>
+ G4NURBS* CreateNURBS () const;
+</programlisting></informalexample>
+
+is not currently utilised, so you do not have to implement it. 
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ExtdFuncGeom.ModNav">
+<title>
+Modifying the Navigator
+</title>
+
+<para>
+For the vast majority of use-cases, it is not indeed necessary
+(and definitely not advised) to extend or modify the existing
+classes for navigation in the geometry.
+A possible use-case for which this may apply, is for the
+description of a new kind of physical volume to be integrated.
+We believe that our set of choices for creating physical volumes
+is varied enough for nearly all needs.
+Future extensions of the Geant4 toolkit will probably make
+easier exchanging or extending the G4Navigator, by introducing an
+abstraction level simplifying the customisation. At this time,
+a simple abstraction level of the navigator is provided by allowing
+overloading of the relevant functionalities.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Extending the Navigator
+</bridgehead>
+
+<para>
+The main responsibilities of the Navigator are: 
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    locate a point in the tree of the geometrical volumes; 
+  </para></listitem>
+  <listitem><para>
+    compute the length a particle can travel from a point
+    in a certain direction before encountering a volume
+      boundary. 
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+The Navigator utilises one helper class for each type of physical 
+volume that exists. You will have to reuse the helper classes provided
+in the base Navigator or create new ones for the new type of physical volume. 
+</para>
+
+<para>
+To extend G4Navigator you will have then to inherit from it 
+and modify these functions in your ModifiedNavigator to
+request the answers for your new physical volume type from the
+new helper class. The ModifiedNavigator should delegate other
+cases to the Geant4's standard Navigator. 
+</para>
+
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Replacing the Navigator
+</bridgehead>
+
+<para>
+Replacing the Navigator is another possible operation. It is 
+similar to extending the Navigator, in that any types of physical
+volume that will be allowed must be handled by it. The same 
+functionality is required as described in the previous section. 
+</para>
+
+<para>
+However the amount of work is probably potentially larger, if 
+support for all the current types of physical volumes is required.
+</para>
+
+<para>
+The Navigator utilises one helper class for each type of 
+physical volume that exists. These could also potentially be 
+replaced, allowing a simpler way to create a new navigation
+system. 
+</para>
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/GuideToExtendFunctionality/HadronicPhysics/hadronics.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/GuideToExtendFunctionality/HadronicPhysics/hadronics.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/GuideToExtendFunctionality/HadronicPhysics/hadronics.xml	(revision 904)
@@ -0,0 +1,874 @@
+<!-- ******************************************************** -->
+<!--  Docbook Version:  For Toolkit Developers Guide          -->
+<!-- ******************************************************** -->
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.ExtdFuncHadPhys">
+<title>
+Hadronic Physics
+</title>
+
+<!-- 
+  This is a verbatim of a paper published in a refereed journal.
+  A suggestion by one of the documentation referees to re-write 
+  completely seems quite inappropriate.
+-->
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ExtdFuncHadPhys.Intro">
+<title>
+Introduction
+</title>
+
+<para>
+Optimal exploitation of hadronic final
+states played a key role in successes of all recent collider experiment in HEP,
+and the ability to use hadronic final states will continue to be one of the
+decisive issues during the analysis phase of the LHC experiments.
+Monte Carlo programs like Geant4 facilitate the use of 
+hadronic final states, and have been developed for many years.
+</para>
+
+<para>
+We give an overview of the Object Oriented frameworks for hadronic generators 
+in Geant4, and illustrate the physics models underlying hadronic shower 
+simulation on examples, including the three basic types of modeling; 
+data-driven, parametrisation-driven, and theory-driven modeling, and their 
+possible realisations in the Object Oriented component system of Geant4. 
+We put particular focus on the level of extendibility that can and has been 
+achieved by our Russian dolls approach to Object Oriented design, and the
+role and importance of the frameworks in a component system.
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ExtdFuncHadPhys.PrncCnsd">
+<title>
+Principal Considerations
+</title>
+
+<para>
+The purpose of this section is to explain the implementation frameworks used 
+in and provided by Geant4 for hadronic shower simulation as in the 1.1 
+release of the program. The implementation frameworks follow the Russian dolls 
+approach to implementation framework design.
+A top-level, very abstracting implementation framework provides the basic
+interface to the other Geant4 categories, and fulfils the most general
+use-case for hadronic shower simulation. It is refined for more specific
+use-cases by implementing a hierarchy of implementation frameworks, each level
+implementing the common logic of a particular use-case package in a concrete 
+implementation of the interface specification of one framework level above, 
+this way refining the granularity of abstraction and delegation.  This defines 
+the Russian dolls architectural pattern.
+Abstract classes are used as the delegation mechanism
+
+<footnote>
+  <para>
+  The same can be achieved with template specialisations
+  with slightly improved CPU performance but at the cost of significantly more 
+  complex designs and, with present compilers, significantly reduced 
+  portability.
+  </para>
+</footnote>
+.
+</para>
+
+<para>
+All framework functional requirements were obtained through use-case analysis. 
+In the following we present for each framework level the compressed use-cases, 
+requirements, designs including the flexibility provided, and illustrate the 
+framework functionality with examples. All design patterns cited are to
+be read as defined in 
+<citation><xref linkend="biblio.Gamma1995" endterm="biblio.Gamma1995.abbrev" /></citation>.
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ExtdFuncHadPhys.L1_Proc">
+<title>
+Level 1 Framework - processes
+</title>
+
+<para>
+There are two principal use-cases of the level 1 framework. A user will 
+want to choose the processes used for his particular simulation run, and a 
+physicist will want to write code for processes of his own and use these 
+together with the rest of the system in a seamless manner.
+</para> 
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Requirements
+</bridgehead>
+
+<para>
+<orderedlist spacing="compact">
+  <listitem><para>
+    Provide a standard interface to be used by process implementations.
+  </para></listitem>
+  <listitem><para>
+    Provide registration mechanisms for processes.
+  </para></listitem>
+</orderedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Design and interfaces
+</bridgehead>
+
+<para>
+Both requirements are implemented in a sub-set of the tracking-physics 
+interface in Geant4}. The class diagram is shown in 
+<xref linkend="fig.ExtdFuncHadPhys_1" />.
+
+<figure id="fig.ExtdFuncHadPhys_1">
+<title>
+Level 1 implementation framework of the hadronic category of GEANT4.
+</title>
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="./AllResources/GuideToExtendFunctionality/HadronicPhysics/Level1.gif" 
+               format="GIF" align="center" contentwidth="10.0cm" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/GuideToExtendFunctionality/HadronicPhysics/Level1.gif" 
+               format="GIF" align="center" />
+  </imageobject>
+</mediaobject>
+</figure>
+</para>
+
+<para>
+All processes have a common base-class <literal>G4VProcess</literal>, 
+from which a set of specialised classes are derived. Three of them are 
+used as base classes for hadronic processes for particles at rest 
+(<literal>G4VRestProcess</literal>), for interactions in flight 
+(<literal>G4VDiscreteProcess</literal>), and for processes like
+radioactive decay where the same implementation can represent both these 
+extreme cases (<literal>G4VRestDiscrete-Process</literal>).
+</para>
+
+<para>
+Each of these classes declares two types of methods; one for calculating the
+time to interaction or the physical interaction length, allowing tracking to 
+request the information necessary to decide on the process responsible for 
+final state production, and one to compute the final state.  These are pure 
+virtual methods, and have to be implemented in each individual derived class, 
+as enforced by the compiler.
+</para>
+
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Framework functionality
+</bridgehead>
+
+<para>
+The functionality provided is through the use of process base-class pointers 
+in the tracking-physics interface, and the
+<literal>G4Process-Manager</literal>. 
+All functionality is implemented in abstract, and registration of derived process 
+classes with the <literal>G4Process-Manager</literal> of an individual particle 
+allows for arbitrary combination of both Geant4 provided processes, and 
+user-implemented processes. This registration mechanism is a modification on a 
+Chain of Responsibility.  It is outside the scope of the current paper, and its
+description is available from 
+<ulink url="http://geant4.web.cern.ch/geant4/support/userdocuments.shtml">
+G4Manual</ulink>.
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ExtdFuncHadPhys.L2F_CrssSctMdl">
+<title>
+Level 2 Framework - Cross Sections and Models
+</title>
+
+<para>
+At the next level of abstraction, only processes that occur for particles
+in flight are considered. For these, it is easily observed that the sources 
+of cross sections and final state production are rarely the same.  Also, 
+different sources will come with different restrictions.  The principal 
+use-cases of the framework are addressing these commonalities.  A user might 
+want to combine different cross sections and final state or isotope production
+models as provided by Geant4, and a physicist might
+want to implement his own model for particular situation, and add cross-section
+data sets that are relevant for his particular analysis to the system in a
+seamless manner.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Requirements
+</bridgehead>
+
+<para>
+<orderedlist spacing="compact">
+  <listitem><para>
+    Flexible choice of inclusive scattering cross-sections.
+  </para></listitem>
+  <listitem><para>
+    Ability to use different data-sets for different parts of
+    the simulation, depending on the conditions at the point of interaction.
+  </para></listitem> 
+  <listitem><para>
+    Ability to add user-defined data-sets in a seamless manner.
+  </para></listitem> 
+  <listitem><para>
+    Flexible, unconstrained choice of final state production models.
+  </para></listitem> 
+  <listitem><para>
+    Ability to use different final state production codes 
+    for different parts of the simulation, depending on the conditions at the 
+    point of interaction.
+  </para></listitem> 
+  <listitem><para>
+    Ability to add user-defined final state production models in
+    a seamless manner.
+  </para></listitem> 
+  <listitem><para>
+    Flexible choice of isotope production models, to run in
+    parasitic mode to any kind of transport models.
+  </para></listitem>
+  <listitem><para>
+    Ability to use different isotope production codes 
+    for different parts of the simulation, depending on the conditions at the 
+    point of interaction.
+  </para></listitem> 
+  <listitem><para>
+    Ability to add user-defined isotope production models in a seamless manner.
+  </para></listitem> 
+</orderedlist>
+</para>
+
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Design and interfaces
+</bridgehead>
+
+<para>
+The above requirements are implemented in three framework components, one 
+for cross-sections, final state production, and isotope production each.
+The class diagrams are shown in 
+<xref linkend="fig.ExtdFuncHadPhys_2" />
+for the cross-section aspects, 
+<xref linkend="fig.ExtdFuncHadPhys_3" /> 
+for the final state production aspects, and figure 
+<xref linkend="fig.ExtdFuncHadPhys_4" /> 
+for the isotope production aspects.
+
+<figure id="fig.ExtdFuncHadPhys_2">
+<title>
+Level 2 implementation framework of the hadronic category of Geant4; 
+cross-section aspect.
+</title>
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="./AllResources/GuideToExtendFunctionality/HadronicPhysics/Level2_1.gif" 
+               format="GIF" align="center" contentwidth="10.0cm" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/GuideToExtendFunctionality/HadronicPhysics/Level2_1.gif" 
+               format="GIF" align="center" />
+  </imageobject>
+</mediaobject>
+</figure>
+
+<figure id="fig.ExtdFuncHadPhys_3">
+<title>
+Level 2 implementation framework of the hadronic category of Geant4; 
+final state production aspect.
+</title>
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="./AllResources/GuideToExtendFunctionality/HadronicPhysics/Level2_2.gif" 
+               format="GIF" align="center" contentwidth="10.0cm" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/GuideToExtendFunctionality/HadronicPhysics/Level2_2.gif" 
+               format="GIF" align="center" />
+  </imageobject>
+</mediaobject>
+</figure>
+
+<figure id="fig.ExtdFuncHadPhys_4">
+<title>
+Level 2 implementation framework of the hadronic category of Geant4; 
+isotope production aspect
+</title>
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="./AllResources/GuideToExtendFunctionality/HadronicPhysics/Level2_3.gif" 
+               format="GIF" align="center" contentwidth="10.0cm" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/GuideToExtendFunctionality/HadronicPhysics/Level2_3.gif" 
+               format="GIF" align="center" />
+  </imageobject>
+</mediaobject>
+</figure>
+</para>
+
+<para>
+The three parts are integrated in the <literal>G4Hadronic-Process</literal> 
+class, that serves as base-class for all hadronic processes of particles in flight.
+</para>
+
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Cross-sections
+</bridgehead>
+
+<para>
+Each hadronic process is derived from <literal>G4Hadronic-Process}</literal>, 
+which holds a list of ``cross section data sets''. 
+The term ``data set'' is
+representing an object that encapsulates methods and data for calculating 
+total cross sections for a given process in a certain range of validity.
+The implementations may take any form.  It can be a simple equation as well as 
+sophisticated parameterisations, or evaluated data.
+All cross section data set classes are derived from the abstract class 
+<literal>G4VCrossSection-DataSet}</literal>, which declares methods that allow
+the process inquire, about the applicability of an individual data-set through
+<literal>IsApplicable(const G4DynamicParticle*, const G4Element*)</literal>,
+and to delegate the calculation of the actual cross-section value through
+<literal>GetCrossSection(const G4DynamicParticle*, const G4Element*)</literal>.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Final state production
+</bridgehead>
+
+<para>
+The <literal>G4HadronicInteraction</literal> base class is provided for final state 
+generation.  It declares a minimal interface of only one pure virtual method:
+<literal>G4VParticleChange* ApplyYourself(const G4Track &amp;, G4Nucleus &amp;)}.
+</literal>
+
+<literal>G4HadronicProcess</literal> provides a registry for final state
+production models inheriting from <literal>G4Hadronic-Interaction</literal>.  
+Again, final state production model is meant in very general terms.  This can 
+be an implementation of a quark gluon string model 
+<citation><xref linkend="biblio.QGSM" endterm="biblio.QGSM.abbrev"/></citation>, 
+a sampling code  for ENDF/B data formats 
+<citation><xref linkend="biblio.ENDFForm" endterm="biblio.ENDFForm.abbrev"/></citation>, 
+or a parametrisation describing only 
+neutron elastic scattering off Silicon up to 300~MeV.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Isotope production
+</bridgehead>
+
+<para>
+For isotope production, a base class (<literal>G4VIsotope-Production</literal>) 
+is provided.  It declares a method 
+<literal>G4IsoResult * GetIsotope(const G4Track &amp;, const G4Nucleus &amp;)</literal>
+that calculates and returns the isotope production information.  Any concrete 
+isotope production model will inherit from this class, and implement the 
+method.  Again, the modeling possibilities are not limited, and the 
+implementation of concrete production models is not restricted in any way. 
+By convention, the <literal>GetIsotope</literal> method returns NULL, if the model
+is not applicable for the current projectile target combination.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect3'>
+Framework functionality:
+</bridgehead>
+
+<para>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Cross Sections
+</bridgehead>
+
+<para>
+<literal>G4HadronicProcess</literal> provides registering possibilities 
+for data sets. A default is provided covering all possible 
+conditions to some approximation. The process stores and retrieves 
+the data sets through a data store that acts like a FILO stack 
+(a Chain of Responsibility with a 
+First In Last Out decision strategy). This allows the user to map out 
+the entire parameter space by overlaying cross section data sets to optimise 
+the overall result.  Examples are the cross sections for low energy neutron 
+transport. If these are registered last by the user, they will be used
+whenever low energy neutrons are encountered. In all other conditions the 
+system falls back on the default, or data sets with earlier registration dates.
+ The fact that the registration is done through abstract base classes with no 
+side-effects allows the user to implement and use his own cross sections. 
+Examples are special reaction cross sections of 
+&kappa;<superscript>0</superscript>-nuclear interactions 
+that might be used for &epsi;/&epsi;' analysis at LHC to control the 
+systematic error.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Final state production
+</bridgehead>
+
+<para>
+The <literal>G4HadronicProcess</literal> class provides a 
+registration service for classes deriving from 
+<literal>G4Hadronic-Interaction</literal>, and delegates final state 
+production to the applicable model. 
+<literal>G4Hadronic-Interaction</literal>provides the functionality needed 
+to define and enforce the applicability of a particular model.  
+Models inheriting from <literal>G4Hadronic-Interaction</literal> 
+can be restricted in applicability in projectile 
+type and energy, and can be activated/deactivated for individual materials and 
+elements.  This allows a user to use final state production models in 
+arbitrary combinations, and to write his own models for 
+final state production. The design is a variant of a Chain of Responsibility.
+An example would be the likely CMS scenario - the combination of low energy 
+neutron transport with a quantum molecular dynamics 
+<citation><xref linkend="biblio.QMD" endterm="biblio.QMD.abbrev"/></citation>, 
+invariant phase space decay
+<citation><xref linkend="biblio.CHIPS" endterm="biblio.CHIPS.abbrev"/></citation>, 
+and fast parametrised models for calorimeter materials, with user defined 
+modeling of interactions of spallation nucleons with the most abundant 
+tracker and calorimeter materials. 
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Isotope production
+</bridgehead>
+
+<para>
+The <literal>G4HadronicProcess</literal> by default calculates the isotope production 
+information from the final state given by the transport model. In addition, it 
+provides a registering mechanism for isotope production models that run in 
+parasitic mode to the transport models and inherit from 
+<literal>G4VIsotope-Production</literal>.  The registering mechanism behaves like a FILO 
+stack, again based on Chain of Responsibility.  The models will be asked for 
+isotope production information in inverse order of registration. The first 
+model that returns a non-NULL value will be applied.  In addition, the 
+<literal>G4Hadronic-Process</literal> provides the basic infrastructure for accessing and
+steering of isotope-production information. It allows to enable and disable 
+the calculation of isotope production information globally, or for individual 
+processes, and to retrieve the isotope production information through the 
+<literal>G4IsoParticleChange * GetIsotopeProductionInfo()}</literal>
+method at the end of each step.  The <literal>G4HadronicProcess</literal> is a finite state
+machine that will ensure the <literal>GetIsotope-ProductionInfo</literal> returns a 
+non-zero value only at the first call after isotope production occurred.  An 
+example of the use of this functionality is the study of activation of a 
+Germanium detector in a high precision, low background experiment.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ExtdFuncHadPhys.L3F_ThrtMdl">
+<title>
+Level 3 Framework - Theoretical Models
+</title>
+
+<para>
+<figure id="fig.ExtdFuncHadPhys_5">
+<title>
+Level 3 implementation framework of the hadronic category of Geant4; 
+theoretical model aspect.
+</title>
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="./AllResources/GuideToExtendFunctionality/HadronicPhysics/Level3_1.gif" 
+               format="GIF" align="center" contentwidth="10.0cm" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/GuideToExtendFunctionality/HadronicPhysics/Level3_1.gif" 
+               format="GIF" align="center" />
+  </imageobject>
+</mediaobject>
+</figure>
+
+Geant4 provides at present one implementation framework for theory 
+driven models.  The main use-case is that of a user wishing to use theoretical 
+models in general, and to use various intra-nuclear transport or pre-compound 
+models together with models simulating the initial interactions at very high 
+energies. 
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Requirements
+</bridgehead>
+
+<para>
+<orderedlist spacing="compact">
+  <listitem><para>
+    Allow to use or adapt any string-parton or parton transport
+    <citation><xref linkend="biblio.VNI" endterm="biblio.VNI.abbrev"/></citation>, 
+  </para></listitem>
+  <listitem><para>
+    Allow to adapt event generators, ex. 
+    <citation><xref linkend="biblio.PYTHIA7" endterm="biblio.PYTHIA7.abbrev"/></citation>, 
+    state production in shower simulation.
+  </para></listitem>
+  <listitem><para>
+    Allow for combination of the above with any intra-nuclear transport (INT).
+  </para></listitem>
+  <listitem><para>
+    Allow stand-alone use of intra-nuclear transport.
+  </para></listitem>
+  <listitem><para>
+    Allow for combination of the above with any pre-compound model.
+  </para></listitem>
+  <listitem><para>
+    Allow stand-alone use of any pre-compound model.
+  </para></listitem>
+  <listitem><para>
+    Allow for use of any evaporation code.
+  </para></listitem>
+  <listitem><para>
+    Allow for seamless integration of user defined components for any of the above.
+  </para></listitem>
+</orderedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Design and interfaces
+</bridgehead>
+
+<para>
+To provide the above flexibility, the following abstract base classes have been
+implemented:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <literal>G4VHighEnergyGenerator</literal>
+  </para></listitem>
+  <listitem><para>
+    <literal>G4VIntranuclearTransportModel</literal>
+  </para></listitem>
+  <listitem><para>
+    <literal>G4VPreCompoundModel</literal>
+  </para></listitem>
+  <listitem><para>
+    <literal>G4VExcitationHandler</literal>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+In addition, the class <literal>G4TheoFS-Generator</literal> is provided to orchestrate 
+interactions between these classes.  The class diagram is shown in 
+<xref linkend="fig.ExtdFuncHadPhys_5" />. 
+</para>
+
+<para>
+<literal>G4VHighEnergy-Generator</literal> serves as base class for parton transport or 
+parton string models, and for Adapters to event generators.  This class 
+declares two methods, <literal>Scatter</literal>, and 
+<literal>GetWoundedNucleus</literal>.
+</para>
+
+<para>
+The base class for INT inherits from <literal>G4Hadronic-Interaction</literal>, 
+making any concrete implementation usable as a stand-alone model.  In doing so, it 
+re-declares the <literal>ApplyYourself</literal> interface of 
+<literal>G4Hadronic-Interaction</literal>,
+and adds a second interface, <literal>Propagate</literal>, for further propagation
+after high energy interactions. <literal>Propagate</literal>  takes as arguments a 
+three-dimensional model of a wounded nucleus, and a set of secondaries with 
+energies and positions.
+</para>
+
+<para>
+The base class for pre-equilibrium decay models, <literal>G4VPre-CompoundModel</literal>,
+inherits from <literal>G4Hadronic-Interaction</literal>, again making any concrete 
+implementation usable as stand-alone model. It adds a pure virtual  
+<literal>DeExcite</literal> method for further evolution of the system when 
+intra-nuclear transport assumptions break down. 
+<literal>DeExcite</literal> takes a <literal>G4Fragment</literal>,
+the Geant4 representation of an excited nucleus, as argument.
+</para>
+
+<para>
+The base class for evaporation phases, <literal>G4VExcitation-Handler</literal>, 
+declares an abstract method, <literal>BreakItUP()</literal>, for compound decay.
+</para>
+
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Framework functionality
+</bridgehead>
+
+<para>
+The <literal>G4TheoFSGenerator</literal> class inherits from 
+<literal>G4Hadronic-Interaction</literal>, 
+and hence can be registered as a model for final state production with a 
+hadronic process.  It allows a concrete implementation of 
+<literal>G4VIntranuclear-TransportModel</literal> and 
+<literal>G4VHighEnergy-Generator</literal> to be 
+registered, and delegates initial interactions, and intra-nuclear transport
+of the corresponding secondaries to the respective classes. The design is a 
+complex variant of a Strategy.  The most spectacular application of this 
+pattern is the use of parton-string models for string excitation, quark 
+molecular dynamics for correlated string decay, and quantum molecular dynamics 
+for transport, a combination which promises to result in a coherent 
+description of quark gluon plasma in high energy nucleus-nucleus interactions. 
+</para>
+
+<para>
+The class <literal>G4VIntranuclearTransportModel</literal> provides 
+registering mechanisms for concrete implementations of 
+<literal>G4VPreCompound-Model</literal>, and provides 
+concrete intra-nuclear transports with the possibility of delegating 
+pre-compound decay to these models. 
+</para>
+
+<para>
+<literal>G4VPreCompoundModel</literal> provides a registering mechanism 
+for compound decay through the 
+<literal>G4VExcitation-Handler</literal> interface, and provides concrete 
+implementations with the possibility of delegating the decay of a compound 
+nucleus.
+</para>
+
+<para>
+The concrete scenario of <literal>G4TheoFS-Generator</literal> using a 
+dual parton model 
+and a classical cascade, which in turn uses an exciton pre-compound model that 
+delegates to an evaporation phase, would be the following: 
+<literal>G4TheoFS-Generator</literal> receives the conditions of the interaction; 
+a primary particle and a nucleus. It asks the dual parton model to perform the 
+initial scatterings, and return the final state, along with the by then 
+damaged nucleus.  The nucleus records all information on the damage sustained.
+<literal>G4TheoFS-Generator</literal> forwards all information to the classical cascade, 
+that propagates the particles in the already damaged nucleus, keeping track of 
+interactions, further damage to the nucleus, etc.. Once the cascade assumptions
+break down, the cascade will collect the information of the current state of 
+the hadronic system, like excitation energy and number of excited particles, 
+and interpret it as a pre-compound system.  It delegates the decay of this to 
+the exciton model.  The exciton model will take the information provided, and 
+calculate
+transitions and emissions, until the number of excitons in the system equals
+the mean number of excitons expected in equilibrium for the current excitation 
+energy. Then it hands over to the
+evaporation phase. The evaporation phase decays the residual nucleus, and the Chain of
+Command rolls back to <literal>G4TheoFS-Generator</literal>, accumulating the 
+information produced in the various levels of delegation.
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ExtdFuncHadPhys.L4F_StgPartIntNuc">
+<title>
+Level 4 Frameworks - String Parton Models and Intra-Nuclear Cascade
+</title>
+
+<para>
+<figure id="fig.ExtdFuncHadPhys_6">
+<title>
+Level 4 implementation framework of the hadronic category of Geant4; 
+parton string aspect.
+</title>
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="./AllResources/GuideToExtendFunctionality/HadronicPhysics/Level4_1.gif" 
+               format="GIF" align="center" contentwidth="10.0cm" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/GuideToExtendFunctionality/HadronicPhysics/Level4_1.gif" 
+               format="GIF" align="center" />
+  </imageobject>
+</mediaobject>
+</figure>
+
+<figure id="fig.ExtdFuncHadPhys_7">
+<title>
+Level 4 implementation framework of the hadronic category of Geant4; 
+intra-nuclear transport aspect.
+</title>
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="./AllResources/GuideToExtendFunctionality/HadronicPhysics/Level4_2.gif" 
+               format="GIF" align="center" contentwidth="10.0cm" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/GuideToExtendFunctionality/HadronicPhysics/Level4_2.gif" 
+               format="GIF" align="center" />
+  </imageobject>
+</mediaobject>
+</figure>
+</para>
+
+<para>
+The use-cases of this level are related to commonalities and detailed choices 
+in string-parton models and cascade models. They are use-cases of an expert
+user wishing to alter details of a model, or a theoretical physicist, wishing 
+to study details of a particular model.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Requirements
+</bridgehead>
+
+<para>
+<orderedlist spacing="compact">
+  <listitem><para>
+    Allow to select string decay algorithm 
+  </para></listitem>
+  <listitem><para>
+    Allow to select string excitation.
+  </para></listitem>
+  <listitem><para>
+    Allow the selection of concrete implementations of three-dimensional 
+    models of the nucleus
+  </para></listitem>
+  <listitem><para>
+    Allow the selection of concrete implementations of final state and 
+    cross sections in intra-nuclear scattering.
+  </para></listitem>
+</orderedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Design and interfaces
+</bridgehead>
+
+<para>
+To fulfil the requirements on string models, two abstract classes are provided,
+the <literal>G4VParton-StringModel</literal> and the 
+<literal>G4VString-Fragmentation</literal>. 
+The base class for parton string models, <literal>G4VParton-StringModel</literal>, 
+declares the <literal>GetStrings()</literal> pure virtual method. 
+<literal>G4VString-Fragmentation</literal>, the pure abstract base class for string 
+fragmentation, declares the interface for string fragmentation.
+</para>
+
+<para>
+To fulfill the requirements on intra-nuclear transport, two abstract classes 
+are provided, <literal>G4V3DNucleus</literal>, and <literal>G4VScatterer</literal>.
+At this point in time, the usage of these intra-nuclear transport related classes 
+by concrete codes is not enforced by designs, as the details of the
+cascade loop are still model dependent, and more experience has to be gathered to achieve
+standardisation. It is within the responsibility of the implementers of concrete 
+intra-nuclear transport 
+codes to use the abstract interfaces as defined in these classes.
+</para>
+
+<para>
+The class diagram is shown in  
+<xref linkend="fig.ExtdFuncHadPhys_6" />
+for the string parton model aspects, and in
+<xref linkend="fig.ExtdFuncHadPhys_7" />
+for the intra-nuclear transport. 
+</para>
+
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Framework functionality
+</bridgehead>
+
+<para>
+Again variants of Strategy, Bridge and Chain of Responsibility are used.
+<literal>G4VParton-StringModel</literal> implements the initialisation of a 
+three-dimensional model of a nucleus, and the logic of scattering.  It 
+delegates secondary production to string fragmentation through a 
+<literal>G4VString-Fragmentation</literal> pointer. It provides a registering service for 
+the concrete string fragmentation, and delegates the string excitation to 
+derived classes. Selection of string excitation is through selection of 
+derived class. Selection of string fragmentation is through registration.
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ExtdFuncHadPhys.L5F_StrgDeExc">
+<title>
+Level 5 Framework - String De-excitation}
+</title>
+
+<para>
+<figure id="fig.ExtdFuncHadPhys_8">
+<title>
+Level 5 implementation framework of the hadronic category of Geant4; 
+string fragmentation aspect.
+</title>
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="./AllResources/GuideToExtendFunctionality/HadronicPhysics/Level5_1.gif" 
+               format="GIF" align="center" contentwidth="10.0cm" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/GuideToExtendFunctionality/HadronicPhysics/Level5_1.gif" 
+               format="GIF" align="center" />
+  </imageobject>
+</mediaobject>
+</figure>
+</para>
+
+<para>
+The use-case of this level is that of a user or theoretical physicist wishing 
+to understand the systematic effects involved in combining various 
+fragmentation functions with individual types of string fragmentation.  Note 
+that this framework level is meeting the current state of the art, making 
+extensions and changes of interfaces in subsequent releases likely.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Requirements
+</bridgehead>
+
+<para>
+<orderedlist spacing="compact">
+  <listitem><para>
+    Allow the selection of fragmentation function.
+  </para></listitem>
+</orderedlist>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Design and interfaces
+</bridgehead>
+
+<para>
+A base class for fragmentation functions, 
+<literal>G4VFragmentation-Function}</literal>, is 
+provided.  It declares the <literal>GetLightConeZ()</literal> interface.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Framework functionality
+</bridgehead>
+
+<para>
+The design is a basic Strategy. The class diagram is shown in 
+<xref linkend="fig.ExtdFuncHadPhys_8" />.  
+At this point in time, the usage of the 
+<literal>G4VFragmentation-Function</literal> is not enforced by design, 
+but made available from the 
+<literal>G4VString-Fragmentation</literal> to an implementer of a concrete string 
+decay. <literal>G4VString-Fragmentation</literal> provides a registering 
+mechanism for the
+concrete fragmentation function. It delegates the calculation of 
+z<subscript>f</subscript> of the 
+hadron to split of the string to the concrete implementation. Standardisation 
+in this area is expected.
+</para>
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/GuideToExtendFunctionality/Particles/particles.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/GuideToExtendFunctionality/Particles/particles.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/GuideToExtendFunctionality/Particles/particles.xml	(revision 904)
@@ -0,0 +1,145 @@
+<!-- ******************************************************** -->
+<!--  Docbook Version:  For Toolkit Developers Guide          -->
+<!-- ******************************************************** -->
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.ExtdFuncParticles">
+<title>
+Particles
+</title>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ExtdFuncParticles.Properties">
+<title>
+Properties of particles
+</title>
+
+<para>
+The <emphasis>G4ParticleDefinition</emphasis> class has 
+properties to characterize individual particles, 
+such as name, mass, charge, spin, and so on. 
+Properties of particles are set during initialization of each particle. 
+Default values of particle properties are described in each particles class.
+In addition, properties of heavy nuclei can be given by external files.
+Basicaly, these properties can not be changed after initialization phase except for 
+ones related its decay; life time, branching ratio of each decay mode and
+ the ``stable'' flag. However, Geant4 proivides a method to override these properties 
+by using external files.
+</para>
+
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Properties of nuclei
+</bridgehead>
+
+<para>
+Individual classes are provided for light nuclei (i.e. deuteron, triton, He3, and He4) 
+with default values of their properties. 
+Other nuclei are dynamically created by requests from processes (and users). 
+<emphasis>G4IonTable</emphasis> class handles creation of such ions. 
+Default properties of nuclei are determined with help of <emphasis>G4NuclearProperties</emphasis>. 
+</para>
+<para>
+Users can register a <emphasis>G4IsotopeTable</emphasis> to the
+<emphasis>G4IonTable</emphasis>. <emphasis>G4IsotopeTable</emphasis>
+describes properties of ions which are used to create ions.
+You can get exited energy, decay modes, and life time for relatively long life nuclei 
+by using <emphasis>G4RIsotopeTable</emphasis> and data files
+(G4RADIOACTIVEDATA should be set to the directory where data files exist).
+<emphasis>G4IsotopeMagneticMomentTable</emphasis> provides a table of 
+magnetic moment of nuclei with the data file of 
+<emphasis>G4IsotopeMagneticMoment.table</emphasis> (The file name should be set to G4IONMAGNETICMOMENT )
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+Changing particle properties
+</bridgehead>
+
+<para>
+Only in ``PreInit'' phase, properties can be modified with help of
+ <emphasis> G4ParticlePropertyTable</emphasis> class. 
+Particle properties can be overridden with the method
+<informalexample><programlisting>
+G4bool SetParticleProperty(const G4ParticlePropertyData& newProperty)
+</programlisting></informalexample>
+by setting new values in <emphasis> G4ParticlePropertyData </emphasis>.
+In addition, the current values of particles properties can be extracted 
+into text files by using  <emphasis> G4TextPPReporter </emphasis>. 
+On the other hand, <emphasis> G4TextPPRetriever </emphasis> can change particle 
+properties according to text files.
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ExtdFuncParticles.AddNewPar">
+<title>
+Adding New Particles
+</title>
+
+<para>
+You can add a new particle by creating a new class for it. 
+The new class should be derived from <emphasis>G4ParticleDefinition</emphasis>.
+You can find an example under examples/extended/exoticphysics/monopole.
+A new class for the monople is defined as follows;
+<informalexample><programlisting>
+class G4Monopole : public G4ParticleDefinition
+{
+private:
+  static G4Monopole*  theMonopole;
+
+  G4Monopole(
+       const G4String&     aName,        G4double            mass,
+       G4double            width,        G4double            charge,   
+       G4int               iSpin,        G4int               iParity,    
+       G4int               iConjugation, G4int               iIsospin,   
+       G4int               iIsospin3,    G4int               gParity,
+       const G4String&     pType,        G4int               lepton,      
+       G4int               baryon,       G4int               encoding,
+       G4bool              stable,       G4double            lifetime,
+       G4DecayTable        *decaytable );
+
+public: 
+   virtual ~G4Monopole();
+   static G4Monopole* MonopoleDefinition();
+   static G4Monopole* Monopole();
+}
+</programlisting></informalexample>
+Static methods above need to be defined and implemented so that 
+this new particle instance will be created 
+in ConstructParticls method of your physics list.
+You can add new properties if necessary (G4Monopole has a property for magnetic charge)
+Values of properties need to be given in the static method as other particle classes.
+<informalexample><programlisting>
+G4Monopole* G4Monopole::MonopoleDefinition(G4double mass, G4int mCharge, G4int eCharge)
+{    
+  if(!theMonopole) {
+    theMonopole = new G4Monopole(
+              "monopole",         mass,       0.0*MeV,           0, 
+                    0,               0,             0,          
+                    0,               0,             0,             
+              "boson",               0,             0,           0,
+                 true,            -1.0,             0);
+  }
+  return theMonopole;
+}
+</programlisting></informalexample>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead role="revisionHistory" renderas="sect4">
+[Status of this chapter]
+</bridgehead>
+<para>
+<simplelist type="var">
+  <member>
+    Nov. 2008 cretad by H. Kurashige
+  </member>
+</simplelist>
+</para>
+
+</sect2>
+</sect1>
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/GuideToExtendFunctionality/PhysicsProcesses/physicsProcesses.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/GuideToExtendFunctionality/PhysicsProcesses/physicsProcesses.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/GuideToExtendFunctionality/PhysicsProcesses/physicsProcesses.xml	(revision 904)
@@ -0,0 +1,39 @@
+<!-- ******************************************************** -->
+<!--  Docbook Version:  For Toolkit Developers Guide          -->
+<!-- ******************************************************** -->
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.ExtdFuncPhysProc">
+<title>
+Physics Processes
+</title>
+
+<para>
+Adding a new electromagnetic process.
+Adding a new hadronic process.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead role="revisionHistory" renderas="sect4">
+[Status of this chapter]
+</bridgehead>
+<para>
+<simplelist type="var">
+  <member>
+    27.06.05 under construction
+  </member>
+  <member>
+    Dec. 2006 Conversion from latex to Docbook verson by K. Amako
+  </member>
+</simplelist>
+</para>
+    
+
+</sect1>
+
+
+
+
+
+
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/GuideToExtendFunctionality/Visualization/visualization.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/GuideToExtendFunctionality/Visualization/visualization.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/GuideToExtendFunctionality/Visualization/visualization.xml	(revision 904)
@@ -0,0 +1,945 @@
+<!-- ******************************************************** -->
+<!--  Docbook Version:  For Toolkit Developers Guide          -->
+<!-- ******************************************************** -->
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.ExtdFuncVis">
+<title>
+Visualisation
+</title>
+
+<para>
+This Chapter is intended to be read after Chapter 
+<xref linkend="sect.DsgnFuncVis" />
+on Visualisation object oriented design in Part II.  Many of the concepts
+used here are defined there, and it strongly recommended that a writer
+of a new visualisation driver or trajectory drawer reads Chapter
+<xref linkend="sect.DsgnFuncVis" /> first.  
+The class structure described there is
+summarised in <xref linkend="fig.ExtdFuncVis_1" />.
+
+<figure id="fig.ExtdFuncVis_1">
+<title>
+Geant Visualisation System Class Diagram
+</title>
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="./AllResources/GuideToExtendFunctionality/Visualization/visClassDiagram.gif" 
+               format="GIF" contentwidth="10.0cm" align="center" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/GuideToExtendFunctionality/Visualization/visClassDiagram.gif" 
+               format="GIF" align="center" scale="110" />
+  </imageobject>
+</mediaobject>
+</figure>
+</para>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ExtdFuncVis.CrtGrpDrv">
+<title>
+Creating a new graphics driver
+</title>
+
+<para>
+To create a new graphics driver for Geant4, it is necessary to implement a
+new set of three classes derived from the three base classes, 
+<literal>G4VGraphicsSystem</literal>, <literal>G4VSceneHandler </literal>
+and <literal>G4VViewer</literal>.
+</para>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.ExtdFuncVis.CrtGrpDrv.UsfStrt">
+<title>
+A useful place to start
+</title>
+
+<para>
+A skeleton set of classes is included in the code distribution in the
+visualisation category under subdirectory <literal>visualisation/XXX</literal> 
+(but they are not default-registered graphics systems
+<footnote>
+  <para>
+  To do this,simply instantiate and register, for example: 
+  <literal>visManager-&gt;RegisterGraphicsSystem(new G4XXX)</literal> 
+  before <literal>visManager-&gt;Initialise()</literal>.  
+  </para>
+</footnote>
+</para>
+
+<para>
+There are several sets of classes, described in more detail below.  
+A recommended approach is to copy the files that best match your graphics 
+system  to a new subdirectory with a name that suits your graphics system .  
+</para>
+
+<para>
+Then
+
+<orderedlist spacing="compact">
+  <listitem><para>
+    Change the name of the files (change the code -- <literal>XXX</literal> or
+    <literal>XXXFile</literal>, etc., as chosen -- to something that suits 
+    your graphics system ).
+  </para></listitem>
+  <listitem><para>
+    Change <literal>XXX</literal> similarly in all files.
+  </para></listitem>
+  <listitem><para>
+    Change <literal>XXX</literal> similarly in <literal>name := G4XXX</literal> 
+    in <literal>GNUmakefile</literal>.
+  </para></listitem>
+  <listitem><para>
+    Add your new subdirectory to <literal>SUBDIRS</literal> and 
+    <literal>SUBLIBS</literal> in <literal>visualisation/GNUmakefile</literal>.
+  </para></listitem>
+  <listitem><para>
+    Look at the code and use it to build your visualisation
+    driver. You might also find it useful to look at 
+    <literal>ASCIITree</literal> (and <literal>VTree</literal>) as an example 
+    of a minimal graphics driver .  Look at <literal>FukuiRenderer</literal> 
+    as an example of a driver which implements <literal>AddSolid</literal>
+    methods for some solids.  Look at <literal>OpenGL</literal> as an example 
+    of a driver which implements a graphical database (display lists) and the
+    machinery to decide when to rebuild.  (OpenGL is complicated by the
+    proliferation of combinations of the use or not of display lists for
+    three window systems, X-windows, X with motif (interactive), Microsoft
+    Windows (Win32), a total of six combinations, and much use is made of
+    inheritance to avoid code duplication.)
+  </para></listitem>
+  <listitem><para>
+    If it requires external libraries, introduce two new environment
+    variables <literal>G4VIS_BUILD_XXX_DRIVER</literal> and 
+    <literal>G4VIS_USE_XXX</literal>
+    (where <literal>XXX</literal> is your choice as above) and make the 
+    modifications to:
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        <literal>source/visualization/management/include/G4VisExecutive.icc</literal>
+      </para></listitem>
+      <listitem><para>
+        <literal>config/G4VIS_BUILD.gmk</literal>
+      </para></listitem>
+      <listitem><para>
+        <literal>config/G4VIS_USE.gmk</literal>
+      </para></listitem>
+     </itemizedlist>
+  </para></listitem>
+</orderedlist>
+</para>
+
+<!-- ******************* Section (Level#4) ****************** -->
+<sect4 id="sect.ExtdFuncVis.CrtGrpDrv.UsfStrt.Tmpl">
+<title>
+Graphics driver templates in the <literal>XXX</literal> sub-category
+</title>
+
+<para>
+You may use the following templates to help you get started writing a
+graphics driver .  (The word ``template'' is used in the ordinary sense of the
+word; they are not C++ templates.)
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <literal>G4XXX, G4XXXSceneHandler, G4XXXViewer</literal> Templates for the
+    simplest possible graphics driver . These would be suitable for an ``immediate''
+    driver, i.e., one which renders each object immediately to a screen.
+    Of course, if the view needs re-drawing, as, for example, after a
+    change of viewpoint, the viewer requests a re-issue of drawn
+    objects.
+  </para></listitem>
+  <listitem><para>
+    <literal>G4XXXFile, G4XXXFileSceneHandler, G4XXXFileViewer</literal> Templates
+    for a file-writing graphics driver.  The particular features are:
+    delayed opening of the file on receipt of the first item; rewinding
+    file on ClearView (to simulate the clearing of views and prevent the
+    duplication of material in the file); closing of the file on ShowView,
+    which may also trigger the launch of a browser.  There are various
+    degrees of sophistication in, for example, the allocation of filenames
+    -- see <literal>FukuiRenderer</literal> or <literal>HepRepFile</literal>.
+    </para>
+    <para>
+    These templates also show the use of a specific <literal>AddSolid</literal> 
+    function whereby the specific parameters, for example, the dimensions of a 
+    <literal>G4Box</literal>, can be accessed.
+  </para></listitem>
+  <listitem><para>
+    <literal>G4XXXStored, G4XXXStoredSceneHandler, G4XXXStoredViewer</literal>
+    Templates for a graphics driver with a store/database.  The advantage
+    of a store is that the view can be refreshed, for example, from a
+    different viewpoint, without a need to recompute.  It is up to the
+    viewer to decide when a re-computation is necessary.  They also show how
+    to distinguish between permanent and transient objects -- see also
+    Section <xref linkend="sect.ExtdFuncVis.CrtGrpDrv.DlgTrnsObj" />.
+  </para></listitem>
+  <listitem><para>
+    <literal>G4XXXSG, G4XXXSGSceneHandler, G4XXXSGViewer</literal> Templates for a
+    sophisticated graphics driver  with a scene graph.  The scene graph, following Open
+    Inventor parlance, is a tree of objects that dictates the order in
+    which the objects are rendered.  It obviously lends itself to the
+    rendering of the Geant4 geometry hierarchy.  For example, the Open
+    Inventor driver draws only the top level volumes unless made invisible
+    by picking.  Thus the user can unwrap a branch of the geometry level
+    by level. This has performance benefits and gives the user significant
+    and useful control over the view.  These classes show how to make a
+    scene graph of <emphasis role="bold">drawn</emphasis> volumes, i.e., 
+    the set of volumes that have
+    not been culled.  (Normally, volumes marked invisible are culled,
+    i.e., not drawn.  Also, the user may wish to limit the number of drawn
+    volumes for performance reasons.)  The drivers also have to process
+    non-geometry items and distinguish between transient and permanent
+    objects as above.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect4>
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.ExtdFuncVis.CrtGrpDrv.ImpCmdAct">
+<title>
+Important Command Actions
+</title>
+
+<para>
+To help understand how the Geant4 Visualization System works, here are a 
+few important function invocation sequences that follow user commands.  
+For an explanation of the commands themselves, see command guidance or 
+the Control section of the Application Developers Guide.  For a
+fuller explanation of the functions, see appropriate base class head
+files or Software Reference Manual.
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <literal>/vis/viewer/clear</literal>
+    <informalexample><programlisting>
+    viewer->ClearView();   // Clears buffer or rewinds file.
+    viewer->FinishView();  // Swaps buffer (double buffer systems).
+    </programlisting></informalexample>
+  </para></listitem>
+  <listitem><para>
+    <literal>/vis/viewer/flush</literal>
+    <informalexample><programlisting>
+    /vis/viewer/refresh
+    /vis/viewer/update
+    </programlisting></informalexample>
+  </para></listitem>
+  <listitem><para>
+    <literal>/vis/viewer/rebuild</literal>
+    <informalexample><programlisting>
+    viewer->SetNeedKernelVisit(true);
+    </programlisting></informalexample>
+  </para></listitem>
+  <listitem><para>
+    <literal>/vis/viewer/refresh</literal> If the view is ``auto-refresh'', this
+    command is also invoked after <literal>/vis/viewer/create</literal>, 
+    <literal>/vis/viewer/rebuild</literal> or a change of view parameters 
+    (<literal>/vis/viewer/set/</literal>..., etc.).  
+    <informalexample><programlisting>
+    viewer->SetView();    // Sets camera position, etc.
+    viewer->ClearView();  // Clears buffer or rewinds file.
+    viewer->DrawView();   // Draws to screen or writes to 
+                          // file/socket.
+    </programlisting></informalexample>
+  </para></listitem>
+  <listitem><para>
+    <literal>/vis/viewer/update</literal>
+    <informalexample><programlisting>
+    viewer->ShowView();   // Activates interactive windows or 
+                          // closes file and/or triggers 
+                          // post-processing.
+    </programlisting></informalexample>
+  </para></listitem>
+  <listitem><para>
+    <literal>/vis/scene/notifyHandlers</literal> For each viewer of the current
+    scene, the equivalent of
+    <informalexample><programlisting>
+    /vis/viewer/refresh
+    </programlisting></informalexample>
+    If ``flush'' is specified on the command line, the equivalent of
+    <informalexample><programlisting>
+    /vis/viewer/update
+    </programlisting></informalexample>
+    <literal>/vis/scene/notifyHandlers</literal> is also invoked after a change
+    of scene (<literal>/vis/scene/add/</literal>..., etc.).
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.ExtdFuncVis.CrtGrpDrv.WhtDrwVw">
+<title>
+What happens in <literal>DrawView</literal>?
+</title>
+
+<para>
+This depends on the viewer.  Those with their own graphical database,
+for example, OpenGL's display lists or Open Inventor's scene graph, do
+not need to re-traverse the scene unless there has been a significant
+change of view parameters.  For example, a mere change of viewpoint
+requires only a change of model-view matrix whilst a change of
+rendering mode from wireframe to surface might require a rebuild of
+the graphical database.  A rebuild of the run-duration (persistent)
+objects in the scene is called a ``kernel visit''; the viewer prints
+``Traversing scene data...''.
+</para>
+
+<para>
+Note that end-of-event (transient) objects are only rebuilt at the end
+of an event or run, under control of the visualisation manager.  Smart
+scene handlers keep them in separate display lists so that they can be
+rebuilt separately from the run-duration objects - see 
+<xref linkend="sect.ExtdFuncVis.CrtGrpDrv.DlgTrnsObj" />.
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis role="bold">Integrated viewers with no graphical database</emphasis> 
+    For example, <literal>G4OpenGLImmediateXViewer::DrawView()</literal>.
+    <informalexample><programlisting>
+    NeedKernelVisit();  // Always need to visit G4 kernel.
+    ProcessView();
+    FinishView();
+    </programlisting></informalexample>
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">Integrated viewers with graphical database</emphasis> 
+    For example, <literal>G4OpenGLStoredXViewer::DrawView()</literal>.
+    <informalexample><programlisting>
+    KernelVisitDecision();  // Private function containing...
+      if significant change of view parameters...
+        NeedKernelVisit();
+    ProcessView();
+    FinishView();
+    </programlisting></informalexample>
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">File-writing viewers</emphasis> For example, 
+    <literal>G4DAWNFILEViewer::DrawView()</literal>.
+    <informalexample><programlisting>
+    NeedKernelVisit();
+    ProcessView();
+    </programlisting></informalexample>
+
+    Note that viewers needing to invoke <literal>FinishView</literal> must do it in
+    <literal>DrawView</literal>.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.ExtdFuncVis.CrtGrpDrv.WhtPrcVw">
+<title>
+What happens in <literal>ProcessView</literal>?
+</title>
+
+<para>
+<literal>ProcessView</literal> is inherited from <literal>G4VViewer</literal>:
+
+<informalexample><programlisting>
+void G4VViewer::ProcessView() {
+  // If ClearStore has been requested, e.g., if the scene has changed,
+  // of if the concrete viewer has decided that it necessary to visit
+  // the kernel, perhaps because the view parameters have changed
+  // drastically (this should be done in the concrete viewer's
+  // DrawView)...
+  if (fNeedKernelVisit) {
+    fSceneHandler.ProcessScene(*this);
+    fNeedKernelVisit = false;
+  }
+}
+</programlisting></informalexample>
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.ExtdFuncVis.CrtGrpDrv.WhtPrcScn">
+<title>
+What happens in <literal>ProcessScene</literal>?
+</title>
+
+<para>
+ProcessScene is inherited from <literal>G4VSceneHandler}</literal>.  
+It causes a traversal of the run-duration models in the scene.  
+For drivers with graphical databases, it causes a rebuild 
+(<literal>ClearStore</literal>).  Then for the run-duration models:
+
+<informalexample><programlisting>
+    fReadyForTransients = false;
+    BeginModeling();
+    for each run-duration model...
+      pModel -&gt; DescribeYourselfTo(*this);
+    EndModeling();
+    fReadyForTransients = true;
+</programlisting></informalexample>
+
+(A second pass is made on request -- see 
+<literal>G4VSceneHandler::ProcessScene</literal>.)  
+The use of <literal>fReadyForTransients</literal>
+is described in <xref linkend="sect.ExtdFuncVis.CrtGrpDrv.DlgTrnsObj" />.
+</para>
+
+<para>
+What happens then depends on the type of model:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <literal>G4AxesModel</literal> <literal>G4AxesModel::DescribeYourselfTo</literal> 
+    simply calls sceneHandler.AddPrimitive methods directly.
+
+    <informalexample><programlisting>
+    sceneHandler.BeginPrimitives();
+    sceneHandler.AddPrimitive(x_axis);  // etc.
+    sceneHandler.EndPrimitives();
+    </programlisting></informalexample>
+
+    Most other models are like this, except for the following...
+
+  </para></listitem>
+  <listitem><para>
+    <literal>G4PhysicalVolumeModel</literal> The geometry is descended
+    recursively, culling policy is enacted, and for each accepted (and
+    possibly, clipped) solid:
+
+    <informalexample><programlisting>
+    sceneHandler.PreAddSolid(theAT, *pVisAttribs);
+    pSol-&gt;DescribeYourselfTo(sceneHandler);
+    // For example, if pSol points to a G4Box...
+    |--&gt;G4Box::DescribeYourselfTo(G4VGraphicsScene&amp; scene){
+         scene.AddSolid(*this);
+        }
+    sceneHandler.PostAddSolid();
+    </programlisting></informalexample>
+
+    The scene handler may implement the virtual function {
+    AddSolid(const G4Box&amp;)}, or inherit:
+
+    <informalexample><programlisting>
+    void G4VSceneHandler::AddSolid(const G4Box&amp; box) {
+      RequestPrimitives(box);
+    }
+    </programlisting></informalexample>
+
+    <literal>RequestPrimitives</literal> converts the solid into primitives 
+    (<literal>G4Polyhedron</literal>) and invokes <literal>AddPrimitive</literal>:
+
+    <informalexample><programlisting>
+    BeginPrimitives(*fpObjectTransformation);
+    pPolyhedron = solid.GetPolyhedron();
+    AddPrimitive(*pPolyhedron);
+    EndPrimitives();
+    </programlisting></informalexample>
+
+    The resulting default sequence for a <literal>G4PhysicalVolumeModel</literal> 
+    is shown in <xref linkend="fig.ExtdFuncVis_2" />.
+
+    <figure id="fig.ExtdFuncVis_2">
+    <title>
+    The default sequence for a <literal>G4PhysicalVolumeModel}</literal>
+    </title>
+    <screen>
+    DrawView();
+    |--&gt;ProcessView();
+        |--&gt;ProcessScene();
+            |--&gt;BeginModeling();
+            |--&gt;pModel -&gt; DescribeYourselfTo(*this);
+            |   |--&gt;sceneHandler.PreAddSolid(theAT, *pVisAttribs);
+            |   |--&gt;pSol-&gt;DescribeYourselfTo(sceneHandler);
+            |   |   |--&gt;sceneHandler.AddSolid(*this);
+            |   |       |--&gt;RequestPrimitives(solid);
+            |   |           |--&gt;BeginPrimitives (*fpObjectTransformation);
+            |   |           |--&gt;pPolyhedron = solid.GetPolyhedron();
+            |   |           |--&gt;AddPrimitive(*pPolyhedron);
+            |   |           |--&gt;EndPrimitives();
+            |   |--&gt;sceneHandler.PostAddSolid();
+            |--&gt;EndModeling();
+    </screen>
+    </figure>
+
+    Note the sequence of calls at the core:
+
+    <informalexample><programlisting>
+    sceneHandler.PreAddSolid(theAT, *pVisAttribs);
+    pSol-&gt;DescribeYourselfTo(sceneHandler);
+    |--&gt;sceneHandler.AddSolid(*this);
+       |--&gt;RequestPrimitives(solid);
+          |--&gt;BeginPrimitives (*fpObjectTransformation);
+          |--&gt;pPolyhedron = solid.GetPolyhedron();
+          |--&gt;AddPrimitive(*pPolyhedron);
+          |--&gt;EndPrimitives();
+    sceneHandler.PostAddSolid();
+    </programlisting></informalexample>
+
+    is reduced to
+
+    <informalexample><programlisting>
+    sceneHandler.PreAddSolid(theAT, *pVisAttribs);
+    pSol-&gt;DescribeYourselfTo(sceneHandler);
+    |--&gt;sceneHandler.AddSolid(*this);  
+    sceneHandler.PostAddSolid();
+    </programlisting></informalexample>
+
+    if the scene handler implements its own <literal>AddSolid</literal>.  
+    Moreover, the sequence
+
+    <informalexample><programlisting>
+    BeginPrimitives (*fpObjectTransformation); 
+    AddPrimitive(*pPolyhedron);
+    EndPrimitives();
+    </programlisting></informalexample>
+
+    can be invoked without a prior <literal>PreAddSolid</literal>, etc.  
+    The flag <literal>fProcessingSolid</literal> will be false for the 
+    last case.  The possibility of any or all of these three scenarios 
+    occurring, for both permanent and
+    transient objects, affects the implementation of a scene handler if
+    there is any attempt to build a graphical database.  This is reflected
+    in the templates <literal>XXXStored</literal> and 
+    <literal>XXXSG</literal> described in
+    <xref linkend="sect.ExtdFuncVis.CrtGrpDrv.UsfStrt.Tmpl" />.  
+    Transients are discussed in
+    <xref linkend="sect.ExtdFuncVis.CrtGrpDrv.DlgTrnsObj" />.
+  </para></listitem>
+  <listitem><para>
+    <literal>G4TrajectoriesModel</literal> At end of event, the trajectory
+    container is unpacked and, for each trajectory,
+    <literal>sceneHandler.AddCompound</literal> called.  
+    The scene handler may implement this virtual function or inherit:
+
+    <informalexample><programlisting>
+    void G4VSceneHandler::AddCompound (const G4VTrajectory&amp; traj) {
+      traj.DrawTrajectory(((G4TrajectoriesModel*)fpModel)-&gt;GetDrawingMode());
+    }
+    </programlisting></informalexample>
+
+    Similarly, the user may implement <literal>DrawTrajectory</literal> 
+    or inherit:
+
+    <informalexample><programlisting>
+    void G4VTrajectory::DrawTrajectory(G4int i_mode) const {
+      G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance();
+      if (0 != pVVisManager) {
+        pVVisManager-&gt;DispatchToModel(*this, i_mode);
+      }
+    }
+    </programlisting></informalexample>
+
+    Thence, the <literal>Draw</literal> method of the current trajectory model 
+    is invoked (see <xref linkend="sect.ExtdFuncVis.EnhcTrjDrw" /> for details 
+    on trajectory models), which in turn, invokes <literal>Draw</literal> 
+    methods of the visualisation manager.
+
+    The resulting default sequence for a <literal>G4TrajectoriesModel</literal> 
+    is shown in <xref linkend="fig.ExtdFuncVis_3" />.
+
+    <figure id="fig.ExtdFuncVis_3">
+    <title>
+    The default sequence for a <literal>G4PhysicalVolumeModel}</literal>
+    </title>
+    <screen>
+    DrawView();
+    |-->ProcessView();
+        |-->ProcessScene();
+            |-->BeginModeling();
+            |-->pModel -> DescribeYourselfTo(*this);
+            |   |-->AddCompound(trajectory);
+            |       |-->trajectory.DrawTrajectory(...);
+            |           |-->DispatchToModel(...);
+            |               |-->model->Draw(...);
+            |                   |-->G4VisManager::Draw(...);
+            |                       |-->BeginPrimitives(objectTransform);
+            |                       |-->AddPrimitive(...);
+            |                       |-->EndPrimitives();
+            |-->EndModeling();
+    </screen>
+    </figure>
+
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.ExtdFuncVis.CrtGrpDrv.DlgTrnsObj">
+<title>
+Dealing with transient objects
+</title>
+
+<para>
+Any visualisable object not defined in the run-duration part of a
+scene is treated as ``transient''.  This includes trajectories, hits
+or anything drawn by the user through the <literal>G4VVisManager</literal>
+user-level interface (unless as part of a run-duration model implementation).  
+A flag, <literal>fReadyForTransients}</literal>, is maintained by
+the scene handler.  In fact, its normal state is <literal>true</literal>, and 
+only temporarily, during handling of the run-duration part of the scene, is
+it set to <literal>false</literal> -- see description of ProcessScene, 
+<xref linkend="sect.ExtdFuncVis.CrtGrpDrv.WhtPrcScn" />.
+</para>
+
+<para>
+If the driver supports a graphical database, it is smart to
+distinguish transient and permanent objects.  In this case, every 
+<literal>Add</literal> method of the scene handler must be transient-aware.  
+In some cases, it is enough to open a graphical data base component in 
+<literal>BeginPrimitives</literal>, fill it in <literal>AddPrimitive</literal> 
+and close it appropriately in <literal>EndPrimitives</literal>.  
+In others, initialisation is done in <literal>BeginModeling</literal> 
+and consolidation in <literal>EndModeling</literal> -- see 
+<literal>G4OpenGLStoredSceneHandler</literal>.  
+If any <literal>AddSolid</literal> method is
+implemented, then the graphical data base component should be opened
+in <literal>PreAddSolid</literal>, protecting against double opening, 
+for example,
+
+<informalexample><programlisting>
+void G4XXXStoredSceneHandler::BeginPrimitives
+(const G4Transform3D&amp; objectTransformation) {
+  G4VSceneHandler::BeginPrimitives(objectTransformation);
+  // If thread of control has already passed through PreAddSolid,
+  // avoid opening a graphical data base component again.
+  if (!fProcessingSolid) {
+</programlisting></informalexample>
+
+for other solids.
+</para>
+
+<para>
+The reason for this distinction is that at end of run the user
+typically wants to display trajectories on a view of the detector,
+then, at the end of the next event
+
+<footnote>
+  <para>
+  There is an option to accumulate trajectories across events and runs 
+  -- see commands 
+  <literal>/vis/scene/endOfEventAction</literal> and 
+  <literal>/vis/scene/endOfRunAction</literal>.
+  </para>
+</footnote>
+
+, erase the old and see new trajectories.  The visualisation manager 
+messages the scene handler with <literal>ClearTransientStore</literal> 
+just before drawing the trajectories to achieve this.
+</para>
+
+<para>
+If the driver does not have a graphical database or does not
+distinguish between transient and persistent objects, it must emulate
+<literal>ClearTransientStore</literal>.  Typically, it must erase everything, 
+including the detector, and re-draw the detector and other run-duration 
+objects, ready for the transients to be added.  File-writing drivers must
+rewind the output file.  Typically:
+
+<informalexample><programlisting>
+void G4HepRepFileSceneHandler::ClearTransientStore() {
+  G4VSceneHandler::ClearTransientStore();
+  // This is typically called after an update and before drawing hits
+  // of the next event.  To simulate the clearing of "transients"
+  // (hits, etc.) the detector is redrawn...
+  if (fpViewer) {
+    fpViewer -&gt; SetView();
+    fpViewer -&gt; ClearView();
+    fpViewer -&gt; DrawView();
+  }
+}
+</programlisting></informalexample>
+</para>
+
+<para>
+<literal>ClearView</literal> rewinds the output file and 
+<literal>DrawView</literal> re-draws the detector, etc.  
+(For smart drivers, <literal>DrawView</literal> is smart enough to
+know not to redraw the detector, etc., unless the view parameters have
+changed significantly -- see 
+<xref linkend="sect.ExtdFuncVis.CrtGrpDrv.WhtDrwVw" />)
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.sect.ExtdFuncVis.CrtGrpDrv.MrScnMdl">
+<title>
+More about scene models
+</title>
+
+<para>
+Scene models conform to the <literal>G4VModel</literal> abstract interface.
+Available models are listed and described there in varying detail.
+<xref linkend="sect.ExtdFuncVis.CrtGrpDrv.WhtPrcScn" /> describes their 
+use in some common command actions.
+</para>
+
+<para>
+In the design of a new model, care should be taken to handle the
+possibility that the <literal>G4ModelingParameters</literal> pointer is zero.
+Currently the only use of the modeling parameters is to communicate
+the culling policy.  Most models, therefore, have no need for modeling
+parameters.
+</para>
+
+</sect3>
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ExtdFuncVis.EnhcTrjDrw">
+<title>
+Enhanced Trajectory Drawing
+</title>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.ExtdFuncVis.EnhcTrjDrw.CrtTrjMdl">
+<title>
+Creating a new trajectory model
+</title>
+
+<para>
+New trajectory models must inherit from G4VTrajectoryModel and
+implement these pure virtual functions:
+
+<informalexample><programlisting>
+    virtual void Draw(const G4VTrajectory&amp;, G4int i_mode = 0, 
+                      const G4bool&amp; visible = true) const = 0;
+    virtual void Print(std::ostream&amp; ostr) const = 0;
+</programlisting></informalexample>
+</para>
+
+<para>
+To use the new model directly in compiled code, simply 
+register it with the G4VisManager, eg:
+
+<informalexample><programlisting>
+  G4VisManager* visManager = new G4VisExecutive;
+  visManager-&gt;Initialise();
+
+  // Create custom model
+  MyCustomTrajectoryModel* myModel = 
+             new MyCustomTrajectoryModel("custom");
+
+  // Configure it if necessary then register with G4VisManager
+  ...
+  visManager-&gt;RegisterModel(myModel);
+</programlisting></informalexample>
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.ExtdFuncVis.EnhcTrjDrw.AddIntFunc">
+<title>
+Adding interactive functionality
+</title>
+
+<para>
+Additional classes need to be written if the new model is to 
+be created and configured interactively:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis role="bold">Messenger classes</emphasis>
+    </para>
+    <para>
+    Messengers to configure the model should inherit from 
+    G4VModelCommand. The concrete trajectory model type should be 
+    used for the template parameter, eg:
+
+    <informalexample><programlisting>
+    class G4MyCustomModelCommand 
+          : public G4VModelCommand&lt;G4TrajectoryDrawByParticleID&gt; {
+    ...
+    };
+    </programlisting></informalexample>
+  
+    A number of general use templated commands are available in 
+    G4ModelCommandsT.hh.
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">Factory class</emphasis>
+    </para>
+    <para>
+    A factory class responsible for the model and associated messenger 
+    creation must also be written. The factory should inherit from 
+    G4VModelFactory. The abstract model type should be used for the 
+    template parameter, eg:
+
+    <informalexample><programlisting>
+    class G4TrajectoryDrawByChargeFactory 
+       : public G4VModelFactory&lt;G4VTrajectoryModel&gt; {
+     ...
+    };
+    </programlisting></informalexample>
+
+    The model and associated messengers should be constructed in the Create 
+    method. Optionally, a context object can also be created, with its own 
+    associated messengers. For example:
+
+    <informalexample><programlisting>
+    ModelAndMessengers
+    G4TrajectoryDrawByParticleIDFactory::
+        Create(const G4String&amp; placement, const G4String&amp; name)
+    {  
+      // Create default context and model
+      G4VisTrajContext* context = new G4VisTrajContext("default");
+      G4TrajectoryDrawByParticleID* model = 
+                  new G4TrajectoryDrawByParticleID(name, context);
+
+      // Create messengers for default context configuration
+      AddContextMsgrs(context, messengers, placement+"/"+name);
+
+      // Create messengers for drawer
+      messengers.push_back(new 
+        G4ModelCmdSetStringColour&lt;G4TrajectoryDrawByParticleID&gt;
+                                               (model, placement));
+      messengers.push_back(new 
+        G4ModelCmdSetDefaultColour&lt;G4TrajectoryDrawByParticleID&gt;
+                                               (model, placement));
+      messengers.push_back(new 
+        G4ModelCmdVerbose&lt;G4TrajectoryDrawByParticleID&gt;
+                                               (model, placement));
+
+      return ModelAndMessengers(model, messengers);
+    }
+    </programlisting></informalexample>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+The new factory must then be registered with the visualisation manager. 
+This should be done by overriding the G4VisManager::RegisterModelFactory 
+method in a subclass. See, for example, the G4VisManager implementation:
+
+<informalexample><programlisting>
+G4VisExecutive::RegisterModelFactories()
+{
+   ...
+   RegisterModelFactory(new G4TrajectoryDrawByParticleIDFactory());
+}
+</programlisting></informalexample>
+</para>
+
+</sect3>
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ExtdFuncVis.TrjFltr">
+<title>
+Trajectory Filtering
+</title>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.ExtdFuncVis.TrjFltr.CrtTrjFltr">
+<title>
+Creating a new trajectory filter model
+</title>
+
+<para>
+New trajectory filters must inherit at least from G4VFilter. The 
+models supplied with the Geant4 distribution inherit from 
+G4SmartFilter, which implements some specialisations on top of 
+G4VFilter. The models implement these pure virtual functions:
+
+<informalexample><programlisting>
+  // Evaluate method implemented in subclass
+  virtual G4bool Evaluate(const T&amp;) = 0;
+
+  // Print subclass configuration
+  virtual void Print(std::ostream&amp; ostr) const = 0;
+</programlisting></informalexample>
+</para>
+
+<para>
+To use the new filter model directly in compiled code, simply 
+register it with the G4VisManager, eg:
+
+<informalexample><programlisting>
+  G4VisManager* visManager = new G4VisExecutive;
+  visManager-&gt;Initialise();
+
+  // Create custom model
+  MyCustomTrajectoryFilterModel* myModel = 
+        new MyCustomTrajectoryFilterModel("custom");
+
+  // Configure it if necessary then register with G4VisManager
+  ...
+  visManager-&gt;RegisterModel(myModel);
+</programlisting></informalexample>
+</para>
+
+</sect3>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.ExtdFuncVis.TrjFltr.AddIntFunc">
+<title>
+Adding interactive functionality
+</title>
+
+<para>
+Additional classes need to be written if the new model is to 
+be created and configured interactively. The mechanism is exactly 
+the same as that used to create enchanced trajectory drawing 
+models and associated messengers. See the filter factories in 
+G4TrajectoryFilterFactories for example implementations.
+</para>
+
+</sect3>
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.ExtdFuncVis.OthrRsrc">
+<title>
+Other Resources
+</title>
+
+<para>
+The following sections contain various information for extending 
+other class functionalities of Geant4 visualisation: 
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    User's Guide for Application Developers, Chapter 8 - Visualization
+  </para></listitem>
+  <listitem><para>
+    User's Guide for Toolkit Developers, Object-oriented Analysis
+    and Design of Geant4 Classes, <xref linkend="sect.DsgnFuncVis" />.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect2>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead role="revisionHistory" renderas="sect4">
+[Status of this chapter]
+</bridgehead>
+<para>
+<simplelist type="var">
+  <member>
+    03.12.05 ``Enhanced Trajectory Drawing'' added by Jane Tinsley.
+  </member>
+  <member>
+    03.12.05 ``Creating a new visualisation driver'' (from Part II) 
+    by John Allison.
+  </member>
+  <member>
+    09.01.06 ``Creating a new visualisation driver'' considerably expanded 
+    by John Allison.
+  </member>
+  <member>
+    20.06.06 Some sections improved or added from draft vis paper.  
+    John Allison.
+  </member>
+  <member>
+    Dec. 2006 Conversion from latex to Docbook verson by K. Amako
+  </member>
+</simplelist>
+</para>
+    
+
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/Introduction/ChapIntroduction.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/Introduction/ChapIntroduction.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/Introduction/ChapIntroduction.xml	(revision 904)
@@ -0,0 +1,23 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  This is the top file for the present chapter. It        -->
+<!--  includes all section files which belong to the chapter. -->
+<!--  Entities names used below are defined in                -->
+<!--  ChapXXEntityDef.dtd in the current directory.           -->
+<!--                                                          -->
+<!--  [Note]                                                  -->
+<!--    Created by Katsuya Amako, Nov-2006                    -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!-- ******************** Top of Chapter ******************** -->
+<chapter id="chap.Introduction">
+<title>
+Introduction
+</title>
+
+<!-- *************** Inclusion of Sections ****************** -->
+&introduction;
+
+</chapter>
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/Introduction/ChapIntroductionEntityDef.dtd
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/Introduction/ChapIntroductionEntityDef.dtd	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/Introduction/ChapIntroductionEntityDef.dtd	(revision 904)
@@ -0,0 +1,16 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  In this file you need to define entities of all xml     -->
+<!--  section files you want to include from the current      -->
+<!--  directory into the G4 DocBook manual.                   -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Creation:  Katsuya Amako,  Nov-2006                   -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!ENTITY chapIntroduction    SYSTEM "./ChapIntroduction.xml">
+
+<!ENTITY introduction        SYSTEM "./introduction.xml">
+
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/Introduction/introduction.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/Introduction/introduction.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/Introduction/introduction.xml	(revision 904)
@@ -0,0 +1,138 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Nov-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.scope">
+<title>
+Scope of this manual
+</title>
+
+<para>
+The User's Guide for Toolkit Developers provides detailed information about 
+the design of Geant4 classes as well as the information required to extend 
+the current functionality of the Geant4 toolkit.  This manual is designed
+to:  
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    provide a repository of information for those who want to 
+    understand or refer to the detailed design of the toolkit, and
+  </para></listitem>
+  <listitem><para>
+    provide details and procedures for extending the functionality
+    of the toolkit so that experienced users may contribute code 
+    which is consistent with the overall design of Geant4.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+This manual is intended for developers and experienced users of Geant4.  
+It is assumed that the reader is already familiar with functionality of 
+the Geant4 toolkit as explained in the ``User's Guide For Application 
+Developers", and also has a working knowledge of programming using C++. 
+A knowledge of object-oriented analysis and design will also be useful
+in understanding this manual.  It is also useful to consult the 
+``Software Reference Manual'' which provides a list of Geant4 classes
+and their major methods. 
+</para>
+
+<para>
+Detailed discussions of the physics included in Geant4 are provided in
+the ``Physics Reference Manual''.
+</para>
+</sect1>
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.howToUseMan">
+<title>
+How to use this manual
+</title>
+
+<para>
+<emphasis role="bold">Part I</emphasis>: 
+to understand the goal of the software design of Geant4, it 
+is useful to begin by reading the User Requirements Document referred to 
+in the next section.
+</para>
+
+<para>
+<emphasis role="bold">Part II</emphasis>: 
+``Design and Function of the Geant4 Categories'' provides 
+detailed information about the design of each class category and the classes 
+in it.  Before considering an extension of one of the toolkit categories, a 
+detailed understanding of that category is required.
+</para>
+
+<para>
+<emphasis role="bold">Part III</emphasis>: 
+``Extending Toolkit Functionality'' explains in some detail 
+how to extend the functionality of Geant4.  Most of the class categories
+are covered and some, which are especially useful to most users, are
+covered in greater detail.
+</para>
+
+<para>
+It is not necessary to understand the entire manual before adding
+a new functionality.  To add a new physics process, for example, only the
+following items must be read and understood: 
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    the design principle described in the ``Physics processes'' 
+    chapter of Part II  </para></listitem>
+  <listitem><para>
+    techniques explained in the ``Physics processes'' chapter 
+    of Part III.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect1>
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.userReqDoc">
+<title>
+User Requirements Document
+</title>
+
+<para>
+At the beginning of Geant4 development, a set of user requirements was 
+collected in order to inform the object-oriented analysis and design of
+the toolkit.  The User Requirements Document follows the PSS-05 software 
+engineering standards and is available at
+</para>
+<para>
+<ulink url="http://cern.ch/geant4/OOAandD/URD.pdf">
+http://cern.ch/geant4/OOAandD/URD.pdf .
+</ulink>
+</para>
+
+<para>
+This document provides a general description of the main capabilities and 
+constraints of the toolkit.  It also defines three types of users 
+characterized by their level of interaction with the system.  Specific 
+requirements are also listed and classified.
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead role="revisionHistory" renderas='sect4'>
+[Status of this chapter]
+</bridgehead>
+
+<para>
+<simplelist type="var">
+  <member>
+    24.06.05 - re-organized and re-written by D.H. Wright 
+  </member>
+</simplelist>
+</para>
+
+   
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/ChapDsgnFunc.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/ChapDsgnFunc.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/ChapDsgnFunc.xml	(revision 904)
@@ -0,0 +1,34 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  This is the top file for the present chapter. It        -->
+<!--  includes all section files which belong to the chapter. -->
+<!--  Entities names used below are defined in                -->
+<!--  ChapXXEntityDef.dtd in the current directory.           -->
+<!--                                                          -->
+<!--  [Note]                                                  -->
+<!--    Created by Katsuya Amako, Nov-2006                    -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!-- ******************** Top of Chapter ******************** -->
+<chapter id="chap.DesignFunc">
+<title>
+Design and Function of Geant4 Categories
+</title>
+
+<!-- *************** Inclusion of Sections ****************** -->
+&sectDsgnFuncIntro;
+&sectDsgnFuncRun;
+&sectDsgnFuncEvent;
+&sectDsgnFuncTracking;
+&sectDsgnFuncPhysicsProcesses;
+&sectDsgnFuncHit;
+&sectDsgnFuncGeometry;
+&sectDsgnFuncElectroMagnetic;
+&sectDsgnFuncParticles;
+&sectDsgnFuncMaterials;
+&sectDsgnFuncGlobalUsage;
+&sectDsgnFuncVisualization;
+&sectDsgnFuncUserInterface;
+</chapter>
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/ChapDsgnFunc.xml.org
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/ChapDsgnFunc.xml.org	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/ChapDsgnFunc.xml.org	(revision 904)
@@ -0,0 +1,35 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  This is the top file for the present chapter. It        -->
+<!--  includes all section files which belong to the chapter. -->
+<!--  Entities names used below are defined in                -->
+<!--  ChapXXEntityDef.dtd in the current directory.           -->
+<!--                                                          -->
+<!--  [Note]                                                  -->
+<!--    Created by Katsuya Amako, Nov-2006                    -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!-- ******************** Top of Chapter ******************** -->
+<chapter id="chap.DesignFunc">
+<title>
+Design and Function of Geant4 Categories
+</title>
+
+<!-- *************** Inclusion of Sections ****************** -->
+&sectDsgnFuncIntro;
+&sectDsgnFuncRun;
+&sectDsgnFuncEvent;
+&sectDsgnFuncTracking;
+&sectDsgnFuncPhysicsProcesses;
+&sectDsgnFuncHit;
+&sectDsgnFuncGeometry;
+&sectDsgnFuncElectroMagnetic;
+&sectDsgnFuncParticles;
+&sectDsgnFuncMaterials;
+&sectDsgnFuncGlobalUsage;
+&sectDsgnFuncVisualization;
+&sectDsgnFuncUserInterface;
+
+</chapter>
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/ChapDsgnFuncEntityDef.dtd
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/ChapDsgnFuncEntityDef.dtd	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/ChapDsgnFuncEntityDef.dtd	(revision 904)
@@ -0,0 +1,31 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  In this file you need to define entities of all xml     -->
+<!--  section files you want to include from the current      -->
+<!--  directory into the G4 DocBook manual.                   -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Creation:  Katsuya Amako,  Nov-2006                   -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!-- Entity definitions xml files under current directories.  -->
+<!ENTITY chapDsgnFunc                 SYSTEM  "./ChapDsgnFunc.xml">
+
+<!ENTITY sectDsgnFuncIntro            SYSTEM  "./Introduction/introduction.xml">
+<!ENTITY sectDsgnFuncRun              SYSTEM  "./Run/run.xml">
+<!ENTITY sectDsgnFuncEvent            SYSTEM  "./Event/event.xml">
+<!ENTITY sectDsgnFuncTracking         SYSTEM  "./Tracking/tracking.xml">
+<!ENTITY sectDsgnFuncPhysicsProcesses SYSTEM  "./PhysicsProcesses/physicsProcesses.xml">
+<!ENTITY sectDsgnFuncHit              SYSTEM  "./Hit/hit.xml">
+<!ENTITY sectDsgnFuncGeometry         SYSTEM  "./Geometry/geometry.xml">
+<!ENTITY sectDsgnFuncElectroMagnetic  SYSTEM  "./ElectromagneticField/electroMagneticField.xml">
+<!ENTITY sectDsgnFuncParticles        SYSTEM  "./Particles/particles.xml">
+<!ENTITY sectDsgnFuncMaterials        SYSTEM  "./Materials/materials.xml">
+<!ENTITY sectDsgnFuncGlobalUsage      SYSTEM  "./GlobalUsage/globalUsage.xml">
+<!ENTITY sectDsgnFuncVisualization    SYSTEM  "./Visualization/visualization.xml">
+<!ENTITY sectDsgnFuncUserInterface    SYSTEM  "./UserInterface/userInterface.xml">
+
+
+
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/ElectromagneticField/electroMagneticField.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/ElectromagneticField/electroMagneticField.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/ElectromagneticField/electroMagneticField.xml	(revision 904)
@@ -0,0 +1,34 @@
+<!-- ******************************************************** -->
+<!--  Docbook Version:  For Toolkit Developers Guide          -->
+<!-- ******************************************************** -->
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.DsgnFuncEMField">
+<title>
+Electromagnetic Fields
+</title>
+
+<para>
+The object-oriented design of the classes related to the electromagnetic field
+is shown in the class diagram of <xref linkend="fig.DsgnFuncEMField_1" />.  
+The diagram is described in UML notation. 
+
+<figure id="fig.DsgnFuncEMField_1">
+<title>
+Electromagnetic Field
+</title>
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="./AllResources/OOAnalysisDesign/ElectromagneticField/field-prop.gif" 
+               format="GIF" contentwidth="10.0cm" align="center" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/OOAnalysisDesign/ElectromagneticField/field-prop.gif" 
+               format="GIF" align="center" />
+  </imageobject>
+</mediaobject>
+</figure>
+</para>
+
+</sect1>
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Event/event.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Event/event.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Event/event.xml	(revision 904)
@@ -0,0 +1,128 @@
+<!-- ******************************************************** -->
+<!--  Docbook Version:  For Toolkit Developers Guide          -->
+<!-- ******************************************************** --> 
+
+<!-- ******************** Top of Section ******************** -->
+<sect1 id="sect.DsgnFuncEvnt">
+<title>
+Event
+</title>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.sect.DsgnFuncEvnt.DsgPhlsp">
+<title>
+Design Philosophy
+</title>
+
+<para>
+In high energy physics the primary unit of an experimental run is an event.
+An event consists of a set of primary particles produced in an interaction,
+and a set of detector responses to these particles.
+</para>
+
+<para>
+In Geant4, objects of the  G4Event class are the primary units of a 
+simulation run.  Before the event is processed, it contains primary
+vertices and primary particles produced by an external physics generator.  
+After the event is processed, it may also contain hits, digitizations ,and 
+optionally, trajectories generated by the simulation.  The event category 
+manages events and provides an abstract interface to external physics 
+generators.
+</para>
+
+<para>
+G4Event and its content vertices and particles are independent of 
+other classes.  This isolation allows Geant4-based simulation programs 
+to be independent of specific choices for physics generators and of specific 
+solutions for storing the ``Monte Carlo truth''.  G4Event avoids 
+keeping any transient information which is not meaningful after event 
+processing is complete.  Thus the user can store objects of this class for 
+processing further down the program chain.  For performance reasons,
+G4Event and its content classes are not persistent.  Instead the user 
+must provide the transient-to-persistent conversion.
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.sect.DsgnFuncEvnt.ClassDsg">
+<title>
+Class Design
+</title>
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis role="bold">G4Event</emphasis> - This class represents an event.  
+    It is constructed and deleted by G4RunManager or its derived class.
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">G4EventManager</emphasis> - This class controls an 
+    event. It must be a singleton and should be constructed by G4RunManager.
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">G4VPrimaryGenerator</emphasis> - the abstract base 
+    class of all of primary generators.  This class has only one pure virtual 
+    method, GeneratePrimaryVertex(), which takes a G4Event object, generates 
+    a primary vertex and associates primary particles with the vertex.
+  </para></listitem>
+</itemizedlist>
+
+<para>
+Booch diagrams for classes related to the event and event generator classes
+are shown in <xref linkend="fig.DsgnFuncEvnt_1" /> and 
+<xref linkend="fig.DsgnFuncEvnt_2" />.
+
+<figure id="fig.DsgnFuncEvnt_1">
+<title>
+  Event
+</title>
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="./AllResources/OOAnalysisDesign/Event/classDgmEventManager.gif"  
+               format="GIF" contentwidth="10.0cm" align="center" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/OOAnalysisDesign/Event/classDgmEventManager.gif"  
+               format="GIF" align="center" />
+  </imageobject>
+</mediaobject>
+</figure>
+
+<figure id="fig.DsgnFuncEvnt_2">
+<title>
+  Event Generator
+</title>
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="./AllResources/OOAnalysisDesign/Event/classDgmEventGen.gif"  
+               format="GIF" contentwidth="10.0cm" align="center" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/OOAnalysisDesign/Event/classDgmEventGen.gif"  
+               format="GIF" align="center" />
+  </imageobject>
+</mediaobject>
+</figure>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead role="revisionHistory" renderas='sect4'>
+[Status of this chapter]
+</bridgehead>
+
+<para>
+<simplelist type="var">
+  <member>
+    27.06.05 design philosophy section added (from Geant4 general paper) by
+             D.H. Wright
+  </member>
+  <member>
+    Dec. 2006 Conversion from latex to Docbook verson by K. Amako
+  </member>
+</simplelist>
+</para>
+
+</sect2>
+</sect1>
+
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Geometry/geometry.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Geometry/geometry.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Geometry/geometry.xml	(revision 904)
@@ -0,0 +1,366 @@
+<!-- ******************************************************** -->
+<!--  Docbook Version:  For Toolkit Developers Guide          -->
+<!-- ******************************************************** -->
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.DsgnFuncGeom">
+<title>
+Geometry
+</title>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.DsgnFuncGeom.DsgPhlsp">
+<title>
+Design Philosopy
+</title>
+
+<para>
+The geometry category provides the ability to describe a geometrical structure 
+and propagate particles efficiently through it.  This is done in part with 
+the aid of two central concepts, the <emphasis role="italic">logical</emphasis> 
+and <emphasis role="italic">physical</emphasis> volumes.
+A logical volume represents a detector element of a given shape which may
+contain other volumes, and which may have other attributes.  It has access to
+other information which is independent of its phyisical location in the 
+detector, such as material and sensitive detector behavior.  A physical volume
+represents the spatial positioning or placement of the logical volume with
+respect to an enclosing mother (logical) volume.  Thus a hierarchical tree
+structure of volumes can be built with each volume containing smaller volumes
+(which may not overlap).  Repetitive structures can be represented by 
+specialized physical volumes, such as replicas and parameterized placements,
+sometimes resulting in a large savings in memory. 
+</para>
+
+<para>
+In Geant4 the logical volume has been refined by defining the shape as 
+a separate entity, called a <emphasis role="italic">solid</emphasis>.  
+Solids with simple shapes, like 
+rectilinear boxes, trapezoids, spherical or cylindrical sections or shells,
+each have their properties coded separately, in accord with the concept of
+<emphasis role="italic">Constructed Solid Geometry (CSG)</emphasis>.  
+More complex solids are defined by 
+their bounding surfaces, which can be planes, second-order surfaces or 
+higher-order B-spline surfaces, and belong to the 
+<emphasis role="italic">Boundary Representations (BREP)</emphasis> sub-category.
+</para>
+
+<para>
+Another way to build solids is by boolean combination - union, intersection 
+and subtraction.  The elemental solids should be CSGs.  
+</para>
+
+<para>
+Although a detector is naturally and best described as by a hierarchy of
+volumes, efficiency is not critically dependent on this.  An optimization
+technique, called voxelization, allows efficient navigation even in ``flat''
+geometries, typical of those produced by CAD systems.
+</para>
+
+</sect2>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.DsgnFuncGeom.ClassDsg">
+<title>
+Class Design
+</title>
+
+<para>
+
+<itemizedlist spacing="compact">
+<listitem><para>
+   <emphasis role="bold">G4GeometryManager</emphasis> -
+   responsible for managing ``high level'' objects in the geometry subdomain, 
+   notably including opening and closing (``locking'') the geometry, and 
+   creating/deleting optimization information for G4Navigator. The class is 
+   a "singleton".
+</para></listitem> 
+<listitem><para>
+   <emphasis role="bold">G4LogicalVolumeStore</emphasis> -
+   a container for optionally storing created logical volumes. It enables 
+   traversal of all logical volumes by the UI/user/etc.
+</para></listitem> 
+<listitem><para>
+   <emphasis role="bold">G4LogicalVolume</emphasis> -
+   represents a leaf node or unpositioned subtree in the geometry hierarchy. 
+   It may have daughters ascribed to it, and is also responsible for 
+   retrieval of the physical and tracking attributes of the physical volume 
+   that it represents.  These attributes include solid, material, magnetic 
+   field, and optionally user limits, sensitive detectors, etc.  Logical
+   volumes are optionally entered into the G4LogicalVolumeStore.
+</para></listitem>
+<listitem><para>
+   <emphasis role="bold">G4MagneticField</emphasis> -
+   a class responsible for the magnetic field in each volume, including the 
+   calculation of particle trajectories along curved paths. In cases where 
+   the geometry step limits the particle's step, the distance calculated 
+   is guaranteed to be the distance to a volume boundary.
+</para></listitem>
+<listitem><para>
+   <emphasis role="bold">G4Navigator</emphasis> -
+   a class used by the tracking management, able to obtain/calculate 
+   tracking-time geometrical information such as distance to the next volume, 
+   or to find the physical volume containing a given point in the world 
+   reference system.  The navigator maintains a transformation history and 
+   other information used to optimize the tracking time performance. 
+</para></listitem>
+<listitem><para>
+   <emphasis role="bold">G4NavigationHistory</emphasis> -
+   responsible for maintenance of the history of the path taken through the 
+   geometrical hierarchy.  It is principally a utility class for use by 
+   G4Navigator.
+</para></listitem>
+<listitem><para>
+   <emphasis role="bold">G4NormalNavigation</emphasis> -
+   a utility class for navigation in volumes containing only G4PVPlacement 
+   daughter volumes.
+</para></listitem>
+<listitem><para>
+   <emphasis role="bold">G4ParameterisedNavigation</emphasis> -
+   a utility class for navigation in volumes containing a single 
+   G4PVParameterised volume for which voxels for the replicated volumes have 
+   been constructed.
+</para></listitem>
+<listitem><para>
+   <emphasis role="bold">G4VoxelNavigation</emphasis> -
+   a utility class for navigation in volumes containing only G4PVPlacement 
+   daughter volumes for which voxels have been constructed.
+</para></listitem>
+<listitem><para>
+   <emphasis role="bold">G4ReplicaNavigation</emphasis> -
+   a utility class for navigation in volumes containing a single 
+   G4PVParameterised volume for which voxels for the replicated volumes 
+   have been constructed. 
+</para></listitem>
+<listitem><para>
+   <emphasis role="bold">G4PhysicalVolumeStore</emphasis> -
+   a container for optionally storing created physical volumes. It enables 
+   traversal of all physical volumes by the UI/user/etc.  All solids should 
+   be registered with G4PhysicalVolumeStore, and removed on their destruction. 
+   It is intended principally for the UI browser.
+</para></listitem>
+<listitem><para>
+   <emphasis role="bold">G4VPhysicalVolume</emphasis> -
+   a volume positioned within and relative to a given mother volume, and also 
+   represented by a given logical volume.  They are optionally entered into 
+   the G4PhysicalVolumeStore. 
+</para></listitem>
+<listitem><para>
+   <emphasis role="bold">G4PVPlacement</emphasis> -
+   a physical volume corresponding to a single touchable detector element, 
+   positioned within and relative to a mother volume.
+</para></listitem>
+<listitem><para>
+   <emphasis role="bold">G4PVIndexed</emphasis> -
+   a volume able to perform simple changes to its shape (corresponds to 
+   GSPOSP), and representing a single touchable detector element.
+</para></listitem>
+<listitem><para>
+   <emphasis role="bold">G4PVReplica</emphasis> -
+   a physical volume representing many identically formed touchable detector 
+   elements, differing only in their positioning.  The elements' positions 
+   are determined by means of a simple formula, and the elements completely 
+   fill the containing mother volume.
+</para></listitem>
+<listitem><para>
+   <emphasis role="bold">G4PVParameterised</emphasis> -
+   a physical volume representing many touchable detector elements differing 
+   in their positioning and dimensions.  Both are calculated by means of a 
+   G4VParameterisation object.  Each element's position is calculated as per 
+   G4PVReplica, and each element's shape can be modified by means of a user 
+   supplied formula.
+</para></listitem>
+<listitem><para>
+   <emphasis role="bold">G4VPVParameterisation</emphasis> -
+   a parameterisation class able to compute the transformation and, 
+   indirectly, the dimensions of parameterised volumes, given a replication 
+   number. 
+</para></listitem>
+<listitem><para>
+   <emphasis role="bold">G4SmartVoxelProxy</emphasis> -
+   a class for proxying smart voxels.  The class represents either a header 
+   (in turn refering to more VoxelProxies) or a node.  If created as a node, 
+   calls to GetHeader cause an exception, and likewise GetNode when a header. 
+</para></listitem>
+<listitem><para>
+   <emphasis role="bold">G4SmartVoxelHeader</emphasis> -
+   represents a single axis of virtual division.  Contains the individual 
+   divisions which are potentially further divided along different axes.
+</para></listitem>
+<listitem><para>
+   <emphasis role="bold">G4SmartVoxelNode</emphasis> -
+   a single virtual division, containing the physical volumes inside its 
+   boundaries and those of its parents.
+</para></listitem>
+<listitem><para>
+   <emphasis role="bold">G4VoxelLimits</emphasis> -
+   represents limitation/restrictions of space, where restrictions are only 
+   made perpendicular to the cartesian axes. 
+</para></listitem>
+<listitem><para>
+   <emphasis role="bold">G4RotationMatrixStore</emphasis> -
+   a container for optionally storing created G4RotationMatrices.
+</para></listitem> 
+<listitem><para>
+   <emphasis role="bold">G4SolidStore</emphasis> -
+   a container for optionally storing created solids.  It enables traversal 
+   of all/any solids by the UI/user/etc. The class is a "singleton".
+</para></listitem>
+<listitem><para>
+   <emphasis role="bold">G4VSolid</emphasis> -
+   position independent geometrical entities. They have only `shape', and 
+   encompass both CSG and boundary representations.  They are optionally 
+   entered into the G4SolidStore.  This class defines, but does not implement, 
+   functions to compute distances to/from the shape.  Functions are also 
+   defined to check whether a point is inside the shape, to return the 
+   surface normal of the shape at a given point, and to compute the extent 
+   of the shape. 
+</para></listitem>
+<listitem><para>
+   <emphasis role="bold">G4VSweptSolid</emphasis> -
+   a solid created by performing a 3D transformation on a finite planar face.
+</para></listitem>
+<listitem><para>
+   <emphasis role="bold">G4HalfSpaceSolid</emphasis> -
+   a solid created by the boolean AND of one or more half space surfaces.
+</para></listitem>
+<listitem><para>
+   <emphasis role="bold">G4BREPSolid</emphasis> -
+   a solid created by an abitrary set of finite surfaces. 
+</para></listitem>
+<listitem><para>
+   <emphasis role="bold">G4VTouchable</emphasis> -
+   a class that maintains a ``reference'' on a given touchable element of 
+   the detector - a kind of bookmark.  It enables a given detector element 
+   to be saved during tracking (in case of booleans/user code/etc.) and the 
+   corresponding G4PhysicalVolume retrieved later, with its ``state''
+   information (path through the tree) optionally restored so that 
+   navigation can be restarted.  G4Touchables provide fast access to the 
+   transformation from the global reference system to that of the saved 
+   detector element. 
+</para></listitem>
+<listitem><para>
+   <emphasis role="bold">G4TouchableHistory</emphasis> -
+   object representing a touchable detector element, and its history in the 
+   geomtrical hierarchy, including its net resultant local->global transform.
+</para></listitem>
+<listitem><para>
+   <emphasis role="bold">G4GRSSolid</emphasis>} - 
+   object representing a touchable solid.  It maintains 
+   the association between a solid and its net resultant local-to-global 
+   transform.
+</para></listitem>
+<listitem><para>
+   <emphasis role="bold">G4GRSVolume</emphasis> - 
+   object representing a touchable detector element.  
+   It maintains associations between a physical volume and its net resultant 
+   local-to-global transform. 
+</para></listitem>
+<listitem><para>
+   <emphasis role="bold">G4TransformStore</emphasis> -
+   a container for optionally storing created G4AffineTransform objects. 
+   It is responsible for storing and providing access to transformations 
+   that are constant at tracking time.
+</para></listitem>
+<listitem><para>
+   <emphasis role="bold">G4AffineTransform</emphasis> - 
+   a class for geometric affine transformations. 
+   It supports efficient arbitrary rotation and transformation of vectors and 
+   the computation of compound and inverse transformations.  A 
+   ``rotation flag'' is maintained internally for greater computational 
+   efficiency for transforms that do not involve rotation.
+</para></listitem>
+<listitem><para>
+   <emphasis role="bold">G4UserLimits</emphasis> -
+   responsible for user limits on step size, ascribable to individual volumes. 
+</para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+<xref linkend="fig.DsgnFuncGeom_1" /> shows a general overview, in UML notation, of 
+the geometry design.  A detailed collection of class diagrams from the 
+geometry category is found in the Appendix.
+
+<figure id="fig.DsgnFuncGeom_1">
+<title>
+Overview of the geometry
+</title>
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="./AllResources/OOAnalysisDesign/Geometry/overall.gif" format="GIF" contentwidth="10.0cm" align="center" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/OOAnalysisDesign/Geometry/overall.gif" format="GIF" align="center" />
+  </imageobject>
+</mediaobject>
+</figure>
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.DsgnFuncGeom.AddDgrm">
+<title>
+Additional Geometry Diagrams
+</title>
+
+<para>
+Additional diagrams for the object-oriented design of the 'geometry' related 
+classes are included here.
+</para>
+<para>
+<xref linkend="fig.DsgnFuncGeom_2" /> shows the class diagram for smart voxels.
+<xref linkend="fig.DsgnFuncGeom_3" /> shows the class diagram for the navigator.
+
+<figure id="fig.DsgnFuncGeom_2">
+<title>
+Class diagram for smart voxels
+</title>
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="./AllResources/OOAnalysisDesign/Geometry/smart_voxels.gif" format="GIF" contentwidth="10.0cm" align="center" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/OOAnalysisDesign/Geometry/smart_voxels.gif" format="GIF" align="center" />
+  </imageobject>
+</mediaobject>
+</figure>
+
+
+<figure id="fig.DsgnFuncGeom_3">
+<title>
+Class diagram for the navigator
+</title>
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="./AllResources/OOAnalysisDesign/Geometry/navigator.gif" format="GIF" contentwidth="10.0cm" align="center" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/OOAnalysisDesign/Geometry/navigator.gif" format="GIF" align="center" />
+  </imageobject>
+</mediaobject>
+</figure>
+</para>
+
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead role="revisionHistory" renderas="sect4">
+[Status of this chapter]
+</bridgehead>
+<para>
+<simplelist type="var">
+  <member>
+    27.06.05 subsection on design philosphy (from Geant4 general paper) 
+    added by D.H. Wright
+  </member>
+    Dec. 2006 Conversion from latex to Docbook verson by K. Amako
+  <member>
+  </member>
+</simplelist>
+</para>
+    
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/GlobalUsage/globalUsage.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/GlobalUsage/globalUsage.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/GlobalUsage/globalUsage.xml	(revision 904)
@@ -0,0 +1,318 @@
+<!-- ******************************************************** -->
+<!--  Docbook Version:  For Toolkit Developers Guide          -->
+<!-- ******************************************************** -->
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.DsgnFuncGlobUsg">
+<title>
+Global Usage
+</title>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.DsgnFuncGlobUsg.DsgPhlsp">
+<title>
+Design Philosophy
+</title>
+
+<para>
+The global category covers the system of units, constants, numerics and 
+random number handling.  It can be considered a place-holder for 
+"general purpose" classes used by all categories defined in Geant4. 
+No back-dependencies to other Geant4 categories affect the "global" 
+domain.  There are direct dependencies of the global category on external 
+packages, such as CLHEP, STL, and miscellaneous system utilities.
+</para>
+
+<para>
+Within the management sub-category are ``utility'' classes generally used 
+within the Geant4 kernel.  They are, for the most part, uncorrelated 
+with one another and include:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis role="italic">G4Allocator</emphasis>
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="italic">G4FastVector</emphasis>
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="italic">G4ReferenceCountedHandle</emphasis>
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="italic">G4PhysicsVector, G4LPhysicsFreeVector, 
+    G4PhysicsOrderedFreeVector</emphasis>
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="italic">G4Timer</emphasis>
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="italic">G4UserLimits</emphasis>
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="italic">G4UnitsTable</emphasis>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+A general description of these classes is given in section 3.2 of the 
+Geant4 User's Guide for Application Developers. 
+</para>
+
+<para>
+In applications where it is necessary to generate random numbers (normally 
+from the same engine) in many different methods and parts of the program, it 
+is highly desirable not to rely on or require knowledge of the global objects 
+instantiated.  By using static methods via a unique generator, the randomness 
+of a sequence of numbers is best assured.  Hence the use of a static generator 
+has been introduced in the original design of HEPRandom as a project 
+requirement in Geant4.  
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.DsgnFuncGlobUsg.ClassDsg">
+<title>
+Class Design
+</title>
+
+<para>
+Analysis and design of the HEPRandom module have been achieved following 
+the Booch Object-Oriented methodology.  Some of the original design 
+diagrams in Booch notation are reported below.  
+<xref linkend="fig.DsgnFuncGlobUsg_1" />
+is a general picture of the static class diagram. 
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis role="bold">HepRandomEngine</emphasis> -
+    abstract class defining the interface for each Random engine. Its pure 
+    virtual methods must be defined by its subclasses representing the 
+    concrete Random engines.
+  </para></listitem> 
+  <listitem><para>
+    <emphasis role="bold">HepJamesRandom</emphasis> -
+    class inheriting from HepRandomEngine and defining a flat random number 
+    generator according to the algorithm described in 
+    "F.James, Comp.Phys.Comm. 60 (1990) 329". This class is instantiated by 
+    default as the default random engine. 
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">DRand48Engine</emphasis> -
+    class inheriting from HepRandomEngine and defining a flat random number 
+    generator according to the drand48() and srand48() system functions from 
+    the C standard library.
+  </para></listitem> 
+  <listitem><para>
+    <emphasis role="bold">RandEngine</emphasis> -
+    class inheriting from HepRandomEngine and defining a flat random number 
+    generator according to the rand() and srand() system functions from the 
+    C standard library. 
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">RanluxEngine</emphasis> -
+    class inheriting from HepRandomEngine and defining a flat random number 
+    generator according to the algorithm described in 
+    "F.James, Comp.Phys.Comm. 60 (1990) 329-344" and originally implemented 
+    in FORTRAN 77 as part of the MATHLIB HEP library. It provides 5 different 
+    "luxury" levels [0..4]. 
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">RanecuEngine</emphasis> -
+    class inheriting from HepRandomEngine and defining a flat random number 
+    generator according to the algorithm RANECU originally written in 
+    FORTRAN 77 as part of the MATHLIB HEP library. It uses a table of seeds 
+    which provides uncorrelated couples of seed values. 
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">HepRandom</emphasis> -
+    the main class collecting all the methods defining the different random 
+    generators applied to HepRandomEngine. It is a singleton class which all 
+    the distribution classes derive from.  This singleton is instantiated by 
+    default. 
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">RandFlat</emphasis> -
+    distribution class for flat random number generation. It also provides 
+    methods to fill an array of flat random values, given its size or shoot 
+    bits. 
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">RandExponential</emphasis> -
+    distribution class defining exponential random number distribution, given 
+    a mean.  It also provides a method to fill an array of flat random values, 
+    given its size.
+  </para></listitem> 
+  <listitem><para>
+    <emphasis role="bold">RandGauss</emphasis> -
+    distribution class defining Gauss random number distribution, given a 
+    mean or specifying also a deviation. It also provides a method to fill 
+    an array of flat random values, given its size. 
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">RandBreitWigner</emphasis> -
+    distribution class defining the Breit-Wigner random number distribution. 
+    It also provides a method to fill an array of flat random values, given 
+    its size. 
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">RandPoisson</emphasis> -
+    distribution class defining Poisson random number distribution, given a 
+    mean. It also provides a method to fill an array of flat random values, 
+    given its size.
+  </para></listitem> 
+</itemizedlist>
+
+<figure id="fig.DsgnFuncGlobUsg_1">
+<title>
+HEPRandom module
+</title>
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="./AllResources/OOAnalysisDesign/GlobalUsage/classDgmRandom.gif" 
+               format="GIF" contentwidth="10.0cm" align="center" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/OOAnalysisDesign/GlobalUsage/classDgmRandom.gif" 
+               format="GIF" align="center" />
+  </imageobject>
+</mediaobject>
+</figure>
+</para>
+
+<para>
+<xref linkend="fig.DsgnFuncGlobUsg_2" /> is a dynamic object diagram illustrating the 
+situation when a single random number is thrown by the static generator 
+according to one of the available distributions.  Only one engine is 
+assumed to active at a time. 
+
+<figure id="fig.DsgnFuncGlobUsg_2">
+<title>
+Shooting via the generator
+</title>
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="./AllResources/OOAnalysisDesign/GlobalUsage/ObjDiagStat.gif" 
+               format="GIF" contentwidth="10.0cm" align="center" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/OOAnalysisDesign/GlobalUsage/ObjDiagStat.gif" 
+               format="GIF" align="center" />
+  </imageobject>
+</mediaobject>
+</figure>
+</para>
+
+<para>
+<xref linkend="fig.DsgnFuncGlobUsg_3" /> illustrates a random number being thrown by 
+explicitly specifying an engine which can be shared by many distribution 
+objects.  The static interface is skipped here. 
+
+<figure id="fig.DsgnFuncGlobUsg_3">
+<title>
+Shooting via distribution objects
+</title>
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="./AllResources/OOAnalysisDesign/GlobalUsage/ObjDiagDist.gif" 
+               format="GIF" contentwidth="10.0cm" align="center" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/OOAnalysisDesign/GlobalUsage/ObjDiagDist.gif" 
+               format="GIF" align="center" />
+  </imageobject>
+</mediaobject>
+</figure>
+</para>
+
+<para>
+<xref linkend="fig.DsgnFuncGlobUsg_4" /> illustrates the situation when many 
+generators are defined, each by a distribution and an engine.  The static 
+interface is skipped here. 
+
+<figure id="fig.DsgnFuncGlobUsg_4">
+<title>
+Shooting with arbitrary engines
+</title>
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="./AllResources/OOAnalysisDesign/GlobalUsage/ObjDiagEng.gif" 
+               format="GIF" contentwidth="10.0cm" align="center" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/OOAnalysisDesign/GlobalUsage/ObjDiagEng.gif" 
+               format="GIF" align="center" />
+  </imageobject>
+</mediaobject>
+</figure>
+</para>
+
+<para>
+For detailed documentation about the HEPRandom classes see the 
+CLHEP Reference Guide(http://cern.ch/clhep/manual/RefGuide)
+or the CLHEP User Manua(http://cern.ch/clhep/manual/UserGuide).
+</para>
+
+<para>
+Informations written in this manual are extracted
+from the original manifesto distributed with the HEPRandom package
+(http://cern.ch/clhep/manual/UserGuide/Random/Random.html). 
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+HEPNumerics
+</bridgehead>
+
+<para>
+The HEPNumerics module includes a set of classes which implement numerical 
+algorithms for general use in Geant4.  The User's Guide 
+for Application Developers contains a description of each class.  Most of 
+the algorithms were implemented using methods from the following books:
+
+<itemizedlist spacing="compact">
+  <listitem><para> 
+    B.H. Flowers, "An introduction to Numerical Methods In C++", 
+    Claredon Press, Oxford 1995.
+  </para></listitem> 
+  <listitem><para>
+    M. Abramowitz, I. Stegun, "Handbook of mathematical functions", 
+    DOVER Publications INC, New York 1965 ; chapters 9, 10, and 22. 
+  </para></listitem>
+</itemizedlist>
+</para>
+
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead renderas='sect4'>
+HEPGeometry
+</bridgehead>
+
+<para>
+Documentation for the HEPGeometry module is provided in the CLHEP 
+Reference Guide(http://cern.ch/clhep/manual/RefGuide) 
+or the CLHEP User Manual(http://cern.ch/clhep/manual/UserGuide). 
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead role="revisionHistory" renderas="sect4">
+[Status of this chapter]
+</bridgehead>
+<para>
+<simplelist type="var">
+  <member>
+    01.12.02 minor update by G. Cosmo
+  </member>
+  <member>
+    18.06.05 introductory paragraphs added and minor grammar changes by D.H. Wright
+  </member>
+  <member>
+    Dec. 2006 Conversion from latex to Docbook verson by K. Amako
+  </member>
+</simplelist>
+</para>
+    
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Hit/hit.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Hit/hit.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Hit/hit.xml	(revision 904)
@@ -0,0 +1,170 @@
+<!-- ******************************************************** -->
+<!--  Docbook Version:  For Toolkit Developers Guide          -->
+<!-- ******************************************************** -->
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.DsgnFuncHitDig">
+<title>
+Hits and Digitization
+</title>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.DsgnFuncHitDig.DsgPhlsp">
+<title>
+Design Philosophy
+</title>
+
+<para>
+In Geant4 a <emphasis role="italic">hit</emphasis> is a snapshot of a 
+physical interaction or an accumulation of interactions of a track or 
+tracks in a ``sensitive'' detector component.  A digitization, or 
+<emphasis role="italic">digit</emphasis>, represents a detector output, 
+such as an ADC/TDC count or a trigger signal.  
+A <emphasis role="italic">digit</emphasis> is created from one or 
+more hits and/or other <emphasis role="italic">digits</emphasis>.  
+</para>
+
+<para>
+Given the wide variety of Geant4 applications, ways of describing detector 
+sensitivity and the quantities to be stored in the 
+<emphasis role="italic">hits</emphasis> and 
+<emphasis role="italic">digits</emphasis> vary greatly.  This category 
+therefore provides only abstract classes for both detector sensitivity and 
+<emphasis role="italic">hits</emphasis>/<emphasis role="italic">digits</emphasis>.  
+It also provides tools for organizing the 
+<emphasis role="italic">hits</emphasis>/<emphasis role="italic">digits</emphasis> 
+into collections.
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.DsgnFuncHitDig.ClassDsg">
+<title>
+Class Design
+</title>
+
+<para>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis role="bold">G4SensitiveDetectorManager</emphasis> -
+    a list of G4SensitiveDetectors.
+  </para></listitem> 
+  <listitem><para>
+    <emphasis role="bold">G4HitsStructure</emphasis> -
+    a tree-like structure of G4Hit collections. Each branch represents the 
+    hits in given sub-detector.  For example, the first level of branches 
+    may consist of a tracker, ECAL, and HCAL, while the second level, in HCAL,
+    consists of the barrel and endcaps. Finally the barrel may have phi-slices, 
+    Z-slices, etc.
+   </para></listitem>
+   <listitem><para>
+     <emphasis role="bold">G4VSensitiveDetector</emphasis> -
+     an abstract class of all of sensitive volumes.
+   </para></listitem>
+   <listitem><para>
+     <emphasis role="bold">G4HitsCollection</emphasis> -
+     a collection of hits. Instantiates an RWCollection class.
+   </para></listitem>
+   <listitem><para>
+     <emphasis role="bold">G4VHit</emphasis> -
+     this class has all the information about a particular hit caused by a 
+     single step.
+   </para></listitem>
+   <listitem><para>
+     <emphasis role="bold">G4VDigitizer</emphasis> -
+     the class of objects which transform the hits deposited by particles into 
+     digitizations.
+   </para></listitem>
+   <listitem><para>
+     <emphasis role="bold">G4DigitizerManager</emphasis> -
+     the (single) object dispatching common messages to individual digitizers.
+   </para></listitem>
+   <listitem><para>
+     <emphasis role="bold">G4VDigi</emphasis> -
+     an abstract (base) class for all G4 digitizations.  This could be data as 
+     simple as a singe byte, or as complex as an Ntuple.
+   </para></listitem>
+   <listitem><para>
+     <emphasis role="bold">G4DigiStructure</emphasis> -
+     digitizations are organized as a structure, which could be anything
+     between a single value and an Ntuple.
+   </para></listitem>
+</itemizedlist> 
+</para>
+
+<para>
+The object-oriented design of the 'hit' related classes is shown in the 
+following class diagrams. The diagrams are described in the Booch notation.  
+<xref linkend="fig.DsgnFuncHitDig_1" /> shows the general management of hit classes.
+<xref linkend="fig.DsgnFuncHitDig_2" /> shows the OO design of user-related hit classes.
+<xref linkend="fig.DsgnFuncHitDig_3" /> shows the OO design of the readout geometry.
+
+<figure id="fig.DsgnFuncHitDig_1">
+<title>
+Overview of hit classes management
+</title>
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata
+fileref="./AllResources/OOAnalysisDesign/Hit/classDgmHitMain.gif" format="GIF" contentwidth="10.0cm"  align="center" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/OOAnalysisDesign/Hit/classDgmHitMain.gif" format="GIF" align="center" />
+  </imageobject>
+</mediaobject>
+</figure>
+
+
+<figure id="fig.DsgnFuncHitDig_2">
+<title>
+User hit classes
+</title>
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata
+fileref="./AllResources/OOAnalysisDesign/Hit/classDgmHitUser.gif" format="GIF"
+contentwidth="10.0cm" align="center" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/OOAnalysisDesign/Hit/classDgmHitUser.gif" format="GIF" align="center" />
+  </imageobject>
+</mediaobject>
+</figure>
+
+<figure id="fig.DsgnFuncHitDig_3">
+<title>
+Readout geometry
+</title>
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="./AllResources/OOAnalysisDesign/Hit/classDgmReadoutGeom.gif" format="GIF" contentwidth="10.0cm" align="center" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/OOAnalysisDesign/Hit/classDgmReadoutGeom.gif" format="GIF" align="center" />
+  </imageobject>
+</mediaobject>
+</figure>
+</para>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead role="revisionHistory" renderas="sect4">
+[Status of this chapter]
+</bridgehead>
+<para>
+<simplelist type="var">
+  <member>
+    27.06.05 section on design philosophy added (from Geant4 general paper) by
+    D.H. Wright
+  </member>
+  <member>
+    Dec. 2006 Conversion from latex to Docbook verson by K. Amako
+  </member>
+</simplelist>
+</para>
+    
+
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Introduction/introduction.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Introduction/introduction.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Introduction/introduction.xml	(revision 904)
@@ -0,0 +1,27 @@
+<!-- ******************************************************** -->
+<!--  Docbook Version:  For Toolkit Developers Guide          -->
+<!-- ******************************************************** -->
+
+<!-- ******************** Top of Section ******************** -->
+<sect1 id="sect.DsgnFuncIntro">
+<title>
+Introduction
+</title>
+
+<para>
+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", or iterative, approach has been adopted.  User requirements 
+were collected in the initial phase and problem domain decomposition, 
+object-oriented methods, and CASE tools were used for analysis and design. 
+This produced a clear hierarchical structure of sub-domains linked by a 
+uni-directional flow of dependencies.  This led to a software product 
+which is modular and flexible (a toolkit) and in which the physics 
+implementation is transparent and open to user validation of physics 
+predictions.  It allows the user to understand, customize and extend the 
+toolkit in all domains.  At the same time the modular architecture allows 
+the user to load only needed components.
+</para>
+
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Materials/materials.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Materials/materials.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Materials/materials.xml	(revision 904)
@@ -0,0 +1,92 @@
+<!-- ******************************************************** -->
+<!--  Docbook Version:  For Toolkit Developers Guide          -->
+<!-- ******************************************************** -->
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.DsgnFuncMateri">
+<title>
+Materials
+</title>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.DsgnFuncMateri.DsgPhlsp">
+<title>
+Design Philosophy
+</title>
+
+<para>
+The design of the materials category reflects what exists in nature: materials 
+are made of a single element or a mixture of elements, and elements are made 
+of a single isotope or a mixture of isotopes.  Because the physical
+properties of materials can be described in a generic way by quantities which 
+can be specified directly, such as density, or derived from the element
+composition, only concrete classes are necessary in this category.
+</para>
+
+<para>
+The material category implements the facilities necessary to describe the 
+physical properties of materials for the simulation of particle-matter 
+interactions.  Characteristics like radiation and interaction length, 
+excitation energy loss, coefficients in the Bethe-Bloch formula, shell 
+correction factors, etc., are computed from the element, and if necessary, 
+the isotope composition. 
+</para>
+
+<para>
+The material category also implements facilities to describe surface 
+properties used in the tracking of optical photons. 
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.DsgnFuncMateri.ClassDsg">
+<title>
+Class Design
+</title>
+
+<para>
+The object-oriented design of the 'materials' related classes
+is shown in the class diagram: 
+<xref linkend="fig.DsgnFuncMateri_1" />. 
+The diagram is described in the Booch notation. 
+
+<figure id="fig.DsgnFuncMateri_1">
+<title>
+</title>
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="./AllResources/OOAnalysisDesign/Materials/classDgmMaterials.gif" 
+               format="GIF" contentwidth="10.0cm" align="center" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/OOAnalysisDesign/Materials/classDgmMaterials.gif" 
+               format="GIF" align="center" />
+  </imageobject>
+</mediaobject>
+</figure>
+</para>
+
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead role="revisionHistory" renderas="sect4">
+[Status of this chapter]
+</bridgehead>
+<para>
+<simplelist type="var">
+  <member>
+    27.06.05 section on design philosophy add (from Geant4 general paper) by 
+    D.H. Wright
+  </member>
+  <member>
+    Dec. 2006 Conversion from latex to Docbook verson by K. Amako
+  </member>
+</simplelist>
+</para>
+    
+
+</sect2>
+</sect1>
+
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Particles/particles.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Particles/particles.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Particles/particles.xml	(revision 904)
@@ -0,0 +1,125 @@
+<!-- ******************************************************** -->
+<!--  Docbook Version:  For Toolkit Developers Guide          -->
+<!-- ******************************************************** -->
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.DsgnFuncParti">
+<title>
+Particles
+</title>
+
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.DsgnFuncParti.DsgPhlsp">
+<title>
+Design Philosophy
+</title>
+
+<para>
+The particles category implements the facilities necessary to describe the 
+physical properties of particles for the simulation of particle-matter 
+interactions.  All particles are based on the 
+<emphasis role="italic"></emphasis>G4ParticleDefinition class,
+which describes basic properties such as mass, charge, etc., and also allows
+the particle to carry a list of processes to which it is sensitive.  A 
+first-level extension of this class defines the interface for particles that 
+carry cuts information, for example range cut versus energy cut equivalence.
+A set of virtual, intermediate classes for leptons, bosons, mesons, baryons,
+etc., allows the implementation of concrete particle classes which define the 
+actual particle properties and, in particular, implement the actual range 
+versus energy cuts equivalence.  All concrete particle classes are 
+instantiated as singletons to ensure that all physics processes refer to the
+same particle properties.
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.DsgnFuncParti.ClassDsg">
+<title>
+Class Design
+</title>
+
+<para>
+The object-oriented design of the 'particles' related classes
+is shown in the following class diagrams. The diagrams are
+described in the Booch notation. 
+<xref linkend="fig.DsgnFuncParti_1" /> shows a general overview of the particle
+classes.  
+<xref linkend="fig.DsgnFuncParti_2" /> shows classes related to the 
+particle table.  <xref linkend="fig.DsgnFuncParti_3" /> shows the classes related 
+to the particle decay table.
+</para>
+
+<figure id="fig.DsgnFuncParti_1">
+<title>
+Particle classes
+</title>
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="./AllResources/OOAnalysisDesign/Particles/classDgmParticlesMain.gif" 
+               format="GIF" contentwidth="10.0cm" align="center" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/OOAnalysisDesign/Particles/classDgmParticlesMain.gif" 
+               format="GIF" align="center" />
+  </imageobject>
+</mediaobject>
+</figure>
+
+
+<figure id="fig.DsgnFuncParti_2">
+<title>
+Particle Table
+</title>
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="./AllResources/OOAnalysisDesign/Particles/classDgmParticleTable.gif" 
+               format="GIF" contentwidth="10.0cm" align="center" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/OOAnalysisDesign/Particles/classDgmParticleTable.gif" 
+               format="GIF" align="center" />
+  </imageobject>
+</mediaobject>
+</figure>
+
+
+<figure id="fig.DsgnFuncParti_3">
+<title>
+Particle Decay Table
+</title>
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="./AllResources/OOAnalysisDesign/Particles/classDgmParticleDecay.gif" 
+               format="GIF" contentwidth="10.0cm" align="center" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/OOAnalysisDesign/Particles/classDgmParticleDecay.gif" 
+               format="GIF" align="center" />
+  </imageobject>
+</mediaobject>
+</figure>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead role="revisionHistory" renderas="sect4">
+[Status of this chapter]
+</bridgehead>
+<para>
+<simplelist type="var">
+  <member>
+    27.06.05 section on design philosophy added (from Geant4 general paper) by
+    D.H. Wright
+  </member>
+  <member>
+    Dec. 2006 Conversion from latex to Docbook verson by K. Amako
+  </member>
+</simplelist>
+</para>
+
+
+</sect2>
+</sect1>
+
+
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/PhysicsProcesses/physicsProcesses.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/PhysicsProcesses/physicsProcesses.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/PhysicsProcesses/physicsProcesses.xml	(revision 904)
@@ -0,0 +1,154 @@
+<!-- ******************************************************** -->
+<!--  Docbook Version:  For Toolkit Developers Guide          -->
+<!-- ******************************************************** -->
+
+<!-- ******************** Top of Section ******************** -->
+<sect1 id="sect.DsgnFuncPhysProc">
+<title>
+Physics Processes
+</title>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.DsgnFuncPhysProc.DsgPhlsp">
+<title>
+Design Philosophy
+</title>
+
+<para>
+The processes category contains the implementations of particle transportation 
+and physical interactions.  All physics process conform to the basic interface 
+<literal>G4VProcess</literal>, but different approaches have been developed for 
+the detailed design of each sub-category.
+</para>
+
+<para>
+For the decay sub-category, the decays of all long-lived, unstable particles 
+are handled by a single process.  This process gets the step length from the
+mean life of the particle.  The generation of decay products requires a 
+knowledge of the branching ratios and/or data distributions stored in the 
+particle class.
+</para>
+
+<para>
+The electromagnetic sub-category is divided further into the following 
+packages:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <literal>standard</literal>: handling basic properties for electron, 
+    positron, photon and hadron interactions,
+  </para></listitem>
+  <listitem><para>
+    <literal>low energy</literal>: providing alternative models extended down 
+    to lower energies than the standard package, 
+  </para></listitem>
+  <listitem><para>
+    <literal>muons</literal>: handling muon interactions,
+  </para></listitem>
+  <listitem><para>
+    <literal>x-rays</literal>: providing specific code for x-ray physics,
+  </para></listitem>
+  <listitem><para>
+    <literal>optical</literal>: providing specific code for optical photons,
+  </para></listitem>
+  <listitem><para>
+    <literal>utils</literal>: collecting utility classes used by the above 
+    packages.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+It provides the features of openness and extensibilty resulting from the use 
+of object-oriented technology;  alternative physics models, obeying the same
+process abstract interface, are often available for a given type of 
+interaction.
+</para>
+
+<para>
+For hadronic physics, an additional set of implementation frameworks was
+added to accommodate the large number of possible modeling approaches.
+The top-level framework provides the basic interface to other Geant4
+categories.  It satisfies the most general use-case for hadronic shower
+simulations, namely to provide inclusive cross sections and final state
+generation.  The frameworks are then refined for increasingly specific
+use-cases, building a hierarchy in which each level implements the 
+interface specified by the level above it.  A given hadronic process may
+be implemented at any one of these levels.  For example, the process 
+may be implemented by one of several models, and each of the models may
+in turn be implemented by several sub-models at the lower framework levels.
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.DsgnFuncPhysProc.ClassDsg">
+<title>
+Class Design
+</title>
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.DsgnFuncPhysProc.ClassDsg.Gen">
+<title>
+General
+</title>
+
+<para>
+The object-oriented design of the generic physics process G4VProcess and its
+relation to the process manager is shown in <xref linkend="fig.DsgnFuncPhysProc_1" />.  
+<xref linkend="fig.DsgnFuncPhysProc_2" /> shows how specific physics processes are 
+related to G4VProcess.
+
+<figure id="fig.DsgnFuncPhysProc_1">
+<title>
+  Management of Physics Processes
+</title>
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="./AllResources/OOAnalysisDesign/PhysicsProcesses/classDgmProcessMain.gif"
+               format="GIF" contentwidth="10.0cm" align="center" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/OOAnalysisDesign/PhysicsProcesses/classDgmProcessMain.gif"
+               format="GIF" align="center" />
+  </imageobject>
+</mediaobject>
+</figure>
+
+<figure id="fig.DsgnFuncPhysProc_2">
+<title>
+  Management of Physics Processes
+</title>
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="./AllResources/OOAnalysisDesign/PhysicsProcesses/classDgmProcessProcesses.gif"
+               format="GIF" contentwidth="10.0cm" align="center" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/OOAnalysisDesign/PhysicsProcesses/classDgmProcessProcesses.gif"
+               format="GIF" align="center" />
+  </imageobject>
+</mediaobject>
+</figure>
+</para>
+
+</sect3>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead role="revisionHistory" renderas='sect4'>
+[Status of this chapter]
+</bridgehead>
+
+<para>
+<simplelist type="var">
+  <member>
+    27.06.05 section on design philosophy added by D.H. Wright
+  </member>
+  <member>
+    Dec. 2006 Conversion from latex to Docbook verson by K. Amako
+  </member>
+</simplelist>
+</para>
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Run/run.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Run/run.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Run/run.xml	(revision 904)
@@ -0,0 +1,70 @@
+<!-- ******************************************************** -->
+<!--  Docbook Version:  For Toolkit Developers Guide          -->
+<!-- ******************************************************** -->
+
+<!-- ******************** Top of Section ******************** -->
+<sect1 id="sect.DsgnFuncRun">
+<title>
+Run
+</title>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.DsgnFuncRun.DsgPhlsp">
+<title>
+Design Philosophy
+</title>
+
+<para>
+The run category manages collections of events that share a common beam and
+detector implementation.
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.DsgnFuncRun.ClssDsg">
+<title>
+Class Design
+</title>
+
+<para>    
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis role="bold">G4Run</emphasis> - This class represents a run.  
+    An object of this class is constructed and deleted by G4RunManager.
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">G4RunManager</emphasis> - the run controller class.  
+    Users must register detector construction, physics list and primary 
+    generator action classes to it.  G4RunManager or a derived class must be 
+    a singleton.
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">G4RunManagerKernel</emphasis> - provides control of 
+    the Geant4 kernel. This class is constructed by G4RunManager.
+  </para></listitem>
+</itemizedlist>
+</para>
+ 
+</sect2>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead role="revisionHistory" renderas='sect4'>
+[Status of this chapter]
+</bridgehead>
+
+<para>
+<simplelist type="var">
+   <member>
+    28.06.05 - under construction 
+  </member>
+   <member>
+    December 2006 - Converted from latex to Docbook by K. Amako
+  </member>
+</simplelist>
+</para>
+
+
+</sect1>
+
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Tracking/tracking.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Tracking/tracking.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Tracking/tracking.xml	(revision 904)
@@ -0,0 +1,635 @@
+<!-- ******************************************************** -->
+<!--  Docbook Version:  For Toolkit Developers Guide          -->
+<!-- ******************************************************** -->
+
+<!-- ******************** Top of Section ******************** -->
+<sect1 id="sect.DsgnFuncTracking">
+<title>
+Tracking
+</title>
+
+<para>
+The tracking category manages the contribution of the processes to the 
+evolution of a track's state and provides information in sensitive volumes 
+for hits and digitization.
+</para>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.DsgnFuncTracking.DsgPhlsp">
+<title>
+Design Philosophy
+</title>
+
+<para>
+It is well known that the overall performance of a detector 
+simulation depends critically on the CPU time spent
+propagating the particle through one step.  The most 
+important consideration in the object design of the tracking 
+category is maintaining high execution speed in the Geant4
+simulation while utilizing the power of the object-oriented
+approach. 
+</para>
+
+<para>
+An extreme approach to the particle tracking design would be
+to integrate all functionalities required for the propagation
+of a particle into a single class.  This design approach looks 
+object-oriented because a particle in the real world 
+propagates by itself while interacting with the material 
+surrounding it.  However, in terms of data hiding, which is 
+one of the most important ingredients in the object-oriented 
+approach, the design can be improved.
+</para>
+
+<para>
+Combining all the necessary functionalities into a single 
+class exposes all the data attributes to a large number of 
+methods in the class.  This is basically equivalent to using 
+a common block in Fortran.
+</para>
+
+<para>
+Instead of the 'big-class' approach, a hierarchical design
+was employed by Geant4.  The hierarchical approach, which 
+includes inheritance and aggregation, enables large, complex 
+software systems to be designed in a structured way.  The 
+simulation of a particle passing through matter is
+a complex task involving particles, detector geometry, physics 
+interactions and hits in the detector.  It is well-suited to
+the hierarchical approach.  The hierarchical design manages the 
+complexity of the tracking category by separating the system 
+into layers.  Each layer may then be designed independently of 
+the others. 
+</para>
+
+<para>
+In order to maintain high-performance tracking, use of the 
+inheritance ('is-a' relation) hierarchy in the tracking category
+was avoided as much as possible.  For example, <literal>track</literal> 
+and <literal>particle</literal> classes might have been designed so that a 
+<literal>track</literal> 'is a' <literal>particle</literal>.  In this 
+scheme, however, whenever a <literal>track</literal> object is used, 
+time is spent copying the data from the <literal>particle</literal> object 
+into the <literal>track</literal> 
+object.  Adopting the aggregation ('has-a' relation) hierarchy 
+requires only pointers to be copied, thus providing a 
+performance advantage.
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.DsgnFuncTracking.DsgClass">
+<title>
+Class Design
+</title>
+
+<para>
+<xref linkend="fig.DsgnFuncTracking_1" /> shows a general overview of the 
+tracking design in Unified Modelling Language Notation.
+
+<figure id="fig.DsgnFuncTracking_1">
+<title>
+  Tracking design
+</title>
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="./AllResources/OOAnalysisDesign/Tracking/classDgmTracking.gif"
+               format="GIF" contentwidth="10.0cm" align="center" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/OOAnalysisDesign/Tracking/classDgmTracking.gif"
+               format="GIF" align="center" />
+  </imageobject>
+</mediaobject>
+</figure>
+
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis role="bold">G4TrackingManager</emphasis> is an interface 
+    between the event and track categories and the tracking category.  
+    It handles the message passing between the upper hierarchical object, 
+    which is the event manager (<literal>G4EventManagerz</literal>), 
+    and lower hierarchical objects in the tracking category.  
+    <literal>G4TrackingManager</literal> is responsible for processing 
+    one track which it receives from the event manager.
+    </para>
+    <para>
+    <literal>G4TrackingManager</literal> aggregates the pointers to 
+    <literal>G4SteppingManager</literal>, <literal>G4Trajectory</literal> 
+    and <literal>G4UserTrackingAction</literal>.  It also has a 'use' 
+    relation to <literal>G4Track</literal>. 
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">G4SteppingManager</emphasis>  plays an essential 
+    role in particle tracking.  It performs message passing to objects 
+    in all categories related to particle transport, such as 
+    geometry and physics processes.  Its public method 
+    <literal>Stepping()</literal> steers the stepping of the particle.  
+    The algorithm employed in this method is basically the same as that 
+    in Geant3.  The Geant4 implementation, however, relies on the inheritance 
+    hierarchy of the physics interactions.  The hierarchical 
+    design of the physics interactions enables the stepping 
+    manager to handle them as abstract objects.  Hence, the manager 
+    is not concerned with concrete interaction objects such as 
+    bremsstrahlung or pair creation.  The actual invocations of 
+    various interactions during the stepping are done through a
+    dynamic binding mechanism.  This mechanism shields the 
+    tracking category from any change in the design of the physics 
+    process classes, including the addition or subtraction of new
+    processes.
+    </para>
+    <para>
+    <literal>G4SteppingManager</literal> also aggregates 
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        the pointers to <literal>G4Navigator</literal> from the geometry 
+        category, to the current <literal>G4Track</literal>, and
+      </para></listitem>
+      <listitem><para>
+        the list of secondaries from the current track 
+        (through a <literal>G4TrackVector</literal>) to 
+        <literal>G4UserSteppingAction</literal> and to 
+        <literal>G4VSteppingVerbose</literal>.
+      </para></listitem>
+    </itemizedlist>
+     It also has a 'use' relation to <literal>G4ProcessManager</literal> 
+     and <literal>G4ParticleChange</literal> in the physics processes 
+     class category. 
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">G4Track</emphasis> - the class 
+    <literal>G4Track</literal> represents a particle 
+    which is pushed by <literal>G4SteppingManager</literal>.  It holds 
+    information required for stepping a particle, for example, the 
+    current position, the time since the start of stepping, the 
+    identification of the geometrical volume which contains the particle, 
+    etc.  Dynamic information, such as particle momentum and energy, 
+    is held in the class through a pointer to the 
+    <literal>G4DynamicParticle</literal> class.  Static 
+    information, such as the particle mass and charge is stored in the 
+    <literal>G4DynamicParticle</literal> class through the pointer to the 
+    <literal>G4ParticleDefinition</literal> class.  Here the aggregation 
+    hierarchical design is extensively employed to maintain high tracking 
+    performance.
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">G4TrajectoryPoint and G4Trajectory</emphasis>  - 
+    the class  <literal>G4TrajectoryPoint</literal> holds the state of 
+    the particle after propagating one step.  Among other things, it 
+    includes information on space-time, energy-momentum and geometrical 
+    volumes.
+    </para>
+    <para>
+    <literal>G4Trajectory</literal> aggregates all 
+    <literal>G4TrajectoryPoint</literal> objects which belong to the 
+    particle being propagated. 
+    <literal>G4TrackingManager</literal> takes care of adding the 
+    <literal>G4TrajectoryPoint</literal> to a <literal>G4Trajectory</literal> 
+    object if the user requested it (see 
+    <ulink url="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/index.html">
+    Geant4 User's Guide - For Application Developers</ulink>. 
+    The life of a <literal>G4Trajectory</literal> object spans an event, contrary to 
+    <literal>G4Track</literal> objects, which are deleted from memory after being 
+    processed.
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">G4UserTrackingAction and G4UserSteppingAction</emphasis> - 
+    <literal>G4UserTrackingAction</literal> is a base class from which user actions 
+    at the beginning or end of tracking may be derived.  Similarly, 
+    <literal>G4UserSteppingAction</literal> is a base class from which user actions 
+    at the beginning or end of each step may be derived. 
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.DsgnFuncTracking.TrkAlgo">
+<title>
+Tracking Algorithm
+</title>
+
+<para>
+The key classes for tracking in Geant4 are 
+<literal>G4TrackingManager</literal> and <literal>G4SteppingManager</literal>.  
+The singleton object "TrackingManager" from <literal>G4TrackingManager</literal> 
+keeps all information related to a particular track, and it 
+also manages all actions necessary to complete the tracking.  The 
+tracking proceeds by pushing a particle by a step, the length 
+of which is defined by one of the active processes.
+The "TrackingManager" object delegates management of each of the 
+steps to the "SteppingManager" object.  This object keeps all 
+information related to a particular step. 
+</para>
+
+<para>
+The public method <literal>ProcessOneTrack()</literal> in 
+<literal>G4TrackingManager</literal> 
+is the key to managing the tracking, while the public method 
+<literal>Stepping()</literal> is the key to managing one step.  The algorithms 
+used in these methods are explained below.
+</para>
+
+<para>
+<emphasis role="bold">ProcessOneTrack() in G4TrackingManager</emphasis>
+
+<orderedlist spacing="compact">
+  <listitem><para>
+    Actions before tracking the particle: Clear secondary particle vector  
+  </para></listitem>
+  <listitem><para>
+    Pre tracking user intervention process. 
+  </para></listitem>
+  <listitem><para>
+    Construct a trajectory if it is requested
+  </para></listitem>
+  <listitem><para>
+    Give SteppingManager the pointer to the track which will be tracked
+  </para></listitem>
+  <listitem><para>
+    Inform beginning of tracking to physics processes
+  </para></listitem>
+  <listitem><para>
+    Track the particle Step-by-Step while it is alive
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Call Stepping method of G4SteppingManager
+      </para></listitem>
+      <listitem><para>
+        Append a trajectory point to the trajectory object if it is requested    
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    Post tracking user intervention process. 
+  </para></listitem>
+  <listitem><para>
+    Destroy the trajectory if it was created
+  </para></listitem>
+</orderedlist>
+</para>
+
+<para>
+<emphasis role="bold">Stepping() in G4SteppingManager</emphasis>
+
+<orderedlist spacing="compact">
+  <listitem><para>
+    Initialize current step
+  </para></listitem>
+  <listitem><para>
+    If particle is stopped, get the minimum life time from all the at rest 
+    processes and invoke InvokeAtRestDoItProcs for the selected AtRest 
+    processes
+  </para></listitem>
+  <listitem><para>
+    If particle is not stopped:
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Invoke DefinePhysicalStepLength, that finds the minimum 
+        step length demanded by the active processes 
+      </para></listitem>
+      <listitem><para>
+        Invoke InvokeAlongStepDoItProcs
+      </para></listitem>
+      <listitem><para>
+        Update current track properties by taking into account all 
+        changes by AlongStepDoIt
+      </para></listitem>
+      <listitem><para>
+        Update the <emphasis role="bold">safety</emphasis>
+      </para></listitem>
+      <listitem><para>
+        Invoke PostStepDoIt of the active discrete process.
+      </para></listitem>
+      <listitem><para>
+        Update the track length
+      </para></listitem>
+      <listitem><para>
+        Send G4Step information to Hit/Dig if the volume is sensitive
+      </para></listitem>
+      <listitem><para>
+        Invoke the user intervention process.
+      </para></listitem>
+      <listitem><para>
+        Return the value of the StepStatus.
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+</orderedlist>
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.DsgnFuncTracking.IntPhysProc">
+<title>
+Interaction with Physics Processes
+</title>
+
+<para>
+The interaction of the tracking category with the physics processes 
+is done in two ways.  First each process can limit the step length 
+through one of its three <literal>GetPhysicalInteractionLength()</literal> 
+methods, AtRest, AlongStep, or PostStep.  Second, for the selected processes 
+the DoIt (AtRest, AlongStep or PostStep) methods are invoked. 
+All this interaction is managed by the Stepping method of 
+<literal>G4SteppingManager</literal>.  To calculate the step length, the 
+<literal>DefinePhysicalStepLength()</literal> method is called.  The flow of 
+this method is the following:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Obtain maximum allowed Step in the volume define by the user 
+    through G4UserLimits.
+  </para></listitem>
+  <listitem><para>
+    The PostStepGetPhysicalInteractionLength of all active processes 
+    is called.  Each process returns a step length and the minimum
+    one is chosen.  This method also returns a G4ForceCondition flag, 
+    to indicate if the process is forced or not:
+        = Forced    : Corresponding PostStepDoIt is forced.
+        = NotForced : Corresponding PostStepDoIt is not forced 
+                      unless this process limits the step.
+        = Conditionally : Only when AlongStepDoIt limits the 
+                          step, corresponding PoststepDoIt is invoked.
+        = ExclusivelyForced : Corresponding PostStepDoIt is exclusively 
+                              forced.
+    All other DoIt including AlongStepDoIts are ignored.
+  </para></listitem>
+  <listitem><para>
+    The AlongStepGetPhysicalInteractionLength method of all active 
+    processes is called.  Each process returns a step length and the 
+    minimum of these and the 
+    This method also returns a fGPILSelection flag, to indicate if 
+    the process is the selected one can be is forced or not:
+        = CandidateForSelection: this process can be the winner.  If 
+          its step length is the smallest, it will be the process 
+          defining the step (the process 
+        = NotCandidateForSelection: this process cannot be the winner. 
+          Even if its step length is taken as the smallest, it will not 
+          be the process defining the step 
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+The method <literal>G4SteppingManager::InvokeAlongStepDoIts()</literal> 
+is in charge of calling the AlongStepDoIt methods of the different 
+processes:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    If the current step is defined by a 'ExclusivelyForced' 
+    PostStepGetPhysicalInteractionLength, no AlongStepDoIt method will be invoked
+  </para></listitem>
+  <listitem><para>
+    Else, all the active continuous processes will be invoked, and they return 
+    the ParticleChange. After it for each process the following is executed:
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Update the G4Step information by using final state information of the 
+        track given by a physics process. This is done through the 
+        UpdateStepForAlongStep method of the ParticleChange
+      </para></listitem>
+      <listitem><para>
+        Then for each secondary:
+        <itemizedlist spacing="compact">
+          <listitem><para>
+            It is checked if its kinetic energy is smaller than the energy 
+            threshold for the material. In this case the particle is assigned a 0. 
+            kinetic energy and its energy is added as deposited energy of the 
+            parent track. This check is only done if the flag ApplyCutFlag is set 
+            for the particle (by default it is set to 'false' for all particles, 
+            user may change it in its G4VUserPhysicsList). 
+            If the track has the flag IsGoodForTracking 'true' this check will 
+            have no effect (used mainly to track particles below threshold)
+          </para></listitem>
+          <listitem><para>
+            The parentID and the process pointer which created this track are set    
+          </para></listitem>
+          <listitem><para>
+            The secondary track is added to the list of secondaries. If it has 0. 
+            kinetic energy, it is only added if it it invokes a rest process at 
+            the beginning of the tracking
+          </para></listitem>
+        </itemizedlist>
+      </para></listitem>
+      <listitem><para>
+        The track status is set according to what the process defined
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+The method <literal>G4SteppingManager::InvokePostStepDoIts</literal> is on 
+charge of calling the PostStepDoIt methods of the different processes.
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Invoke the PostStepDoIt methods of the specified discrete process 
+    (the one selected by the PostStepGetPhysicalInteractionLength, and they 
+    return the ParticleChange. The order of invocation of processes is 
+    inverse to the order used for the GPIL methods.
+    After it for each process the following is executed:
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Update PostStepPoint of Step according to ParticleChange 
+      </para></listitem>
+      <listitem><para>
+        Update G4Track according to ParticleChange after each PostStepDoIt
+      </para></listitem>
+      <listitem><para>
+        Update safety after each invocation of PostStepDoIts
+      </para></listitem>
+      <listitem><para>
+        The secondaries from ParticleChange are stored to SecondaryList
+      </para></listitem>
+      <listitem><para>
+        Then for each secondary:
+        <itemizedlist spacing="compact">
+          <listitem><para>
+            It is checked if its kinetic energy is smaller than the energy 
+            threshold for the material. In this case the particle is assigned a 0. 
+            kinetic energy and its energy is added as deposited energy of the 
+            parent track. This check is only done if the flag ApplyCutFlag is set 
+            for the particle (by default it is set to 'false' for all particles, 
+            user may change it in its G4VUserPhysicsList). 
+            If the track has the flag IsGoodForTracking 'true' this check will 
+            have no effect (used mainly to track particles below threshold)
+          </para></listitem>
+          <listitem><para>
+            The parentID and the process pointer which created this track are set
+          </para></listitem>
+          <listitem><para>
+            The secondary track is added to the list of secondaries. If it has 0. 
+            kinetic energy, it is only added if it it invokes a rest process at 
+            the beginning of the tracking
+          </para></listitem>
+        </itemizedlist>
+      </para></listitem>
+      <listitem><para>
+        The track status is set according to what the process defined
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+The method <literal>G4SteppingManager::InvokeAtRestDoIts</literal> is called 
+instead of the three above methods in case the track status is 
+<emphasis role="bold">fStopAndALive</emphasis>. It is on charge of selecting 
+the rest process which has the shortest time before and then invoke it:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    To select the process with shortest tiem, the AtRestGPIL method of all 
+    active processes is called. 
+    Each process returns an lifetime and the minimum one is chosen.
+    This method returm also a G4ForceCondition flag, to indicate if the process 
+    is forced or not:
+        = Forced    : Corresponding AtRestDoIt is forced.
+        = NotForced : Corresponding AtRestDoIt is not forced 
+                      unless this process limits the step.
+  </para></listitem>
+  <listitem><para>
+    Set the step length of current track and step to 0.
+  </para></listitem>
+  <listitem><para>
+    Invoke the AtRestDoIt methods of the specified at rest process, and they 
+    return the ParticleChange. The order of invocation of processes is 
+    inverse to the order used for the GPIL methods.
+    </para>
+    <para>
+    After it for each process the following is executed:
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        Set the current process as a process which defined this Step length.
+      </para></listitem>
+      <listitem><para>
+        Update the G4Step information by using final state information of the 
+        track given by a physics process. This is done through the 
+        UpdateStepForAtRest method of the ParticleChange.
+      </para></listitem>
+      <listitem><para>
+        The secondaries from ParticleChange are stored to SecondaryList
+      </para></listitem>
+      <listitem><para>
+        Then for each secondary:
+        <itemizedlist spacing="compact">
+          <listitem><para>
+            It is checked if its kinetic energy is smaller than the energy 
+            threshold for the material. In this case the particle is assigned a 0. 
+            kinetic energy and its energy is added as deposited energy of the 
+            parent track. 
+            This check is only done if the flag ApplyCutFlag is set for the 
+            particle (by default it is set to 'false' for all particles, user may 
+            change it in its G4VUserPhysicsList). 
+            If the track has the flag IsGoodForTracking 'true' this check will 
+            have no effect (used mainly to track particles below threshold)
+          </para></listitem>
+          <listitem><para>
+            The parentID and the process pointer which created this track are set
+          </para></listitem>
+          <listitem><para>
+            The secondary track is added to the list of secondaries. If it has 0. 
+            kinetic energy, it is only added if it it invokes a rest process at 
+            the beginning of the tracking
+          </para></listitem>
+        </itemizedlist>
+      </para></listitem>
+      <listitem><para>
+        The track is updated and its status is set according to what the process 
+        defined
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.DsgnFuncTracking.OrderPhysProc">
+<title>
+Ordering of Methods of Physics Processes
+</title>
+
+<para>
+The ProcessManager of a particle is responsible for providing the 
+correct ordering of process invocations.  <literal>G4SteppingManager</literal> 
+invokes the processes at each phase just following the order given 
+by the ProcessManager of the corresponding particle. 
+</para>
+
+<para>
+For some processes the order is important.
+Geant4 provides by default the right ordering. 
+It is always possible for the user to choose the order of process 
+invocations at the initial set up phase of Geant4. 
+This default ordering is the following:
+
+<orderedlist spacing="compact">
+  <listitem><para>
+    Ordering of GetPhysicalInteractionLength 
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        In the loop of GetPhysicalInteractionLength of AlongStepDoIt, 
+        the Transportation process has to be invoked at the end.
+      </para></listitem>
+      <listitem><para>
+        In the loop of GetPhysicalInteractionLength of AlongStepDoIt, 
+        the Multiple Scattering process has to be invoked just before 
+        the Transportation process.
+      </para></listitem>
+    </itemizedlist>
+  </para></listitem>
+  <listitem><para>
+    Ordering of DoIts
+    <itemizedlist spacing="compact">
+      <listitem><para>
+        There is only some special cases. For example, the Cherenkov 
+        process needs the energy loss information of the current step 
+        for its DoIt invocation. Therefore, the EnergyLoss process has 
+        to be invoked before the Cherenkov process. This ordering is 
+        provided by the process manager. Energy loss information 
+        necessary for the Cherenkov process is passed using G4Step 
+        (or the static dE/dX table is used together with the step length 
+        information in G4Step to obtain the energy loss information). 
+        Any other?
+      </para></listitem>
+    </itemizedlist> 
+  </para></listitem>
+</orderedlist>
+</para>
+
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead role="revisionHistory" renderas='sect4'>
+[Status of this chapter]
+</bridgehead>
+
+<para>
+<simplelist type="var">
+  <member>
+    Nov. 1998 created by K. Amako
+  </member>
+  <member>
+    10.06.02 partially re-written by D.H. Wright
+  </member>
+  <member>
+    14.11.02 updated and partially re-written by P. Arce
+  </member>
+  <member>
+    Dec. 2006 Converted from latex to Docbook by K. Amako
+  </member>
+</simplelist>
+</para>
+
+</sect2>
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/UserInterface/userInterface.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/UserInterface/userInterface.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/UserInterface/userInterface.xml	(revision 904)
@@ -0,0 +1,122 @@
+<!-- ******************************************************** -->
+<!--  Docbook Version:  For Toolkit Developers Guide          -->
+<!-- ******************************************************** -->
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.DsgnFuncIntrCm">
+<title>
+Intercoms
+</title>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.DsgnFuncIntrCm.DsgPhlsp">
+<title>
+Design Philosophy
+</title>
+
+<para>
+The intercoms category implements an expandable command interpreter which 
+is the key mechanism in Geant4 for realizing customizable and 
+state-dependent user interactions with all categories without being 
+perturbed by the dependencies among classes.  The capturing of commands is 
+handled by a C++ abstract class <emphasis role="italic">G4UIsession</emphasis>.  
+Various concrete  implementations of the command capturer are contained in 
+the [user] interfaces category.  Taking into account the rapid evolution 
+of graphical user interface (GUI) technology and consequent dependence on 
+external facilities, plural and extensible GUIs are offered.
+</para>
+
+<para>
+Programmers need only know how to register the commands and parameters 
+appropriate to their problem domain;  no knowledge of GUI programming is 
+required to allow an application to use them through one of the available 
+GUIs.
+</para>
+
+<para>
+The intercoms category also provides the virtual base classes
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    G4VVisManager,
+  </para></listitem>
+  <listitem><para>
+    G4VGraphicsScene, and
+  </para></listitem>
+  <listitem><para>
+    G4VGlobalFastSimulationManager.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.DsgnFuncIntrCm.ClassDsg">
+<title>
+Class Design
+</title>
+
+<para>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis role="bold">G4UISession</emphasis> -
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">G4UIBatch</emphasis> -
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">G4UICommand</emphasis> -
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">G4UIparameter</emphasis> -
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">G4UImessenger</emphasis> -
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+The object-oriented design of the 'user interface' related classes
+is shown in the class diagram <xref linkend="fig.DsgnFuncIntrCm_1" />. 
+The diagram is described in the Booch notation. 
+
+<figure id="fig.DsgnFuncIntrCm_1">
+<title>
+Overview of intercom classes
+</title>
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="./AllResources/OOAnalysisDesign/UserInterface/classDgmUserInterface.gif" 
+               format="GIF" contentwidth="10.0cm" align="center" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/OOAnalysisDesign/UserInterface/classDgmUserInterface.gif" 
+               format="GIF" align="center" />
+  </imageobject>
+</mediaobject>
+</figure>
+</para>
+
+</sect2>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead role="revisionHistory" renderas='sect4'>
+[Status of this chapter]
+</bridgehead>
+
+<para>
+<simplelist type="var">
+  <member>
+    27.06.05 design philosophy (from Geant4 general paper) and class design 
+    sections added by D.H. Wright
+  </member>
+  <member>
+    Dec. 2006 Conversion from latex to Docbook verson by K. Amako
+  </member>
+</simplelist>
+</para>
+
+
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Visualization/visualization.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Visualization/visualization.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/OOAnalysisDesign/Visualization/visualization.xml	(revision 904)
@@ -0,0 +1,664 @@
+<!-- ******************************************************** -->
+<!--  Docbook Version:  For Toolkit Developers Guide          -->
+<!-- ******************************************************** -->
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.DsgnFuncVis">
+<title>
+Visualisation
+</title>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.DsgnFuncVis.DsgPhlsp">
+<title>
+Design Philosophy
+</title>
+
+<para>
+The visualisation category consists of the classes required to display
+detector geometry, particle trajectories, tracking steps, and hits.  It also 
+provides visualisation drivers, which are interfaces to external graphics 
+systems.  
+</para>
+
+<para>
+A wide variety of user requirements went into the design of the visualisation 
+category, for example:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    very quick response in surveying successive events,
+  </para></listitem>
+  <listitem><para>
+    high-quality output for presentation and documentation,
+  </para></listitem>
+  <listitem><para>
+    flexible camera control for debugging detector geometry and physics,
+  </para></listitem>
+  <listitem><para>
+    selection of visualisable objects,
+  </para></listitem>
+  <listitem><para>
+    interactive picking of graphical objects for attribute editing or 
+    feedback to the associated data,
+  </para></listitem>
+  <listitem><para>
+    highlighting incorrect intersections of physical volumes,
+  </para></listitem>
+  <listitem><para>
+    co-working with graphical user interfaces.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+Because it is very difficult to respond to all of these requirements
+with only one built-in visualiser, an abstract interface was developed
+which supports several complementary graphics systems.  Here the term
+<emphasis role="bold">graphics system</emphasis> means either an 
+application running as a process independent of Geant4 or a graphics 
+library to be compiled with Geant4.  A concrete implementation of the
+interface is called a <emphasis role="bold">visualisation driver</emphasis>, 
+which can use a graphics library directly, communicate with an 
+independent process via pipe or socket, or simply write an intermediate 
+file for a separate viewer.
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.DsgnFuncVis.GrphIntrf">
+<title>
+The Graphics Interfaces
+</title>
+
+<para>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis role="bold"></emphasis>G4VVisManager: 
+    All user code writes to the graphics systems
+    through this pure abstract interface.  It contains Draw methods for
+    all the graphics primitives in the graphics_reps category
+    (G4Polyline, G4Circle, etc.), geometry objects (through their base
+    classes, G4VSolid, G4PhysicalVolume and G4LogicalVolume) and hits and
+    trajectories (through their base classes, G4VHit and G4VTrajectory).
+    </para>
+    <para>
+    Since this is an abstract interface, all user code must check that
+    there exists a concrete instantiation of it.  A static method is
+    provided, so a typical user code fragment is:
+
+    <informalexample><programlisting>
+  G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance();
+  if(pVVisManager) {
+    pVVisManager-&gt;Draw(G4Circle...
+    ...
+    </programlisting></informalexample>
+    </para>
+    <para>
+    Note that this allows the building an application without a concrete
+    implementation, for example for a batch job, even if some code, like
+    the above, is still included.  Most of the novice examples can be
+    built this way if G4VIS_NONE is specified.
+    </para>
+    <para>
+    The concrete implementation of this interface is hereafter
+    referred to as the <emphasis role="bold">visualisation manager</emphasis>.
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">G4VGraphicsScene</emphasis>: 
+    The visualisation manager must also
+    provide a concrete implementation of the subsidiary interface,
+    G4VGraphicsScene.  It is only for use by the kernel and the modeling
+    category.  It offers direct access to a ``scene handler'' through a
+    reference provided by the visualisation manager.  It is described in
+    more detail in the section on extending the toolkit functionality.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+The Geant4 distribution includes implementations of the above
+interfaces, namely <emphasis role="bold">G4VisManager</emphasis> 
+and <emphasis role="bold">G4VSceneHandler</emphasis>
+respectively, and their associated classes.  These define further
+abstract base classes for visualisation drivers.  Together they form
+the <emphasis role="bold">Geant4 Visualisation System</emphasis>.  
+A variety of concrete visualisation drivers are also included 
+in the distribution.  Details of how to implement a visualisation 
+driver are given in <xref linkend="sect.ExtdFuncVis" />.
+Of course, it is always possible for
+a user to implement his or her own concrete implementations of
+G4VVisManager and G4VGraphicsScene replacing the Geant4 Visualisation
+System altogether.
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.DsgnFuncVis.VisSystm">
+<title>
+The Geant4 Visualisation System
+</title>
+
+<para>
+The Geant4 Visualisation System consists of
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis role="bold">G4VisManager</emphasis>: An implementation 
+    of the G4VVisManager
+    interface.  It manages multiple graphics systems and defines three
+    more concepts -- the <emphasis role="bold">scene</emphasis> (G4Scene), 
+    the <emphasis role="bold">scene handler</emphasis>
+    (base class G4VSceneHandler, itself a sub-class of G4VGraphicsScene)
+    and the <emphasis role="bold">viewer</emphasis> (base class G4VViewer) 
+    -- see below.
+    G4VisManager is a singleton and an abstract class, requiring the
+    user to derive from it a concrete visualisation manager
+    (G4VisExecutive is provided -- see below).  Roles and structure of
+    the visualisation manager are described in Chapter 8 of the User's
+    Guide for Application Developers.
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">G4VisExecutive</emphasis>: A concrete visualisation 
+    manager that implements the virtual functions RegisterGraphicsSystems and
+    RegisterModelFactories.  These functions must be in the users'
+    domain, since the graphics systems and models that are instantiated
+    by them are, in many cases, provided by the user (graphics
+    libraries, etc.).  It is therefore implemented as a .hh-.icc
+    combination that is designed to be included in the users' code.  Of
+    course, the user may write his or her own.
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">G4Scene</emphasis> The scene is a list if 
+    models for physical
+    volumes, axes, hits, trajectories, etc. - see Section
+    <xref linkend="sect.DsgnFuncVis.MdlCat" />. 
+    They are distinguished according to their
+    lifetime -- ``run-duration'' for physical volumes, etc.,
+    ``end-of-event'' for hits and trajectories, etc.  The end-of-event
+    models are only to be used when the Geant4 state indicates the end
+    of event has been reached.  The scene has an 
+    <emphasis role="bold">extent</emphasis> (G4VisExtent), 
+    which is updated by the scene when a new model is
+    added (each model itself has an extent), and a ``standard'' target
+    point; these are used to define the standard view -- see
+    below.  In addition, the scene keeps flags which indicate whether
+    end-of-event objects should be accumulated or refreshed for each
+    event or run.
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">G4VGraphicsSystem</emphasis>: This is an 
+    abstract base class for scene
+    handler and viewer factories.  It is used by the visualisation
+    manager to create scene handlers and viewers on request.
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">G4VSceneHandler</emphasis>: A sub-class of 
+    G4VGraphicsScene, itself an abstract base class for specific scene 
+    handlers, whose job is to
+    convert the scene into graphics-system-specific code for the viewer.
+    For example, the scene handler may create a graphical database,
+    taking care to separate run-duration (persistent) and end-of-event
+    (transient) information (this is described further in 
+    <xref linkend="sect.ExtdFuncVis.CrtGrpDrv.DlgTrnsObj" />.
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">G4VViewer</emphasis>: An abstract base class 
+    for specific viewers.
+    Its job is to create windows or files and identify where and how the
+    final view should be rendered.  It has 
+    <emphasis role="bold">view parameters</emphasis>
+    (G4ViewParameters) which specify viewpoint direction, type of
+    rendering (wireframe or surface), etc.  It is the view's
+    responsibility, noting the scene's extent and target point, to
+    choose a camera position and magnification that ensures that the
+    scene is automatically and comfortably rendered in the viewing
+    window.  This is then the <emphasis role="bold">standard view</emphasis>, 
+    and any further
+    operations requested by the user - zoom, pan, etc. - are
+    relative to this standard view.  The class G4ViewParameters has
+    utility routines to assist this procedure; it is strongly advised
+    that toolkit developers writing a viewer should study the
+    G4ViewParameters class, whose header file contains much useful
+    information (also preserved in the Software Reference Manual).
+    </para>
+    <para>
+    The viewer is messaged by the vis manager when the user issues
+    commands, such as <literal>/vis/viewer/refresh</literal>.  
+    This invokes methods
+    such as SetView, ClearView and DrawView.  A detailed description of
+    the call sequences is given in 
+    <xref linkend="sect.ExtdFuncVis.CrtGrpDrv.ImpCmdAct" />-
+    <xref linkend="sect.ExtdFuncVis.CrtGrpDrv.WhtPrcScn" />.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+Note there is no restriction on the number or type of scene handlers
+or viewers.  There may be several scene handlers processing the same
+or different scenes, each with several viewers (for example, the same
+scene from differing viewpoints).
+</para>
+
+<para>
+By defining a set of three C++ classes inheriting from the virtual
+base classes - G4VGraphicsSystem, G4VSceneHandler and G4VViewer - an
+arbitrary graphics system can easily be plugged in to Geant4.
+The plugged-in graphics system is then available for visualising
+detector simulations.  Together, this set of three concrete classes is
+called a "visualisation driver".  The DAWN-File driver, for example,
+is the interface to the Fukui Renderer DAWN, and is implemented by the
+following set of classes:
+
+<orderedlist spacing="compact">
+  <listitem><para>
+    G4DAWNFILE : public G4VGraphicsSystem for creation of the 
+    scene handlers and viewers 
+  </para></listitem>
+  <listitem><para>
+    G4DAWNFILESceneHandler : public G4VSceneHandler for 
+    modeling 3D scenes
+  </para></listitem> 
+  <listitem><para>
+    G4DAWNFILEView : public G4VView for rendering 3D scenes 
+  </para></listitem>
+</orderedlist>
+</para>
+
+<para>
+Several visualisation drivers are distributed with Geant4.  They are 
+complementary to each other in many aspects. For details, see Chapter 8 of 
+the User's Guide for Application Developers. 
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.DsgnFuncVis.MdlCat">
+<title>
+Modeling sub-category
+</title>
+
+<para>
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis role="bold">G4VModel</emphasis> - 
+    a base class for visualisation models.  A model is a
+    graphics-system-independent description of a Geant4 component.
+    </para>
+    <para>
+    The sub-category visualisation/modeling defines how to model a 3D
+    scene for visualisation. The term "3D scene" indicates a set of
+    visualisable component objects put in a 3D world. A concrete class
+    inheriting from the abstract base class G4VModel defines a "model",
+    which describes how to visualise the corresponding component object
+    belonging to a 3D scene. G4ModelingParameters defines various
+    associated parameters.
+    </para>
+    <para>
+    For example, G4PhysicalVolumeModel knows how to visualise 
+    a physical volume. It describes a physical volume
+    and its daughters to any desired depth. G4HitsModel knows 
+    how to visualise hits. G4TrajectoriesModel
+    knows how to visualise trajectories.
+    </para>
+    <para>
+    The main task of a model is to describe itself to a 3D scene by 
+    giving a concrete implementation of the following virtual
+    method of G4VModel: 
+
+    <informalexample><programlisting>
+    virtual void DescribeYourselfTo (G4VGraphicsScene&amp;) = 0;
+    </programlisting></informalexample>
+    </para>
+    <para>
+    The argument class G4VGraphicsScene is a minimal abstract 
+    interface of a 3D scene for the Geant4 kernel defined in the
+    graphics_reps category. Since G4VSceneHandler and its concrete 
+    descendants inherit from G4VGraphicsScene, the
+    method DescribeYourselfTo() can pass information of a 3D scene 
+    to a visualisation driver. 
+    </para>
+    <para>
+    It is easy for a toolkit developer of Geant4 to add a new kind 
+    of visualisable component object. It is done by implementing a
+    new class inheriting from G4VModel.
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">G4VTrajectoryModel</emphasis> - 
+    an abstract base class for trajectory drawing models. 
+    </para>
+    <para>
+    A trajectory model governs how an individual trajectory is drawn. 
+    Concrete models inheriting from G4VTrajectoryModel must implement 
+    two pure virtual functions:
+
+    <informalexample><programlisting>
+    virtual void Draw(const G4VTrajectory&amp;, G4int i_mode = 0) const = 0;
+    virtual void Print(std::ostream&amp; ostr) const = 0;
+    </programlisting></informalexample>
+    </para>
+    <para>
+    See for example G4TrajectoryDrawByParticleID.
+  </para></listitem>
+  <listitem><para>
+    <emphasis role="bold">G4VModelFactory</emphasis> - 
+    an abstract base class for factories creating models and associated 
+    messengers.
+    </para>
+    <para>
+    It is not necessary to generate messengers for a trajectory model 
+    that will be constructed and configured directly in compiled code. 
+    If the user requires model creation and configuration features through 
+    interactive commands, however, there must be a mechanism to generate 
+    both models and their associated messengers. This is the role of 
+    G4VModelFactory. Concrete factories inheriting from G4VModelFactory 
+    are responsible for creating a concrete model and concrete messengers. 
+    To help ensure a type safe messenger to model interaction on the 
+    command line, the messengers should inherit from G4VModelCommand.
+    </para>
+    <para>
+    Concrete factories must implement one pure virtual function:
+
+    <informalexample><programlisting>
+    virtual ModelAndMessengers 
+    Create(const G4String&amp; placement, const G4String&amp; modelName) = 0;
+    </programlisting></informalexample>
+
+    where placement indicates which directory space the commands should 
+    occupy. See for example G4TrajectoryDrawByParticleIDFactory.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.DsgnFuncVis.ViewParam">
+<title>
+View parameters
+</title>
+
+<para>
+View parameters such as camera parameters, drawing styles
+(wireframe/surface etc) are held by G4ViewParameters.  Each
+viewer holds a view parameters object which can be changed
+interactively and a default object (for use in the
+<literal>/vis/viewer/reset</literal> command).
+</para>
+
+<para>
+If a toolkit developer of Geant4 wants to add entries of view 
+parameters, he should add fields and methods to G4ViewParameters. 
+</para>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.DsgnFuncVis.VisAttr">
+<title>
+Visualisation Attributes
+</title>
+
+<para>
+All drawable objects (should) have a method:
+
+<informalexample><programlisting>
+  const G4VisAttributes* GetVisAttributes() const;
+</programlisting></informalexample>
+</para>
+
+<para>
+A drawable object might be:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    a "visible" (i.e., inheriting G4Visible), such as a polyhedron,
+    polyline, circle, etc. (note that text is a slightly special case
+    - see below) or
+  </para></listitem>
+  <listitem><para>
+    a solid whose vis attributes are held in its logical volume.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+
+
+<!-- ******************* Section (Level#3) ****************** -->
+<sect3 id="sect.DsgnFuncVis.VisAttr.FndAppAtt">
+<title>
+Finding the applicable vis attributes
+</title>
+
+<para>
+This is an issue for all scene handlers.  The scene handler is where
+the colour, style, auxiliary edge visibility, marker size, etc., of
+individual drawable objects are needed.
+</para>
+
+
+<!-- ******************* Section (Level#4) ****************** -->
+<sect4 id="sect.DsgnFuncVis.VisAttr.FndAppAtt.Vsbl">
+<title>
+Visibles
+</title>
+
+<para>
+If the vis attributes pointer is zero, drivers should pick up the
+default vis attributes from the viewer:
+
+<informalexample><programlisting>
+  const G4VisAttributes* pVisAtts = visible.GetVisAttributes();
+  if (!pVisAtts) 
+    pVisAtts = fpViewer-&gt;GetViewParameters().GetDefaultVisAttributes();
+</programlisting></informalexample>
+
+where visible denotes any visible object (polyhedron, circle, etc.).
+</para>
+
+<para>
+There is a utility function G4VViewer::GetApplicableVisAttributes
+which does this, so an alternative is:
+
+<informalexample><programlisting>
+  const G4VisAttributes* pVisAtts =
+    fpViewer-&gt;GetApplicableVisAttributes(visible.GetVisAttributes());
+</programlisting></informalexample>
+</para>
+
+<para>
+Confusingly, there is a utility function G4VSceneHandler::GetColour
+which also does this, so if it's only colour you need, the following
+suffices:
+
+<informalexample><programlisting>
+  const G4Colour&amp; colour GetColour(visible);
+</programlisting></informalexample>
+
+but equally well:
+
+<informalexample><programlisting>
+  const G4VisAttributes* pVisAtts =
+    fpViewer-&gt;GetApplicableVisAttributes(visible.GetVisAttributes());
+  const G4Colour&amp; colour pVisAtts-&gt;GetColour();
+</programlisting></informalexample>
+
+or even:
+
+<informalexample><programlisting>
+  const G4VisAttributes* pVisAtts = visible.GetVisAttributes();
+  if (!pVisAtts) 
+    pVisAtts = fpViewer-&gt;GetViewParameters().GetDefaultVisAttributes();
+  const G4Colour&amp; colour pVisAtts-&gt;GetColour();
+</programlisting></informalexample>
+</para>
+
+</sect4>
+
+<!-- ******************* Section (Level#4) ****************** -->
+<sect4 id="sect.DsgnFuncVis.VisAttr.FndAppAtt.Txt">
+<title>
+Text
+</title>
+
+<para>
+Text is a special case because it has its own default vis attributes:
+
+<informalexample><programlisting>
+  const G4VisAttributes* pVisAtts = text.GetVisAttributes();
+  if (!pVisAtts) 
+    pVisAtts = fpViewer-&gt;GetViewParameters().GetDefaultTextVisAttributes();
+  const G4Colour&amp; colour pVisAtts-&gt;GetColour();
+</programlisting></informalexample>
+
+and there is a utility function G4VSceneHandler::GetTextColour:
+
+<informalexample><programlisting>
+  const G4Colour&amp; colour GetTextColour(text);
+</programlisting></informalexample>
+</para>
+
+</sect4>
+
+<!-- ******************* Section (Level#4) ****************** -->
+<sect4 id="sect.DsgnFuncVis.VisAttr.FndAppAtt.Slds">
+<title>
+Solids
+</title>
+
+<para>
+For specific solids, the G4PhysicalVolumeModel that provides the
+solids also provides, via PreAddSolid, a pointer to its vis
+attributes.  If the vis attribites pointer in the logical volume is
+zero, it provides a pointer to the default vis attributes in the
+model, which in turn is (currently) provided by the viewer's vis
+attributes (see G4VSceneHandler::CreateModelingParameters).  So the
+vis attributes pointer is guaranteed to be pertinent.
+</para>
+
+<para>
+If the concrete driver does not implement AddSolid for any particular
+solid, the base class converts it to primitives (usually a
+G4Polyhedron) and again, the vis attributes pointer is guaranteed.
+</para>
+
+</sect4>
+
+<!-- ******************* Section (Level#4) ****************** -->
+<sect4 id="sect.DsgnFuncVis.VisAttr.FndAppAtt.DrwStyl">
+<title>
+Drawing style
+</title>
+
+<para>
+The drawing style is normally determined by the view parameters but
+for individual drawable objects it may be overridden by the forced
+drawing style flags in the vis attributes.  A utility function
+G4ViewParameters::DrawingStyle G4VSceneHandler::GetDrawingStyle is
+provided:
+
+<informalexample><programlisting>
+  G4ViewParameters::DrawingStyle drawing_style = GetDrawingStyle(pVisAtts);
+</programlisting></informalexample>
+</para>
+
+</sect4>
+
+<!-- ******************* Section (Level#4) ****************** -->
+<sect4 id="sect.DsgnFuncVis.VisAttr.FndAppAtt.AxlEdg">
+<title>
+Auxiliary edges
+</title>
+
+<para>
+Similarly, the visibility of auxiliary/soft edges is normally
+determined by the view parameters but may be overridden by the forced
+auxiliary edge visible flag in the vis attributes.  Again, a utility
+function G4VSceneHandler::GetAuxEdgeVisible is provided:
+
+<informalexample><programlisting>
+  G4bool isAuxEdgeVisible = GetAuxEdgeVisible (pVisAtts);
+</programlisting></informalexample>
+</para>
+
+</sect4>
+
+<!-- ******************* Section (Level#4) ****************** -->
+<sect4 id="sect.DsgnFuncVis.VisAttr.FndAppAtt.LnSgmCrc">
+<title>
+LineSegmentsPerCircle
+</title>
+
+<para>
+Also, the precision of rendering curved edges in the polyhedral
+representation of volumes is normally determined by the view
+parameters but may be overridden by a forced attribute.  A utility
+function that respects this, G4VSceneHandler::GetNoOfSides, is
+provided.  For example:
+
+<informalexample><programlisting>
+  G4Polyhedron::SetNumberOfRotationSteps (GetNoOfSides (pVisAttribs));
+</programlisting></informalexample>
+</para>
+
+</sect4>
+
+<!-- ******************* Section (Level#4) ****************** -->
+<sect4 id="sect.DsgnFuncVis.VisAttr.FndAppAtt.MrkSz">
+<title>
+Marker size
+</title>
+
+<para>
+These have nothing to do with vis attributes; they are an extra
+property of markers, i.e., objects that inherit G4VMarker (circles,
+squares, text, etc.).  However, the algorithm for the actual size is
+quite complicated and a utility function
+G4VSceneHandler::GetMarkerSize is provided:
+
+<informalexample><programlisting>
+  MarkerSizeType sizeType;
+  G4double size = GetMarkerSize (text, sizeType);
+</programlisting></informalexample>
+
+sizeType is world or screen, signifying that the size is in world
+coordinates or screen coordinates respectively.
+</para>
+
+</sect4>
+
+</sect3>
+</sect2>
+
+<!-- ******* Bridgehead ******* -->
+<bridgehead role="revisionHistory" renderas="sect4">
+[Status of this chapter]
+</bridgehead>
+<para>
+<simplelist type="var">
+  <member>
+    27.06.05 partially re-organized and section on design philosophy added (from 
+    Geant4 general paper) by D.H. Wright
+  </member>
+  <member>
+    13.10.05 Section on vis attributes added by John Allison.
+  </member>
+  <member>
+    06.01.06 Re-write of ``Design Philosphy'' and introduction of ``The Graphics
+    Interfaces'' and ``The Geant4 Visualisation System'' by John Allison.
+  </member>
+  <member>
+    Dec. 2006 Conversion from latex to Docbook verson by K. Amako
+  </member>
+</simplelist>
+</para>
+    
+
+
+
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/XSLCustomizationLayer/G4BookTitlePageFO.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/XSLCustomizationLayer/G4BookTitlePageFO.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/XSLCustomizationLayer/G4BookTitlePageFO.xml	(revision 904)
@@ -0,0 +1,1237 @@
+<!DOCTYPE t:templates [
+<!ENTITY hsize0 "10pt">
+<!ENTITY hsize1 "12pt">
+<!ENTITY hsize2 "14.4pt">
+<!ENTITY hsize3 "17.28pt">
+<!ENTITY hsize4 "20.736pt">
+<!ENTITY hsize5 "24.8832pt">
+<!ENTITY hsize0space "7.5pt"> <!-- 0.75 * hsize0 -->
+<!ENTITY hsize1space "9pt"> <!-- 0.75 * hsize1 -->
+<!ENTITY hsize2space "10.8pt"> <!-- 0.75 * hsize2 -->
+<!ENTITY hsize3space "12.96pt"> <!-- 0.75 * hsize3 -->
+<!ENTITY hsize4space "15.552pt"> <!-- 0.75 * hsize4 -->
+<!ENTITY hsize5space "18.6624pt"> <!-- 0.75 * hsize5 -->
+]>
+<t:templates xmlns:t="http://nwalsh.com/docbook/xsl/template/1.0"
+	     xmlns:param="http://nwalsh.com/docbook/xsl/template/1.0/param"
+             xmlns:fo="http://www.w3.org/1999/XSL/Format"
+             xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<!-- ********************************************************************
+     $Id: G4BookTitlePageFO.xml,v 1.1 2007/05/11 03:06:43 amako Exp $
+     ********************************************************************
+
+     This file is part of the DocBook XSL Stylesheet distribution.
+     See ../README or http://docbook.sf.net/ for copyright
+     and other information.
+
+     ******************************************************************** -->
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="article" t:wrapper="fo:block"
+             font-family="{$title.fontset}">
+
+  <t:titlepage-content t:side="recto"
+             text-align="center">
+
+    <title t:named-template="component.title"
+	   param:node="ancestor-or-self::article[1]"
+	   keep-with-next="always"
+	   font-size="&hsize5;"
+	   font-weight="bold"/>
+
+    <subtitle/>
+
+    <corpauthor space-before="0.5em"
+                font-size="&hsize2;"/>
+    <authorgroup space-before="0.5em"
+                 font-size="&hsize2;"/>
+    <author space-before="0.5em"
+            font-size="&hsize2;"/>
+
+    <othercredit space-before="0.5em"/>
+    <releaseinfo space-before="0.5em"/>
+    <copyright space-before="0.5em"/>
+    <legalnotice text-align="start"
+                 margin-left="0.5in"
+                 margin-right="0.5in"
+                 font-family="{$body.fontset}"/>
+    <pubdate space-before="0.5em"/>
+    <revision space-before="0.5em"/>
+    <revhistory space-before="0.5em"/>
+    <abstract space-before="0.5em"
+	      text-align="start"
+	      margin-left="0.5in"
+              margin-right="0.5in"
+              font-family="{$body.fontset}"/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="set" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+      <title
+	     t:named-template="division.title"
+	     param:node="ancestor-or-self::set[1]"
+	     text-align="center"
+	     font-size="&hsize5;"
+	     space-before="&hsize5space;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"
+	      text-align="center"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="book" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	t:named-template="division.title"
+	param:node="ancestor-or-self::book[1]"
+	text-align="center"
+	font-size="&hsize5;"
+	space-before="3in"
+	font-weight="bold"
+	font-family="{$title.fontset}"/>
+      <subtitle
+	text-align="center"
+	font-size="&hsize4;"
+	space-before="&hsize4space;"
+	font-family="{$title.fontset}"/>
+      <releaseinfo
+	text-align="center"
+	font-size="&hsize3;"
+        font-style='italic'
+	space-before="1in"
+	font-family="{$title.fontset}"/>
+      <pubdate 
+ 	text-align="center"
+        font-size="&hsize0;"
+	space-before="&hsize3space;"/>
+      <authorgroup 
+        font-size="&hsize3;"
+        space-before="2in"/>
+      <author 
+        font-size="&hsize3;"
+	space-before="7in"
+        keep-with-next="always"/>
+    </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+      <title
+	     t:named-template="book.verso.title"
+	     font-size="&hsize2;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+      <corpauthor/>
+      <authorgroup t:named-template="verso.authorgroup"/>
+      <author/>
+      <releaseinfo space-before="1em"/>
+      <date/>
+      <othercredit/>
+      <pubdate space-before="1em"/>
+      <copyright/>
+      <abstract/>
+      <legalnotice font-size="8pt"/>
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+      <fo:block break-after="page"/>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+      <fo:block break-after="page"/>
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="part" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+      <title
+	     t:named-template="division.title"
+	     param:node="ancestor-or-self::part[1]"
+	     text-align="center"
+	     font-size="&hsize5;"
+	     space-before="&hsize5space;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    <subtitle
+	      text-align="center"
+	      font-size="&hsize4;"
+	      space-before="&hsize4space;"
+	      font-weight='bold'
+	      font-style='italic'
+	      font-family="{$title.fontset}"/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="partintro" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   text-align="center"
+	   font-size="&hsize5;"
+	   font-weight="bold"
+	   space-before="1em"
+	   font-family="{$title.fontset}"/>
+    <subtitle
+	      text-align="center"
+	      font-size="&hsize2;"
+	      font-weight="bold"
+	      font-style="italic"
+	      font-family="{$title.fontset}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="reference" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+      <title
+	     t:named-template="division.title"
+	     param:node="ancestor-or-self::reference[1]"
+	     text-align="center"
+	     font-size="&hsize5;"
+	     space-before="&hsize5space;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"
+	      text-align="center"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="refsynopsisdiv" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   font-family="{$title.fontset}"/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="refsection" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   font-family="{$title.fontset}"/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="refsect1" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   font-family="{$title.fontset}"/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="refsect2" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   font-family="{$title.fontset}"/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="refsect3" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   font-family="{$title.fontset}"/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="dedication" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="component.title"
+	     param:node="ancestor-or-self::dedication[1]"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize5;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="preface" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="component.title"
+	     param:node="ancestor-or-self::preface[1]"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize5;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+      <corpauthor/>
+      <authorgroup/>
+      <author/>
+      <othercredit/>
+      <releaseinfo/>
+      <copyright/>
+      <legalnotice/>
+      <pubdate/>
+      <revision/>
+      <revhistory/>
+      <abstract/>
+    </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="chapter" t:wrapper="fo:block"
+               font-family="{$title.fontset}">
+    <t:titlepage-content t:side="recto" margin-left="{$title.margin.left}">
+      <title t:named-template="component.title"
+	     param:node="ancestor-or-self::chapter[1]"
+	     font-size="&hsize5;"
+	     font-weight="bold"/>
+
+      <subtitle space-before="0.5em"
+		font-style="italic"
+		font-size="&hsize2;"
+		font-weight="bold"/>
+
+      <corpauthor  space-before="0.5em"
+	           space-after="0.5em"
+                   font-size="&hsize2;"/>
+
+      <authorgroup space-before="0.5em"
+	           space-after="0.5em"
+                   font-size="&hsize2;"/>
+
+      <author      space-before="0.5em"
+	           space-after="0.5em"
+                   font-size="&hsize2;"/>
+
+      <othercredit/>
+      <releaseinfo/>
+      <copyright/>
+      <legalnotice/>
+      <pubdate/>
+      <revision/>
+      <revhistory/>
+      <abstract/>
+    </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="appendix" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:named-template="component.title"
+	     param:node="ancestor-or-self::appendix[1]"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize5;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+      <corpauthor/>
+      <authorgroup/>
+      <author/>
+      <othercredit/>
+      <releaseinfo/>
+      <copyright/>
+      <legalnotice/>
+      <pubdate/>
+      <revision/>
+      <revhistory/>
+      <abstract/>
+    </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="section" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   margin-left="{$title.margin.left}"
+	   font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect1" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   margin-left="{$title.margin.left}"
+	   font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect2" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   margin-left="{$title.margin.left}"
+	   font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect3" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   margin-left="{$title.margin.left}"
+	   font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect4" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   margin-left="{$title.margin.left}"
+	   font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect5" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   margin-left="{$title.margin.left}"
+	   font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="simplesect" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   margin-left="{$title.margin.left}"
+	   font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="bibliography" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="component.title"
+	     param:node="ancestor-or-self::bibliography[1]"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize5;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="bibliodiv" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title t:named-template="component.title"
+	     param:node="ancestor-or-self::bibliodiv[1]"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize4;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="glossary" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="component.title"
+	     param:node="ancestor-or-self::glossary[1]"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize5;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="glossdiv" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title t:named-template="component.title"
+	     param:node="ancestor-or-self::glossdiv[1]"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize4;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="index" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="component.title"
+	     param:node="ancestor-or-self::index[1]"
+             param:pagewide="1"
+	     margin-left="0pt"
+	     font-size="&hsize5;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <!-- The indexdiv.title template is used so that manual and -->
+  <!-- automatically generated indexdiv titles get the same -->
+  <!-- formatting. -->
+
+  <t:titlepage t:element="indexdiv" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title t:force="1"
+	     t:named-template="indexdiv.title"
+	     param:title="title"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="setindex" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="component.title"
+	     param:node="ancestor-or-self::setindex[1]"
+             param:pagewide="1"
+	     margin-left="0pt"
+	     font-size="&hsize5;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="colophon" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="component.title"
+	     param:node="ancestor-or-self::colophon[1]"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize5;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="table.of.contents" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="gentext"
+	     param:key="'TableofContents'"
+             space-before.minimum="1em"
+             space-before.optimum="1.5em"
+             space-before.maximum="2em"
+	     space-after="0.5em"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize3;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+  <t:titlepage t:element="list.of.tables" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="gentext"
+	     param:key="'ListofTables'"
+             space-before.minimum="1em"
+             space-before.optimum="1.5em"
+             space-before.maximum="2em"
+	     space-after="0.5em"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize3;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+  <t:titlepage t:element="list.of.figures" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="gentext"
+	     param:key="'ListofFigures'"
+             space-before.minimum="1em"
+             space-before.optimum="1.5em"
+             space-before.maximum="2em"
+	     space-after="0.5em"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize3;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+  <t:titlepage t:element="list.of.examples" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="gentext"
+	     param:key="'ListofExamples'"
+             space-before.minimum="1em"
+             space-before.optimum="1.5em"
+             space-before.maximum="2em"
+	     space-after="0.5em"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize3;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+  <t:titlepage t:element="list.of.equations" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="gentext"
+	     param:key="'ListofEquations'"
+             space-before.minimum="1em"
+             space-before.optimum="1.5em"
+             space-before.maximum="2em"
+	     space-after="0.5em"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize3;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+  <t:titlepage t:element="list.of.procedures" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="gentext"
+	     param:key="'ListofProcedures'"
+             space-before.minimum="1em"
+             space-before.optimum="1.5em"
+             space-before.maximum="2em"
+	     space-after="0.5em"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize3;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+  <t:titlepage t:element="list.of.unknowns" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="gentext"
+	     param:key="'ListofUnknown'"
+             space-before.minimum="1em"
+             space-before.optimum="1.5em"
+             space-before.maximum="2em"
+	     space-after="0.5em"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize3;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+<!-- ==================================================================== -->
+
+</t:templates>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/XSLCustomizationLayer/G4BookTitlePageFO.xsl
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/XSLCustomizationLayer/G4BookTitlePageFO.xsl	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/XSLCustomizationLayer/G4BookTitlePageFO.xsl	(revision 904)
@@ -0,0 +1,4205 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+<!-- This stylesheet was created by template/titlepage.xsl; do not edit it by hand. -->
+
+<xsl:template name="article.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="articleinfo/title">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/title"/>
+    </xsl:when>
+    <xsl:when test="artheader/title">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="articleinfo/subtitle">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="artheader/subtitle">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/corpauthor"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/corpauthor"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/authorgroup"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/authorgroup"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/author"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/author"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/othercredit"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/othercredit"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/releaseinfo"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/releaseinfo"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/copyright"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/copyright"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/legalnotice"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/legalnotice"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/pubdate"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/pubdate"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/revision"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/revision"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/revhistory"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/revhistory"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/abstract"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/abstract"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="article.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="article.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="article.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="article.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="article.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" font-family="{$title.fontset}">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="article.titlepage.before.recto"/>
+      <xsl:call-template name="article.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block text-align="center"><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="article.titlepage.before.verso"/>
+      <xsl:call-template name="article.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="article.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="article.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="article.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" keep-with-next="always" font-size="24.8832pt" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::article[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em" font-size="14.4pt">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em" font-size="14.4pt">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em" font-size="14.4pt">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" text-align="start" margin-left="0.5in" margin-right="0.5in" font-family="{$body.fontset}">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em" text-align="start" margin-left="0.5in" margin-right="0.5in" font-family="{$body.fontset}">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="set.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="setinfo/title">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="setinfo/subtitle">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/corpauthor"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/authorgroup"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/author"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/othercredit"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/releaseinfo"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/copyright"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/legalnotice"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/pubdate"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revision"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revhistory"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/abstract"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="set.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="set.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="set.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="set.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="set.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="set.titlepage.before.recto"/>
+      <xsl:call-template name="set.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="set.titlepage.before.verso"/>
+      <xsl:call-template name="set.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="set.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="set.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="set.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style" text-align="center" font-size="24.8832pt" space-before="18.6624pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="division.title">
+<xsl:with-param name="node" select="ancestor-or-self::set[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style" font-family="{$title.fontset}" text-align="center">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="book.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="bookinfo/title">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="bookinfo/subtitle">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/releaseinfo"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/pubdate"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/authorgroup"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/author"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/author"/>
+</xsl:template>
+
+<xsl:template name="book.titlepage.verso">
+  <xsl:choose>
+    <xsl:when test="bookinfo/title">
+      <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/corpauthor"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/authorgroup"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/author"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/releaseinfo"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/date"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/date"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/othercredit"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/pubdate"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/copyright"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/abstract"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/abstract"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/legalnotice"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/legalnotice"/>
+</xsl:template>
+
+<xsl:template name="book.titlepage.separator"><fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" break-after="page"/>
+</xsl:template>
+
+<xsl:template name="book.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="book.titlepage.before.verso"><fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" break-after="page"/>
+</xsl:template>
+
+<xsl:template name="book.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="book.titlepage.before.recto"/>
+      <xsl:call-template name="book.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="book.titlepage.before.verso"/>
+      <xsl:call-template name="book.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="book.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="book.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="book.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="book.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center" font-size="24.8832pt" space-before="3in" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="division.title">
+<xsl:with-param name="node" select="ancestor-or-self::book[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="book.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center" font-size="20.736pt" space-before="15.552pt" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="book.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center" font-size="17.28pt" font-style="italic" space-before="1in" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="book.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center" font-size="10pt" space-before="12.96pt">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="book.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" font-size="17.28pt" space-before="2in">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="book.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" font-size="17.28pt" space-before="7in" keep-with-next="always">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="title" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style" font-size="14.4pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="book.verso.title">
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
+<xsl:call-template name="verso.authorgroup">
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style" space-before="1em">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="date" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style" space-before="1em">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style" font-size="8pt">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="part.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="partinfo/title">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="partinfo/subtitle">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="part.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="part.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="part.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="part.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="part.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="part.titlepage.before.recto"/>
+      <xsl:call-template name="part.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="part.titlepage.before.verso"/>
+      <xsl:call-template name="part.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="part.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="part.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="part.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="part.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="part.titlepage.recto.style" text-align="center" font-size="24.8832pt" space-before="18.6624pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="division.title">
+<xsl:with-param name="node" select="ancestor-or-self::part[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="part.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="part.titlepage.recto.style" text-align="center" font-size="20.736pt" space-before="15.552pt" font-weight="bold" font-style="italic" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="partintroinfo/title">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="partintroinfo/subtitle">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/corpauthor"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/authorgroup"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/author"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/othercredit"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/releaseinfo"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/copyright"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/legalnotice"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/pubdate"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/revision"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/revhistory"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/abstract"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="partintro.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="partintro.titlepage.before.recto"/>
+      <xsl:call-template name="partintro.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="partintro.titlepage.before.verso"/>
+      <xsl:call-template name="partintro.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="partintro.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="partintro.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="partintro.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style" text-align="center" font-size="24.8832pt" font-weight="bold" space-before="1em" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style" text-align="center" font-size="14.4pt" font-weight="bold" font-style="italic" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="reference.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="referenceinfo/title">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="referenceinfo/subtitle">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/corpauthor"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/authorgroup"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/author"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/othercredit"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/releaseinfo"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/copyright"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/legalnotice"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/pubdate"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/revision"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/revhistory"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/abstract"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="reference.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="reference.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="reference.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="reference.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="reference.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="reference.titlepage.before.recto"/>
+      <xsl:call-template name="reference.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="reference.titlepage.before.verso"/>
+      <xsl:call-template name="reference.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="reference.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="reference.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="reference.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style" text-align="center" font-size="24.8832pt" space-before="18.6624pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="division.title">
+<xsl:with-param name="node" select="ancestor-or-self::reference[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style" font-family="{$title.fontset}" text-align="center">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="refsynopsisdiv.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="refsynopsisdivinfo/title">
+      <xsl:apply-templates mode="refsynopsisdiv.titlepage.recto.auto.mode" select="refsynopsisdivinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="refsynopsisdiv.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="refsynopsisdiv.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="refsynopsisdiv.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="refsynopsisdiv.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="refsynopsisdiv.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="refsynopsisdiv.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="refsynopsisdiv.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="refsynopsisdiv.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="refsynopsisdiv.titlepage.before.recto"/>
+      <xsl:call-template name="refsynopsisdiv.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="refsynopsisdiv.titlepage.before.verso"/>
+      <xsl:call-template name="refsynopsisdiv.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="refsynopsisdiv.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="refsynopsisdiv.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="refsynopsisdiv.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="refsynopsisdiv.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="refsynopsisdiv.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="refsynopsisdiv.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="refsection.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="refsectioninfo/title">
+      <xsl:apply-templates mode="refsection.titlepage.recto.auto.mode" select="refsectioninfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="refsection.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="refsection.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="refsection.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="refsection.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="refsection.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="refsection.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="refsection.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="refsection.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="refsection.titlepage.before.recto"/>
+      <xsl:call-template name="refsection.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="refsection.titlepage.before.verso"/>
+      <xsl:call-template name="refsection.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="refsection.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="refsection.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="refsection.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="refsection.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="refsection.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="refsection.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="refsect1.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="refsect1info/title">
+      <xsl:apply-templates mode="refsect1.titlepage.recto.auto.mode" select="refsect1info/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="refsect1.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="refsect1.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="refsect1.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="refsect1.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="refsect1.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="refsect1.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="refsect1.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="refsect1.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="refsect1.titlepage.before.recto"/>
+      <xsl:call-template name="refsect1.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="refsect1.titlepage.before.verso"/>
+      <xsl:call-template name="refsect1.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="refsect1.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="refsect1.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="refsect1.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="refsect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="refsect1.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="refsect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="refsect2.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="refsect2info/title">
+      <xsl:apply-templates mode="refsect2.titlepage.recto.auto.mode" select="refsect2info/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="refsect2.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="refsect2.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="refsect2.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="refsect2.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="refsect2.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="refsect2.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="refsect2.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="refsect2.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="refsect2.titlepage.before.recto"/>
+      <xsl:call-template name="refsect2.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="refsect2.titlepage.before.verso"/>
+      <xsl:call-template name="refsect2.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="refsect2.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="refsect2.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="refsect2.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="refsect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="refsect2.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="refsect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="refsect3.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="refsect3info/title">
+      <xsl:apply-templates mode="refsect3.titlepage.recto.auto.mode" select="refsect3info/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="refsect3.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="refsect3.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="refsect3.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="refsect3.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="refsect3.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="refsect3.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="refsect3.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="refsect3.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="refsect3.titlepage.before.recto"/>
+      <xsl:call-template name="refsect3.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="refsect3.titlepage.before.verso"/>
+      <xsl:call-template name="refsect3.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="refsect3.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="refsect3.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="refsect3.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="refsect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="refsect3.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="refsect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="dedication.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::dedication[1]"/>
+</xsl:call-template></fo:block>
+  <xsl:choose>
+    <xsl:when test="dedicationinfo/subtitle">
+      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="dedicationinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="dedication.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="dedication.titlepage.before.recto"/>
+      <xsl:call-template name="dedication.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="dedication.titlepage.before.verso"/>
+      <xsl:call-template name="dedication.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="dedication.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="dedication.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="dedication.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="dedication.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="dedication.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="dedication.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="preface.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::preface[1]"/>
+</xsl:call-template></fo:block>
+  <xsl:choose>
+    <xsl:when test="prefaceinfo/subtitle">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/corpauthor"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/authorgroup"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/author"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/othercredit"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/releaseinfo"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/copyright"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/legalnotice"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/pubdate"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revision"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revhistory"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/abstract"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="preface.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="preface.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="preface.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="preface.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="preface.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="preface.titlepage.before.recto"/>
+      <xsl:call-template name="preface.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="preface.titlepage.before.verso"/>
+      <xsl:call-template name="preface.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="preface.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="preface.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="preface.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="chapterinfo/title">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="chapterinfo/subtitle">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/corpauthor"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/authorgroup"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/author"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/othercredit"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/releaseinfo"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/copyright"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/legalnotice"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/pubdate"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/revision"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/revhistory"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/abstract"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="chapter.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" font-family="{$title.fontset}">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="chapter.titlepage.before.recto"/>
+      <xsl:call-template name="chapter.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block margin-left="{$title.margin.left}"><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="chapter.titlepage.before.verso"/>
+      <xsl:call-template name="chapter.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="chapter.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="chapter.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="chapter.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style" font-size="24.8832pt" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::chapter[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style" space-before="0.5em" font-style="italic" font-size="14.4pt" font-weight="bold">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style" space-before="0.5em" space-after="0.5em" font-size="14.4pt">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style" space-before="0.5em" space-after="0.5em" font-size="14.4pt">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style" space-before="0.5em" space-after="0.5em" font-size="14.4pt">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="appendixinfo/title">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="appendixinfo/subtitle">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/corpauthor"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/authorgroup"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/author"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/othercredit"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/releaseinfo"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/copyright"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/legalnotice"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/pubdate"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/revision"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/revhistory"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/abstract"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="appendix.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="appendix.titlepage.before.recto"/>
+      <xsl:call-template name="appendix.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="appendix.titlepage.before.verso"/>
+      <xsl:call-template name="appendix.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="appendix.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="appendix.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="appendix.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::appendix[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="section.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sectioninfo/title">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sectioninfo/subtitle">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/corpauthor"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/authorgroup"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/author"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/othercredit"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/releaseinfo"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/copyright"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/legalnotice"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/pubdate"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revision"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revhistory"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/abstract"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="section.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="section.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="section.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="section.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="section.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="section.titlepage.before.recto"/>
+      <xsl:call-template name="section.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="section.titlepage.before.verso"/>
+      <xsl:call-template name="section.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="section.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="section.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="section.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect1info/title">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect1info/subtitle">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/corpauthor"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/authorgroup"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/author"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/othercredit"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/releaseinfo"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/copyright"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/legalnotice"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/pubdate"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revision"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revhistory"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/abstract"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect1.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect1.titlepage.before.recto"/>
+      <xsl:call-template name="sect1.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect1.titlepage.before.verso"/>
+      <xsl:call-template name="sect1.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="sect1.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="sect1.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect1.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect2info/title">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect2info/subtitle">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/corpauthor"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/authorgroup"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/author"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/othercredit"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/releaseinfo"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/copyright"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/legalnotice"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/pubdate"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revision"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revhistory"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/abstract"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect2.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect2.titlepage.before.recto"/>
+      <xsl:call-template name="sect2.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect2.titlepage.before.verso"/>
+      <xsl:call-template name="sect2.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="sect2.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="sect2.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect2.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect3info/title">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect3info/subtitle">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/corpauthor"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/authorgroup"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/author"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/othercredit"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/releaseinfo"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/copyright"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/legalnotice"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/pubdate"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revision"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revhistory"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/abstract"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect3.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect3.titlepage.before.recto"/>
+      <xsl:call-template name="sect3.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect3.titlepage.before.verso"/>
+      <xsl:call-template name="sect3.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="sect3.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="sect3.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect3.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect4info/title">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect4info/subtitle">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/corpauthor"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/authorgroup"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/author"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/othercredit"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/releaseinfo"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/copyright"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/legalnotice"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/pubdate"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revision"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revhistory"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/abstract"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect4.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect4.titlepage.before.recto"/>
+      <xsl:call-template name="sect4.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect4.titlepage.before.verso"/>
+      <xsl:call-template name="sect4.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="sect4.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="sect4.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect4.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect5info/title">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect5info/subtitle">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/corpauthor"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/authorgroup"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/author"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/othercredit"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/releaseinfo"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/copyright"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/legalnotice"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/pubdate"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revision"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revhistory"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/abstract"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect5.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect5.titlepage.before.recto"/>
+      <xsl:call-template name="sect5.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect5.titlepage.before.verso"/>
+      <xsl:call-template name="sect5.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="sect5.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="sect5.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect5.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="simplesectinfo/title">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="simplesectinfo/subtitle">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/corpauthor"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/authorgroup"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/author"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/othercredit"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/releaseinfo"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/copyright"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/legalnotice"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/pubdate"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/revision"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/revhistory"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/abstract"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="simplesect.titlepage.before.recto"/>
+      <xsl:call-template name="simplesect.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="simplesect.titlepage.before.verso"/>
+      <xsl:call-template name="simplesect.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="simplesect.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="simplesect.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="simplesect.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="bibliography.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::bibliography[1]"/>
+</xsl:call-template></fo:block>
+  <xsl:choose>
+    <xsl:when test="bibliographyinfo/subtitle">
+      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="bibliographyinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="bibliography.titlepage.before.recto"/>
+      <xsl:call-template name="bibliography.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="bibliography.titlepage.before.verso"/>
+      <xsl:call-template name="bibliography.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="bibliography.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="bibliography.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="bibliography.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="bibliography.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="bibliography.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="bibliography.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="bibliodiv.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="bibliodivinfo/title">
+      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="bibliodivinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="bibliodivinfo/subtitle">
+      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="bibliodivinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="bibliodiv.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="bibliodiv.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="bibliodiv.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="bibliodiv.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="bibliodiv.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="bibliodiv.titlepage.before.recto"/>
+      <xsl:call-template name="bibliodiv.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="bibliodiv.titlepage.before.verso"/>
+      <xsl:call-template name="bibliodiv.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="bibliodiv.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="bibliodiv.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="bibliodiv.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="bibliodiv.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="bibliodiv.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="20.736pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::bibliodiv[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="bibliodiv.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="bibliodiv.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="bibliodiv.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="glossary.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::glossary[1]"/>
+</xsl:call-template></fo:block>
+  <xsl:choose>
+    <xsl:when test="glossaryinfo/subtitle">
+      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="glossaryinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="glossary.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="glossary.titlepage.before.recto"/>
+      <xsl:call-template name="glossary.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="glossary.titlepage.before.verso"/>
+      <xsl:call-template name="glossary.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="glossary.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="glossary.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="glossary.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="glossary.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="glossary.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="glossary.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="glossdiv.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="glossdivinfo/title">
+      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="glossdivinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="glossdivinfo/subtitle">
+      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="glossdivinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="glossdiv.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="glossdiv.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="glossdiv.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="glossdiv.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="glossdiv.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="glossdiv.titlepage.before.recto"/>
+      <xsl:call-template name="glossdiv.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="glossdiv.titlepage.before.verso"/>
+      <xsl:call-template name="glossdiv.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="glossdiv.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="glossdiv.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="glossdiv.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="glossdiv.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="glossdiv.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="20.736pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::glossdiv[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="glossdiv.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="glossdiv.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="glossdiv.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="index.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="index.titlepage.recto.style" margin-left="0pt" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::index[1]"/>
+<xsl:with-param name="pagewide" select="1"/>
+</xsl:call-template></fo:block>
+  <xsl:choose>
+    <xsl:when test="indexinfo/subtitle">
+      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="indexinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="index.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="index.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="index.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="index.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="index.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="index.titlepage.before.recto"/>
+      <xsl:call-template name="index.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="index.titlepage.before.verso"/>
+      <xsl:call-template name="index.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="index.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="index.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="index.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="index.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="index.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="index.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="indexdiv.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="indexdiv.titlepage.recto.style">
+<xsl:call-template name="indexdiv.title">
+<xsl:with-param name="title" select="title"/>
+</xsl:call-template></fo:block>
+  <xsl:choose>
+    <xsl:when test="indexdivinfo/subtitle">
+      <xsl:apply-templates mode="indexdiv.titlepage.recto.auto.mode" select="indexdivinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="indexdiv.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="indexdiv.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="indexdiv.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="indexdiv.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="indexdiv.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="indexdiv.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="indexdiv.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="indexdiv.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="indexdiv.titlepage.before.recto"/>
+      <xsl:call-template name="indexdiv.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="indexdiv.titlepage.before.verso"/>
+      <xsl:call-template name="indexdiv.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="indexdiv.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="indexdiv.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="indexdiv.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="indexdiv.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="indexdiv.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="indexdiv.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="setindex.titlepage.recto.style" margin-left="0pt" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::setindex[1]"/>
+<xsl:with-param name="pagewide" select="1"/>
+</xsl:call-template></fo:block>
+  <xsl:choose>
+    <xsl:when test="setindexinfo/subtitle">
+      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="setindexinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="setindex.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="setindex.titlepage.before.recto"/>
+      <xsl:call-template name="setindex.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="setindex.titlepage.before.verso"/>
+      <xsl:call-template name="setindex.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="setindex.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="setindex.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="setindex.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="setindex.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="setindex.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="setindex.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="colophon.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="colophon.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::colophon[1]"/>
+</xsl:call-template></fo:block>
+  <xsl:choose>
+    <xsl:when test="colophoninfo/subtitle">
+      <xsl:apply-templates mode="colophon.titlepage.recto.auto.mode" select="colophoninfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="colophon.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="colophon.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="colophon.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="colophon.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="colophon.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="colophon.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="colophon.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="colophon.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="colophon.titlepage.before.recto"/>
+      <xsl:call-template name="colophon.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="colophon.titlepage.before.verso"/>
+      <xsl:call-template name="colophon.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="colophon.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="colophon.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="colophon.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="colophon.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="colophon.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="colophon.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="table.of.contents.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="table.of.contents.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="gentext">
+<xsl:with-param name="key" select="'TableofContents'"/>
+</xsl:call-template></fo:block>
+</xsl:template>
+
+<xsl:template name="table.of.contents.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="table.of.contents.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="table.of.contents.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="table.of.contents.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="table.of.contents.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="table.of.contents.titlepage.before.recto"/>
+      <xsl:call-template name="table.of.contents.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="table.of.contents.titlepage.before.verso"/>
+      <xsl:call-template name="table.of.contents.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="table.of.contents.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="table.of.contents.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="table.of.contents.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template name="list.of.tables.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.tables.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="gentext">
+<xsl:with-param name="key" select="'ListofTables'"/>
+</xsl:call-template></fo:block>
+</xsl:template>
+
+<xsl:template name="list.of.tables.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="list.of.tables.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="list.of.tables.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="list.of.tables.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="list.of.tables.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="list.of.tables.titlepage.before.recto"/>
+      <xsl:call-template name="list.of.tables.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="list.of.tables.titlepage.before.verso"/>
+      <xsl:call-template name="list.of.tables.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="list.of.tables.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.tables.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.tables.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template name="list.of.figures.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.figures.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="gentext">
+<xsl:with-param name="key" select="'ListofFigures'"/>
+</xsl:call-template></fo:block>
+</xsl:template>
+
+<xsl:template name="list.of.figures.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="list.of.figures.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="list.of.figures.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="list.of.figures.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="list.of.figures.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="list.of.figures.titlepage.before.recto"/>
+      <xsl:call-template name="list.of.figures.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="list.of.figures.titlepage.before.verso"/>
+      <xsl:call-template name="list.of.figures.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="list.of.figures.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.figures.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.figures.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template name="list.of.examples.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.examples.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="gentext">
+<xsl:with-param name="key" select="'ListofExamples'"/>
+</xsl:call-template></fo:block>
+</xsl:template>
+
+<xsl:template name="list.of.examples.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="list.of.examples.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="list.of.examples.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="list.of.examples.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="list.of.examples.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="list.of.examples.titlepage.before.recto"/>
+      <xsl:call-template name="list.of.examples.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="list.of.examples.titlepage.before.verso"/>
+      <xsl:call-template name="list.of.examples.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="list.of.examples.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.examples.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.examples.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template name="list.of.equations.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.equations.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="gentext">
+<xsl:with-param name="key" select="'ListofEquations'"/>
+</xsl:call-template></fo:block>
+</xsl:template>
+
+<xsl:template name="list.of.equations.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="list.of.equations.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="list.of.equations.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="list.of.equations.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="list.of.equations.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="list.of.equations.titlepage.before.recto"/>
+      <xsl:call-template name="list.of.equations.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="list.of.equations.titlepage.before.verso"/>
+      <xsl:call-template name="list.of.equations.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="list.of.equations.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.equations.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.equations.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template name="list.of.procedures.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.procedures.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="gentext">
+<xsl:with-param name="key" select="'ListofProcedures'"/>
+</xsl:call-template></fo:block>
+</xsl:template>
+
+<xsl:template name="list.of.procedures.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="list.of.procedures.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="list.of.procedures.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="list.of.procedures.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="list.of.procedures.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="list.of.procedures.titlepage.before.recto"/>
+      <xsl:call-template name="list.of.procedures.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="list.of.procedures.titlepage.before.verso"/>
+      <xsl:call-template name="list.of.procedures.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="list.of.procedures.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.procedures.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.procedures.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template name="list.of.unknowns.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.unknowns.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="gentext">
+<xsl:with-param name="key" select="'ListofUnknown'"/>
+</xsl:call-template></fo:block>
+</xsl:template>
+
+<xsl:template name="list.of.unknowns.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="list.of.unknowns.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="list.of.unknowns.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="list.of.unknowns.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="list.of.unknowns.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="list.of.unknowns.titlepage.before.recto"/>
+      <xsl:call-template name="list.of.unknowns.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="list.of.unknowns.titlepage.before.verso"/>
+      <xsl:call-template name="list.of.unknowns.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="list.of.unknowns.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.unknowns.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.unknowns.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+</xsl:stylesheet>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/XSLCustomizationLayer/G4BookTitlePageHTML.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/XSLCustomizationLayer/G4BookTitlePageHTML.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/XSLCustomizationLayer/G4BookTitlePageHTML.xml	(revision 904)
@@ -0,0 +1,665 @@
+<t:templates xmlns:t="http://nwalsh.com/docbook/xsl/template/1.0"
+	     xmlns:param="http://nwalsh.com/docbook/xsl/template/1.0/param"
+             xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="article" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <hr/>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="set" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <hr/>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="book" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title
+      text-align="center"/>        
+    <subtitle
+      text-align="center"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author
+      text-align="center"/>        
+    <othercredit/>
+    <releaseinfo
+      text-align="center"/>        
+    <date
+      text-align="center"/>        
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <hr/>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="part" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="partintro" t:wrapper="div">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="reference" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <hr/>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="refentry" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+<!-- uncomment this if you want refentry titlepages
+    <title t:force="1"
+	   t:named-template="refentry.title"
+	   param:node="ancestor-or-self::refentry[1]"/>
+-->
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator/>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="dedication" t:wrapper="div" class="titlepage">
+    <t:titlepage-content t:side="recto">
+    <title
+	   t:force="1"
+	   t:named-template="component.title"
+	   param:node="ancestor-or-self::dedication[1]"/>
+    <subtitle/>
+    </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="preface" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="chapter" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="appendix" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="section" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect1" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect2" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect3" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect4" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect5" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="simplesect" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="bibliography" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title
+	   t:force="1"
+	   t:named-template="component.title"
+	   param:node="ancestor-or-self::bibliography[1]"/>
+    <subtitle/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="glossary" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title
+	   t:force="1"
+	   t:named-template="component.title"
+	   param:node="ancestor-or-self::glossary[1]"/>
+    <subtitle/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="index" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title
+	   t:force="1"
+	   t:named-template="component.title"
+	   param:node="ancestor-or-self::index[1]"/>
+    <subtitle/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="setindex" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title
+	   t:force="1"
+	   t:named-template="component.title"
+	   param:node="ancestor-or-self::setindex[1]"/>
+    <subtitle/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+</t:templates>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/XSLCustomizationLayer/G4BookTitlePageHTML.xsl
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/XSLCustomizationLayer/G4BookTitlePageHTML.xsl	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/XSLCustomizationLayer/G4BookTitlePageHTML.xsl	(revision 904)
@@ -0,0 +1,3293 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+<!-- This stylesheet was created by template/titlepage.xsl; do not edit it by hand. -->
+
+<xsl:template name="article.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="articleinfo/title">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/title"/>
+    </xsl:when>
+    <xsl:when test="artheader/title">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="articleinfo/subtitle">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="artheader/subtitle">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/corpauthor"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/corpauthor"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/authorgroup"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/authorgroup"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/author"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/author"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/othercredit"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/othercredit"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/releaseinfo"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/releaseinfo"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/copyright"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/copyright"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/legalnotice"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/legalnotice"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/pubdate"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/pubdate"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/revision"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/revision"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/revhistory"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/revhistory"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/abstract"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/abstract"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="article.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="article.titlepage.separator"><hr/>
+</xsl:template>
+
+<xsl:template name="article.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="article.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="article.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="article.titlepage.before.recto"/>
+      <xsl:call-template name="article.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="article.titlepage.before.verso"/>
+      <xsl:call-template name="article.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="article.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="article.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="article.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="set.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="setinfo/title">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="setinfo/subtitle">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/corpauthor"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/authorgroup"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/author"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/othercredit"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/releaseinfo"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/copyright"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/legalnotice"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/pubdate"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revision"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revhistory"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/abstract"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="set.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="set.titlepage.separator"><hr/>
+</xsl:template>
+
+<xsl:template name="set.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="set.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="set.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="set.titlepage.before.recto"/>
+      <xsl:call-template name="set.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="set.titlepage.before.verso"/>
+      <xsl:call-template name="set.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="set.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="set.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="set.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="book.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="bookinfo/title">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="bookinfo/subtitle">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/corpauthor"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/authorgroup"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/author"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/othercredit"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/releaseinfo"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/date"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/date"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/copyright"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/legalnotice"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/pubdate"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/revision"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/revhistory"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/abstract"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="book.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="book.titlepage.separator"><hr/>
+</xsl:template>
+
+<xsl:template name="book.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="book.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="book.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="book.titlepage.before.recto"/>
+      <xsl:call-template name="book.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="book.titlepage.before.verso"/>
+      <xsl:call-template name="book.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="book.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="book.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="book.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="date" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="part.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="partinfo/title">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="partinfo/subtitle">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/corpauthor"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/authorgroup"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/author"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/othercredit"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/releaseinfo"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/copyright"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/legalnotice"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/pubdate"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/revision"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/revhistory"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/abstract"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="part.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="part.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="part.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="part.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="part.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="part.titlepage.before.recto"/>
+      <xsl:call-template name="part.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="part.titlepage.before.verso"/>
+      <xsl:call-template name="part.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="part.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="part.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="part.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="partintroinfo/title">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="partintroinfo/subtitle">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/corpauthor"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/authorgroup"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/author"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/othercredit"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/releaseinfo"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/copyright"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/legalnotice"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/pubdate"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/revision"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/revhistory"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/abstract"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="partintro.titlepage">
+  <div>
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="partintro.titlepage.before.recto"/>
+      <xsl:call-template name="partintro.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="partintro.titlepage.before.verso"/>
+      <xsl:call-template name="partintro.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="partintro.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="partintro.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="partintro.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="reference.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="referenceinfo/title">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="referenceinfo/subtitle">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/corpauthor"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/authorgroup"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/author"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/othercredit"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/releaseinfo"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/copyright"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/legalnotice"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/pubdate"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/revision"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/revhistory"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/abstract"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="reference.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="reference.titlepage.separator"><hr/>
+</xsl:template>
+
+<xsl:template name="reference.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="reference.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="reference.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="reference.titlepage.before.recto"/>
+      <xsl:call-template name="reference.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="reference.titlepage.before.verso"/>
+      <xsl:call-template name="reference.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="reference.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="reference.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="reference.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="refentry.titlepage.recto">
+</xsl:template>
+
+<xsl:template name="refentry.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="refentry.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="refentry.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="refentry.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="refentry.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="refentry.titlepage.before.recto"/>
+      <xsl:call-template name="refentry.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="refentry.titlepage.before.verso"/>
+      <xsl:call-template name="refentry.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="refentry.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="refentry.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="refentry.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.recto">
+  <div xsl:use-attribute-sets="dedication.titlepage.recto.style">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::dedication[1]"/>
+</xsl:call-template></div>
+  <xsl:choose>
+    <xsl:when test="dedicationinfo/subtitle">
+      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="dedicationinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="dedication.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="dedication.titlepage.before.recto"/>
+      <xsl:call-template name="dedication.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="dedication.titlepage.before.verso"/>
+      <xsl:call-template name="dedication.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="dedication.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="dedication.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="dedication.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="dedication.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="dedication.titlepage.recto.style">
+<xsl:apply-templates select="." mode="dedication.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="preface.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="prefaceinfo/title">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="prefaceinfo/subtitle">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/corpauthor"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/authorgroup"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/author"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/othercredit"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/releaseinfo"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/copyright"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/legalnotice"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/pubdate"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revision"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revhistory"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/abstract"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="preface.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="preface.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="preface.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="preface.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="preface.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="preface.titlepage.before.recto"/>
+      <xsl:call-template name="preface.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="preface.titlepage.before.verso"/>
+      <xsl:call-template name="preface.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="preface.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="preface.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="preface.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="chapterinfo/title">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="chapterinfo/subtitle">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/corpauthor"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/authorgroup"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/author"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/othercredit"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/releaseinfo"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/copyright"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/legalnotice"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/pubdate"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/revision"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/revhistory"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/abstract"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="chapter.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="chapter.titlepage.before.recto"/>
+      <xsl:call-template name="chapter.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="chapter.titlepage.before.verso"/>
+      <xsl:call-template name="chapter.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="chapter.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="chapter.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="chapter.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="appendixinfo/title">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="appendixinfo/subtitle">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/corpauthor"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/authorgroup"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/author"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/othercredit"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/releaseinfo"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/copyright"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/legalnotice"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/pubdate"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/revision"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/revhistory"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/abstract"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="appendix.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="appendix.titlepage.before.recto"/>
+      <xsl:call-template name="appendix.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="appendix.titlepage.before.verso"/>
+      <xsl:call-template name="appendix.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="appendix.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="appendix.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="appendix.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="section.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sectioninfo/title">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sectioninfo/subtitle">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/corpauthor"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/authorgroup"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/author"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/othercredit"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/releaseinfo"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/copyright"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/legalnotice"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/pubdate"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revision"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revhistory"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/abstract"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="section.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="section.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+</xsl:template>
+
+<xsl:template name="section.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="section.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="section.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="section.titlepage.before.recto"/>
+      <xsl:call-template name="section.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="section.titlepage.before.verso"/>
+      <xsl:call-template name="section.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="section.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="section.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="section.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect1info/title">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect1info/subtitle">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/corpauthor"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/authorgroup"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/author"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/othercredit"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/releaseinfo"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/copyright"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/legalnotice"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/pubdate"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revision"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revhistory"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/abstract"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect1.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect1.titlepage.before.recto"/>
+      <xsl:call-template name="sect1.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect1.titlepage.before.verso"/>
+      <xsl:call-template name="sect1.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="sect1.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="sect1.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect1.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect2info/title">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect2info/subtitle">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/corpauthor"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/authorgroup"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/author"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/othercredit"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/releaseinfo"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/copyright"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/legalnotice"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/pubdate"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revision"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revhistory"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/abstract"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect2.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect2.titlepage.before.recto"/>
+      <xsl:call-template name="sect2.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect2.titlepage.before.verso"/>
+      <xsl:call-template name="sect2.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="sect2.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="sect2.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect2.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect3info/title">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect3info/subtitle">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/corpauthor"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/authorgroup"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/author"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/othercredit"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/releaseinfo"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/copyright"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/legalnotice"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/pubdate"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revision"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revhistory"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/abstract"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect3.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect3.titlepage.before.recto"/>
+      <xsl:call-template name="sect3.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect3.titlepage.before.verso"/>
+      <xsl:call-template name="sect3.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="sect3.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="sect3.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect3.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect4info/title">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect4info/subtitle">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/corpauthor"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/authorgroup"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/author"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/othercredit"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/releaseinfo"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/copyright"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/legalnotice"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/pubdate"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revision"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revhistory"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/abstract"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect4.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect4.titlepage.before.recto"/>
+      <xsl:call-template name="sect4.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect4.titlepage.before.verso"/>
+      <xsl:call-template name="sect4.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="sect4.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="sect4.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect4.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect5info/title">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect5info/subtitle">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/corpauthor"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/authorgroup"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/author"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/othercredit"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/releaseinfo"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/copyright"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/legalnotice"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/pubdate"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revision"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revhistory"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/abstract"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect5.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect5.titlepage.before.recto"/>
+      <xsl:call-template name="sect5.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect5.titlepage.before.verso"/>
+      <xsl:call-template name="sect5.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="sect5.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="sect5.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect5.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="simplesectinfo/title">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="simplesectinfo/subtitle">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/corpauthor"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/authorgroup"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/author"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/othercredit"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/releaseinfo"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/copyright"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/legalnotice"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/pubdate"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/revision"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/revhistory"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/abstract"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="simplesect.titlepage.before.recto"/>
+      <xsl:call-template name="simplesect.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="simplesect.titlepage.before.verso"/>
+      <xsl:call-template name="simplesect.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="simplesect.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="simplesect.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="simplesect.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.recto">
+  <div xsl:use-attribute-sets="bibliography.titlepage.recto.style">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::bibliography[1]"/>
+</xsl:call-template></div>
+  <xsl:choose>
+    <xsl:when test="bibliographyinfo/subtitle">
+      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="bibliographyinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="bibliography.titlepage.before.recto"/>
+      <xsl:call-template name="bibliography.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="bibliography.titlepage.before.verso"/>
+      <xsl:call-template name="bibliography.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="bibliography.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="bibliography.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="bibliography.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="bibliography.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="bibliography.titlepage.recto.style">
+<xsl:apply-templates select="." mode="bibliography.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.recto">
+  <div xsl:use-attribute-sets="glossary.titlepage.recto.style">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::glossary[1]"/>
+</xsl:call-template></div>
+  <xsl:choose>
+    <xsl:when test="glossaryinfo/subtitle">
+      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="glossaryinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="glossary.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="glossary.titlepage.before.recto"/>
+      <xsl:call-template name="glossary.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="glossary.titlepage.before.verso"/>
+      <xsl:call-template name="glossary.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="glossary.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="glossary.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="glossary.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="glossary.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="glossary.titlepage.recto.style">
+<xsl:apply-templates select="." mode="glossary.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="index.titlepage.recto">
+  <div xsl:use-attribute-sets="index.titlepage.recto.style">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::index[1]"/>
+</xsl:call-template></div>
+  <xsl:choose>
+    <xsl:when test="indexinfo/subtitle">
+      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="indexinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="index.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="index.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="index.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="index.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="index.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="index.titlepage.before.recto"/>
+      <xsl:call-template name="index.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="index.titlepage.before.verso"/>
+      <xsl:call-template name="index.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="index.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="index.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="index.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="index.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="index.titlepage.recto.style">
+<xsl:apply-templates select="." mode="index.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.recto">
+  <div xsl:use-attribute-sets="setindex.titlepage.recto.style">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::setindex[1]"/>
+</xsl:call-template></div>
+  <xsl:choose>
+    <xsl:when test="setindexinfo/subtitle">
+      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="setindexinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="setindex.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="setindex.titlepage.before.recto"/>
+      <xsl:call-template name="setindex.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="setindex.titlepage.before.verso"/>
+      <xsl:call-template name="setindex.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="setindex.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="setindex.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="setindex.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="setindex.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="setindex.titlepage.recto.style">
+<xsl:apply-templates select="." mode="setindex.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+</xsl:stylesheet>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/XSLCustomizationLayer/G4HTMLStylesheet.css
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/XSLCustomizationLayer/G4HTMLStylesheet.css	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/XSLCustomizationLayer/G4HTMLStylesheet.css	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/XSLCustomizationLayer/G4XSLCommon.xsl
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/XSLCustomizationLayer/G4XSLCommon.xsl	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/XSLCustomizationLayer/G4XSLCommon.xsl	(revision 904)
@@ -0,0 +1,52 @@
+<?xml version='1.0' ?>
+<!-- ******************************************************************** -->  
+<!-- Setting up common Docbook XSL customization parameters for HTML and  -->
+<!-- FO. You need to inculde this file in the HTML and FO specific        --> 
+<!-- customization layer.                                                 -->
+<!-- ******************************************************************** -->  
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Automatically calculate the section numbers and add it to the header -->
+<!-- of the section title.                                                -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="section.autolabel">1</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Let the section labels start from the chapter number                 -->
+<!-- (Section 1.1, Section 1.2,... instead of Section 1, Section 2,...)   -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="section.label.includes.component.label">1</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Specify where the title shows up in figure, example, table, etc.     -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="formal.title.placement">
+figure after
+example before
+equation after
+table after
+procedure after
+</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Specify what will be appeared in table of content (toc)              -->
+<!-- For example, 'book toc,title' means toc will be generated and also   -->
+<!-- the title 'Table of Content' will be shown at the beginning of book. -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="generate.toc">
+book      toc,title
+chapter   nop
+section   nop
+appendix  nop
+</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- In 'xref' just write out the chapter/section number and not include  -->
+<!-- the their title.                                                     -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="xref.with.number.and.title">0</xsl:param>
+
+
+</xsl:stylesheet>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/XSLCustomizationLayer/G4XSLCustomFO.xsl
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/XSLCustomizationLayer/G4XSLCustomFO.xsl	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/XSLCustomizationLayer/G4XSLCustomFO.xsl	(revision 904)
@@ -0,0 +1,170 @@
+<?xml version='1.0' ?>
+<!-- ******************************************************************** -->  
+<!--  FO Customization Layer of Docbook XSL                               --> 
+<!-- ******************************************************************** -->  
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
+                xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Import the FO stylesheet                                             -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:import href="/usr/share/xml/docbook/stylesheet/nwalsh/current/fo/docbook.xsl"/>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Include the file which specifies common DocBook XSL parameters.      -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:include href="./G4XSLCommon.xsl" />
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Include the file which specifies the customized title page.          -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:include href="./G4BookTitlePageFO.xsl" />
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Define useful processing instructions for FO                         -->
+<!--  [Usage]  <? PI-name ?>                                              -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+
+<!-- Hard pagebreak -->
+<xsl:template match="processing-instruction('hard-pagebreak')">
+  <fo:block break-before='page' />
+</xsl:template>
+
+<!-- Soft pagebreak -->
+<xsl:template match="processing-instruction('soft-pagebreak')">
+  <fo:block-container width="100%" height="3.0cm">
+    <fo:block />
+  </fo:block-container>
+  <fo:block space-before="-3.0cm" />
+</xsl:template>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Page layout                                                          -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+
+<!-- Paper size -->
+<xsl:param name="paper.type">A4</xsl:param>
+
+<!-- Indentation of body text -->
+<xsl:param name="body.start.indent">0pt</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Global style for appearance of 'Title' in the major tags including   -->
+<!-- chapter, appendix, bibliography, index, etc                          -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:attribute-set name="component.title.properties">
+  <xsl:attribute name="font-weight">bold</xsl:attribute>
+  <xsl:attribute name="font-size">
+    <xsl:value-of select="$body.font.master * 2.0"/>
+    <xsl:text>pt</xsl:text>
+  </xsl:attribute>
+</xsl:attribute-set>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Style for appearance of 'Title' in various section level             -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:attribute-set name="section.title.level1.properties">
+  <xsl:attribute name="font-size">
+    <xsl:value-of select="$body.font.master * 1.8"/>
+    <xsl:text>pt</xsl:text>
+  </xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="section.title.level2.properties">
+  <xsl:attribute name="font-size">
+    <xsl:value-of select="$body.font.master * 1.6"/>
+    <xsl:text>pt</xsl:text>
+  </xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="section.title.level3.properties">
+  <xsl:attribute name="font-size">
+    <xsl:value-of select="$body.font.master * 1.4"/>
+    <xsl:text>pt</xsl:text>
+  </xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="section.title.level4.properties">
+  <xsl:attribute name="font-size">
+    <xsl:value-of select="$body.font.master * 1.2"/>
+    <xsl:text>pt</xsl:text>
+  </xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="section.title.level5.properties">
+  <xsl:attribute name="font-size">
+    <xsl:value-of select="$body.font.master * 1.0"/>
+    <xsl:text>pt</xsl:text>
+  </xsl:attribute>
+</xsl:attribute-set>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Style for appearance of 'Title' in figure, table, example, etc       -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:attribute-set name="formal.title.properties">
+  <xsl:attribute name="font-weight">bold</xsl:attribute>
+  <xsl:attribute name="font-size">12pt</xsl:attribute>
+  <xsl:attribute name="hyphenate">false</xsl:attribute>
+  <xsl:attribute name="space-before.minimum">0.3mm</xsl:attribute>
+  <xsl:attribute name="space-before.optimum">0.5mm</xsl:attribute>
+  <xsl:attribute name="space-before.maximum">1.0mm</xsl:attribute>
+  <xsl:attribute name="space-after.minimum">0pt</xsl:attribute>
+  <xsl:attribute name="space-after.optimum">0pt</xsl:attribute>
+  <xsl:attribute name="space-after.maximum">0pt</xsl:attribute>
+</xsl:attribute-set>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Example and informal example style                                   -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+
+<xsl:attribute-set name="example.properties">
+  <xsl:attribute name="space-before.minimum">0.5em</xsl:attribute>
+  <xsl:attribute name="space-before.optimum">1em</xsl:attribute>
+  <xsl:attribute name="space-before.maximum">2em</xsl:attribute>
+  <xsl:attribute name="space-after.minimum">0.5em</xsl:attribute>
+  <xsl:attribute name="space-after.optimum">1em</xsl:attribute>
+  <xsl:attribute name="space-after.maximum">2em</xsl:attribute>
+  <xsl:attribute name="background-color">#DDDDDD</xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="informalexample.properties">
+  <xsl:attribute name="space-before.minimum">0.5em</xsl:attribute>
+  <xsl:attribute name="space-before.optimum">1em</xsl:attribute>
+  <xsl:attribute name="space-before.maximum">2em</xsl:attribute>
+  <xsl:attribute name="space-after.minimum">0.5em</xsl:attribute>
+  <xsl:attribute name="space-after.optimum">1em</xsl:attribute>
+  <xsl:attribute name="space-after.maximum">2em</xsl:attribute>
+  <xsl:attribute name="background-color">#DDDDDD</xsl:attribute>
+</xsl:attribute-set>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Reduce the font size in verbatim environment (ex. programlisting)    -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:attribute-set name="monospace.verbatim.properties">
+  <xsl:attribute name="font-size">75%</xsl:attribute>
+</xsl:attribute-set>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Variablelist style                                                   -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="variablelist.as.blocks">1</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Ulink style                                                          -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- xsl:param name="ulink.footnotes">1</xsl:param -->
+<!-- xsl:param name="ulink.hyphenate">1</xsl:param -->
+<xsl:param name="ulink.show">0</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Footnote style                                                       -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:attribute-set name="footnote.mark.properties">
+  <xsl:attribute name="font-size">85%</xsl:attribute>
+  <xsl:attribute name="font-weight">bold</xsl:attribute>
+  <xsl:attribute name="font-style">italic</xsl:attribute>
+</xsl:attribute-set>
+
+
+</xsl:stylesheet>
Index: trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/XSLCustomizationLayer/G4XSLCustomHTML.xsl
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/XSLCustomizationLayer/G4XSLCustomHTML.xsl	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/ForToolkitDeveloper/xml/XSLCustomizationLayer/G4XSLCustomHTML.xsl	(revision 904)
@@ -0,0 +1,72 @@
+<?xml version='1.0' ?>
+<!-- ******************************************************************** -->  
+<!--  HTML Customization Layer of Docbook XSL                             --> 
+<!-- ******************************************************************** -->  
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Import the stylesheet to chunk the html output                       -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:import href="/usr/share/xml/docbook/stylesheet/nwalsh/current/html/chunk.xsl" />
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Include the file which specifies common DocBook XSL parameters.      -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:include href="./G4XSLCommon.xsl" />
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Specify the CSS stylesheet to be used for fine tuning of appearance. -->
+<!--   [Note] Remember to take care the relative path to index.html       -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="html.stylesheet">../xml/XSLCustomizationLayer/G4HTMLStylesheet.css</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Specify the chunk conditions - the chunk level and the directory to  -->
+<!-- which the chunked files will be stored. You need to import the chunk -->
+<!-- stylesheet beforehand.                                               -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="chunk.section.depth">1</xsl:param>
+<xsl:param name="base.dir">../html/</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Include the file which specifies the customized title page.          -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:include href="./G4BookTitlePageHTML.xsl" />
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Use customized navigation icons.                                     -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="navig.graphics">1</xsl:param>
+<xsl:param name="navig.graphics.extension">.gif</xsl:param>
+<xsl:param name="navig.graphics.path">AllResources/IconsGIF/</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Define Java script and invoke by processing instruction (PI)         -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+
+<!-- Include JavaScript Function in HTML Header Part -->
+<xsl:template name="user.head.content">
+<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>
+</xsl:template>
+
+<!-- Handle Processing Instruction named 'JavaScript' -->
+<xsl:template match="processing-instruction()[local-name()= 'JavaScript']">
+  <xsl:text disable-output-escaping="yes">&lt;a href="javascript:remote_win('</xsl:text>
+  <xsl:value-of select="." /><xsl:text disable-output-escaping="yes">')" onMouseOver="window.status='Get alive picture...'; return true"&gt;[Rotate the Picture]&lt;br /&gt;
+  </xsl:text>
+  <xsl:text disable-output-escaping="yes">&lt;/a&gt;
+  </xsl:text>
+</xsl:template>
+
+
+</xsl:stylesheet>
+
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/BookInstalGuide.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/BookInstalGuide.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/BookInstalGuide.xml	(revision 904)
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
+
+<!ENTITY % bookInstalGuideEntityDef SYSTEM "./BookInstalGuideEntityDef.dtd"> 
+%bookInstalGuideEntityDef;
+
+]>
+
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Created by:   Katsuya Amako, Aug-2006                 -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!-- ******************* Top of the Book ******************** --> 
+<book id="geant4_installation_guide">
+
+
+<!-- ******************* Book Information ******************* --> 
+<bookinfo>
+  <title>
+  Geant4 Installation Guide
+  </title>
+  <subtitle>
+  For setting up Geant4 in your computing environment
+  </subtitle>
+
+  <authorgroup>
+  <author>
+  <firstname></firstname>
+  <surname>Geant4 Collaboration</surname>
+  </author>
+  </authorgroup>
+
+  <pubdate>14 December, 2007</pubdate>
+  <releaseinfo>Version: geant4 9.1</releaseinfo>
+
+</bookinfo>
+
+<!-- *************** Inclusion of Chapters ****************** --> 
+&chapIntroduction;
+&chapUnixMachines;
+&chapPCMachines;
+
+</book>
Index: trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/BookInstalGuideEntityDef.dtd
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/BookInstalGuideEntityDef.dtd	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/BookInstalGuideEntityDef.dtd	(revision 904)
@@ -0,0 +1,23 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  In this file you need to define entities of all         -->
+<!--  chpater-dtd files you want to include into the          -->
+<!--  G4 DocBook manual.                                      -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Creattion:  Katsuya Amako,  Aug-2006                  -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!ENTITY % chapIntroductionEntityDef SYSTEM 
+           "Introduction/ChapIntroductionEntityDef.dtd"> 
+<!ENTITY % chaptUnixMachinesEntityDef SYSTEM 
+           "UnixMachines/ChapUnixMachinesEntityDef.dtd"> 
+<!ENTITY % chapPCMachinesEntityDef SYSTEM 
+           "PCMachines/ChapPCMachinesEntityDef.dtd"> 
+
+
+%chapIntroductionEntityDef;
+%chaptUnixMachinesEntityDef;
+%chapPCMachinesEntityDef;
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/Introduction/ChapIntroduction.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/Introduction/ChapIntroduction.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/Introduction/ChapIntroduction.xml	(revision 904)
@@ -0,0 +1,23 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  This is the top file for the present chapter. It        -->
+<!--  includes all section files which belong to the chapter. -->
+<!--  Entities names used below are defined in                -->
+<!--  ChapXXEntityDef.dtd in the current directory.           -->
+<!--                                                          -->
+<!--  [Note]                                                  -->
+<!--    Created by Katsuya Amako, Aug-2006                    -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!-- ******************** Top of Chapter ******************** -->
+<chapter id="chap.InstIntro">
+<title>
+Installation Introduction
+</title>
+
+<!-- *************** Inclusion of Sections ****************** -->
+&introduction;
+
+</chapter>
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/Introduction/ChapIntroductionEntityDef.dtd
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/Introduction/ChapIntroductionEntityDef.dtd	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/Introduction/ChapIntroductionEntityDef.dtd	(revision 904)
@@ -0,0 +1,15 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  In this file you need to define entities of all xml     -->
+<!--  section files you want to include from the current      -->
+<!--  directory into the G4 DocBook manual.                   -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Creattion:  Katsuya Amako,  Aug-2006                  -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!ENTITY chapIntroduction   SYSTEM "./ChapIntroduction.xml">
+<!ENTITY introduction       SYSTEM "./introduction.xml">
+
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/Introduction/introduction.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/Introduction/introduction.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/Introduction/introduction.xml	(revision 904)
@@ -0,0 +1,261 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--    Changed by: Dennis Wright,  2-Dec-2002                -->
+<!--    Proof read by: Joe Chuma,   7-Jun-1999                -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<para>
+This section describes the global computing environment required
+for installing the Geant4 toolkit. To set up your specific
+computing environment for Geant4, refer to Section 2 of this Guide.
+</para>
+
+<para>
+A shell script (<literal>Configure</literal>) is provided to
+facilitate the installation procedure, and to help the user set up
+the environment correctly.
+</para>
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.Support">
+<title>
+Supported Computers and Operating Systems
+</title>
+
+<para>
+Geant4 is supported under the following operating systems:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Linux on PC with g++ (gcc compiler)
+  </para></listitem>
+  <listitem><para>
+    MacOSX with g++ (gcc compiler)
+  </para></listitem>
+  <listitem><para>
+    Windows/XP with MicroSoft Visual C++
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+Currently, this is the set of flavors which can be associated with
+the environment variable <literal>$G4SYSTEM</literal> to identify the
+system architecture and compiler used:
+
+<literallayout><literal>
+  Linux   - Scientific Linux CERN, SLC4 (or SLC5) 
+            g++ gcc 3.4.6 (or 4.1.2)               G4SYSTEM: Linux-g++
+  MacOSX  - MacOSX Darwin 10.5 
+            g++ gcc 4.0.1                          G4SYSTEM: Darwin-g++
+  Windows - Windows XP and Cygwin32
+            MSVC++ 9.0, Visual Studio 2008         G4SYSTEM: WIN32-VC
+</literal></literallayout>
+</para>
+
+<para>
+For a more detailed description of supported platforms/compilers
+and versions of third party software, please refer to the release
+notes available with the current release you're using in
+<literal>geant4/ReleaseNotes</literal> (also accessible from the web
+<ulink url="http://cern.ch/geant4/support/download.shtml">
+distribution page
+</ulink>
+).
+</para>
+
+</sect1>
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.ReqSoft">
+<title>
+Required Software
+</title>
+
+<para>
+To run Geant4, the following software must be properly installed in
+your computing environment:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    C++ compiler
+    <para>
+    (compiler from Unix vendor, g++ or Visual C++ for Windows systems)
+    </para>
+  </para></listitem>
+  <listitem><para>
+    CLHEP library
+    <para>
+    (see CLHEP reference guide 
+     <ulink url="http://cern.ch/clhep/manual/RefGuide/">
+     cern.ch/clhep/manual/RefGuide
+     </ulink>
+    )
+    </para>
+  </para></listitem>
+  <listitem><para>
+    GNU Make (note: g++ preprocessing is used to build file
+    dependencies) is also used and a UNIX shell
+  </para></listitem>
+  <listitem><para>
+    The Geant4 toolkit source code
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect1>
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.VisSoft">
+<title>
+Visualization Software
+</title>
+
+<para>
+The above list of software is the minimum required for a
+non-graphical setup of Geant4. To use visualization graphics in
+Geant4 and/or a graphical user interface (GUI), at least one of the
+following graphic systems or packages is required in your computing
+environment:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    X Windows
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://www.opengl.org/">
+    OpenGL
+    </ulink>
+    or
+    <ulink url="http://www.mesa3d.org/">
+    MesaGL
+    </ulink>
+    (free software compatible with OpenGL)
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://geant4.kek.jp/GEANT4/vis/">
+    DAWN
+    </ulink>
+    , a PostScript renderer
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://oss.sgi.com/projects/inventor/">
+    Open Inventor
+    </ulink>
+    (free software from SGI)
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://openscientist.lal.in2p3.fr/">
+    Open Scientist
+    </ulink>
+    (Interactive environment, including GUI)
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://www.slac.stanford.edu/BFROOT/www/Computing/Graphics/Wired/">
+    HepRApp Browser
+    </ulink>
+    (
+    <ulink url="http://www.slac.stanford.edu/~perl/heprep/">
+    HepRep
+    </ulink>
+    Browser)
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://wired.freehep.org/">
+    WIRED4 JAS Plug-In
+    </ulink>
+    (
+    <ulink url="http://www.slac.stanford.edu/~perl/heprep/">
+    HepRep
+    </ulink>
+    Browser)
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://cern.ch/geant4/geant4_public/source/geant4/environments/MOMO/docs/MOMOHelp.html">
+    Momo
+    </ulink>
+    (a 
+    <ulink url="http://java.sun.com/">
+    Java
+    </ulink>
+    -based GUI environment, GGE, GPE, ...)
+  </para></listitem>
+  <listitem><para>
+    VRML browser
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+Alternatively, you can produce an ascii file for VRML or DAWN.
+</para>
+
+<para>
+More information is available in Section 8.6, Visualization
+Drivers, of the User's Guide for Application Developers.
+</para>
+
+</sect1>
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.SoftAnaHisto">
+<title>
+Software for Analysis and Histogramming
+</title>
+
+<para>
+Histogramming facilities are provided through the <emphasis role="bold">AIDA</emphasis>
+abstract interface, which in this case needs to be installed as
+well:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <ulink url="http://aida.freehep.org/">
+    AIDA
+    </ulink>
+    (Abstract Interfaces for Data Analysis)
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+External, AIDA-compliant packages which provide the necessary
+functionalities for doing histogramming (and therefore, should be
+optionally installed) are:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <ulink url="http://iaida.dynalias.net/">
+    iAIDA
+    </ulink>
+    (iAIDA, an implementation of AIDA in C++)
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://jas.freehep.org/jas3/">
+    JAS
+    </ulink>
+    (Java Analysis Studio)
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://openscientist.lal.in2p3.fr/">
+    Open Scientist
+    </ulink>
+    (Interactive Analysis Environment).
+  </para></listitem>
+  <listitem><para>
+    <ulink url="http://ilcsoft.desy.de/portal/software_packages/raida/">
+    rAIDA
+    </ulink>
+    (rAIDA, a <ulink url="http://root.cern.ch/">Root</ulink> implementation of AIDA)
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/PCMachines/ChapPCMachines.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/PCMachines/ChapPCMachines.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/PCMachines/ChapPCMachines.xml	(revision 904)
@@ -0,0 +1,23 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  This is the top file for the present chapter. It        -->
+<!--  includes all section files which belong to the chapter. -->
+<!--  Entities names used below are defined in                -->
+<!--  ChapXXEntityDef.dtd in the current directory.           -->
+<!--                                                          -->
+<!--  [Note]                                                  -->
+<!--    Created by Katsuya Amako, Aug-2006                    -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!-- ******************** Top of Chapter ******************** -->
+<chapter id="chap.TipsWin">
+<title>
+Tips for Installing on Windows
+</title>
+
+<!-- *************** Inclusion of Sections ****************** -->
+&pcMachines;
+
+</chapter>
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/PCMachines/ChapPCMachinesEntityDef.dtd
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/PCMachines/ChapPCMachinesEntityDef.dtd	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/PCMachines/ChapPCMachinesEntityDef.dtd	(revision 904)
@@ -0,0 +1,14 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  In this file you need to define entities of all xml     -->
+<!--  section files you want to include from the current      -->
+<!--  directory into the G4 DocBook manual.                   -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Creattion:  Katsuya Amako,  Aug-2006                  -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!ENTITY chapPCMachines   SYSTEM "./ChapPCMachines.xml">
+<!ENTITY pcMachines       SYSTEM "./pcMachines.xml">
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/PCMachines/pcMachines.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/PCMachines/pcMachines.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/PCMachines/pcMachines.xml	(revision 904)
@@ -0,0 +1,282 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.Cygwin">
+<title>
+Windows with the Cygwin Toolset and Microsoft Visual C++
+</title>
+
+<para>
+To compile and run Geant4 under Windows systems, some additional
+information and tools are required, although the installation
+produre is similar to that required on a UNIX based system. On
+Windows, the Cygwin toolset and the Microsoft Visual C++ compiler
+are used.
+</para>
+
+<para>
+Cygwin32 is a UNIX development environment available for Microsoft
+Windows. You can freely obtain Cygwin32 from 
+<ulink url="http://cygwin.com/">
+Cygwin
+</ulink>
+or 
+<ulink url="http://x.cygwin.com/">
+Cygwin/X
+</ulink>
+.
+</para>
+
+<para>
+We do not support direct use of Visual Studio; i.e. we do not
+provide Visual Studio workspace (.dsw) or project (.dsp) files, nor
+we do provide makefiles for the <literal>nmake</literal> application of MS
+Visual C++.
+</para>
+
+<para>
+We use several of the tools provided by the Cygwin toolset:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <literal>make.exe</literal> as a make tool
+  </para></listitem>
+  <listitem><para>
+    <literal>g++.exe</literal> as a tool to analyse source file dependencies
+    and create dependency (<literal>.d</literal>) files
+  </para></listitem>
+  <listitem><para>
+    several other unix tools like <literal>cp</literal>, <literal>mv</literal>,
+    <literal>rm</literal>, <literal>touch</literal>, etc.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+At the installation of the Cygwin toolset it is therefore required
+to explicitely select some packages (i.e. <emphasis>gmake</emphasis>, 
+<emphasis>gcc</emphasis>, <emphasis>binutils</emphasis> 
+and <emphasis>tcsh</emphasis> from the "devel" category) in
+addition to those which are part of the default installation.
+</para>
+
+<para>
+For more details on the toolset, please see the documentation
+available on the 
+<ulink url="http://cygwin.com/">
+Cygwin pages
+</ulink>
+. 
+The User's Guide has quick start guides and help with
+setting up Cygwin with <literal>setup.exe</literal>.
+</para>
+
+<para>
+Links to some installation tips for the Cygwin toolset and also 
+"step by step" installation guides can be found in the section
+<ulink url="http://cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/apas06.html">
+Appendix - Step-by-Step Installation Guides - Build for MS Visual C++
+</ulink> 
+of <emphasis>Geant4 User's Guide - For Application Developers</emphasis>.
+</para>
+
+<para>
+The usage of Cygwin32 for the build environment results in a
+build procedure similar to that on a UNIX system.
+</para>
+
+<para>
+The following steps are required to install geant4:
+
+<orderedlist spacing="compact">
+  <listitem><para>
+    Install Cygwin (see also notes above and additional
+    <ulink url="http://cern.ch/geant4/support/windows_note.shtml">installation
+    notes</ulink> for known issues related to the most current version):
+    <para>
+    We do not depend on any specific feature of the version of Cygwin,
+    so newer versions (or slightly older) are expected to work.
+    </para>
+  </para></listitem>
+  <listitem><para>
+    Set the environment for MS Visual C++, i.e. set the paths to
+    libraries, include files, and executables for MS Visual C++. This
+    can be done by modifying the start-up batch file
+    <literal>cygwin.bat</literal> of Cygwin32 to include all the MSDOS commands
+    found in the file <literal>vcvars32.bat</literal> provided in MS Visual C++
+   (in the VC++ .NET compiler installation directory, and usually
+   located inside the <literal>Common7/Tools</literal> directory). This
+   modification should be done after the installation of the Cygwin
+   toolset, so that the environment gets properly set at the time of
+   the invocation of the shell.
+  </para></listitem>
+  <listitem><para>
+    Unpack the source code into a directory of your choice.
+  </para></listitem>
+  <listitem><para>
+    Start the <literal>Cygwin</literal> shell from the start menu.
+  </para></listitem>
+  <listitem><para>
+    At this point you're ready to install Geant4. If manual
+    installation is chosen, you must set the necessary environment
+    variables. There are various ways to do so; for example through a
+    command file for the Cygwin bash shell. This command file could be
+    named <literal>geant4-setup.sh</literal>, and you must execute it with
+
+    <informalexample>
+    <programlisting>
+        . geant4-setup.sh
+    </programlisting>
+    </informalexample>
+
+    including the leading dot and blank space. You could also have this
+    as your <literal>.bashrc</literal> file. The commands in the command file
+    should be:
+
+    <informalexample>
+    <programlisting>
+        # Set G4SYSTEM 
+        export G4SYSTEM=WIN32-VC
+        #
+        # Set Path to CLHEP
+        export CLHEP_BASE_DIR=C:/usr/local
+        #
+        # --- Other optional settings
+        #Turn on verbose to show command used for compilation
+        #export CPPVERBOSE=1
+        #
+    </programlisting>
+    </informalexample>
+    Note, in the example above, CLHEP was installed in
+    <literal>C:/usr/local</literal>, therefore <literal>include/CLHEP</literal> and
+    <literal>lib/CLHEP.lib</literal> must be included therein.
+  </para></listitem>
+  <listitem><para>
+    Once the environment is correctly set, the libraries are built
+    using make from the <literal>geant4/source</literal> directory typing
+    <literal>make</literal> from the <literal>Cygwin bash</literal> shell
+    prompt.
+  </para></listitem>
+</orderedlist>
+</para>
+
+<para>
+Examples can be built in the same way as the libraries from
+examples/novice/N01, for instance: type <literal>make</literal> from the
+shell prompt.
+</para>
+
+<para>
+Note that, depending on which external software is used, there may
+be some warnings in linking about conflictings libraries. This often
+seems to be caused by an external library compiled for a different
+run time environment.
+</para>
+
+<para>
+The binary of the example is placed by default into the
+<literal>geant4/bin/WIN32-VC</literal> directory. You may run it either from
+this directory or from the <literal>examples/novice/N01</literal> directory;
+sample input and output files are placed in each of the
+<literal>examples/novice</literal> directories. Some of the examples will
+need to read data files, and the place has to be given in
+environment variables again similar to the following example:
+
+<informalexample>
+<programlisting>
+        #
+        # Environment variables needed to find geant4 data files:
+        #
+        # Data for neutron scattering processes, 
+        #    distributed in a separate tar file, then placed under data
+        export G4NEUTRONHPDATA=c:/usr/local/geant4/data/G4NDL
+        #
+        # Nuclear Photon evaporation data,
+        #    distributed with the source files under data 
+        export G4LEVELGAMMADATA=c:/usr/local/geant4/data/PhotonEvaporation
+        #
+        # Data for radiative decay hadronic processes under data,
+        #    distributed in a separate tar file
+        export G4RADIOACTIVEDATA=c:/usr/local/geant4/data/RadiativeDecay
+        #
+        # Data for low energy electromagnetic processes,
+        #    distributed in a separate tar file, then placed under data
+        export G4LEDATA=c:/usr/local/geant4/data/G4EMLOW
+        #
+        # Data for nuclear shell effects for INCL/ABLA hadronic model,
+        #    distributed in a separate tar file, then placed under data
+        export G4ABLADATA=c:/usr/local/geant4/data/G4ABLA
+        #
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+All compiler and linker options are set in
+<literal>config/sys/WIN32-VC.gmk</literal>. If you require options different
+from our choice, you can modify this file. 
+</para>
+
+</sect1>
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.BuildLibDLLs">
+<title>
+Building Kernel Libraries DLLs
+</title>
+
+<para>
+DLLs (Dynamic Link Libraries) on Windows are supported for MS-VC++
+and can be built for the <literal>compound</literal> kernel libraries of
+Geant4 (see <xref linkend="sect.InstManually.OptEnvVar"/> of the
+Installation Procedure of this Guide for a dissertation on
+<literal>global/compound</literal> libraries).
+</para>
+
+<para>
+The libraries can be built either manually, issuing the
+command:
+
+<informalexample>
+<programlisting>
+        make dll
+</programlisting>
+</informalexample>
+
+from the directory <literal>$G4INSTALL/source</literal> or by specifying it
+through the <literal>Configure</literal> script used for the
+installation.
+</para>
+
+<para>
+Then, to build any application making use of the installed DLLs,
+the environment variable <literal>G4LIB_USE_DLL</literal> must be set in the
+environment.
+</para>
+
+<para>
+Once the application is built, it is required to specify to the
+system the path where the DLLs are installed. To do so, add the
+absolute path (in Cygwin format) of the DLLs installation directory
+to the <literal>PATH</literal> variable; for example:
+
+<informalexample>
+<programlisting>
+        export PATH=$PATH:/usr/local/geant4/lib/$G4SYSTEM
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+You may then be able to run successfully your application.
+</para>
+
+
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/UnixMachines/ChapUnixMachines.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/UnixMachines/ChapUnixMachines.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/UnixMachines/ChapUnixMachines.xml	(revision 904)
@@ -0,0 +1,23 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  This is the top file for the present chapter. It        -->
+<!--  includes all section files which belong to the chapter. -->
+<!--  Entities names used below are defined in                -->
+<!--  ChapXXEntityDef.dtd in the current directory.           -->
+<!--                                                          -->
+<!--  [Note]                                                  -->
+<!--    Created by Katsuya Amako, Aug-2006                    -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!-- ******************** Top of Chapter ******************** -->
+<chapter id="chap.InstProc">
+<title>
+Installation Procedures
+</title>
+
+<!-- *************** Inclusion of Sections ****************** -->
+&unixMachines;
+
+</chapter>
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/UnixMachines/ChapUnixMachinesEntityDef.dtd
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/UnixMachines/ChapUnixMachinesEntityDef.dtd	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/UnixMachines/ChapUnixMachinesEntityDef.dtd	(revision 904)
@@ -0,0 +1,15 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  In this file you need to define entities of all xml     -->
+<!--  section files you want to include from the current      -->
+<!--  directory into the G4 DocBook manual.                   -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Creattion:  Katsuya Amako,  Aug-2006                  -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!ENTITY chapUnixMachines  SYSTEM "./ChapUnixMachines.xml">
+<!ENTITY unixMachines      SYSTEM "./unixMachines.xml">
+
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/UnixMachines/unixMachines.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/UnixMachines/unixMachines.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/UnixMachines/unixMachines.xml	(revision 904)
@@ -0,0 +1,510 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<para>
+
+Before installing Geant4, the required software listed in
+<xref linkend="sect.ReqSoft" />
+(and <xref linkend="sect.VisSoft" /> in the case of graphics drivers) 
+of this Installation Guide must already be installed on
+your system.
+</para>
+
+<para>
+In this section, a short tutorial on how to install the
+toolkit's kernel libraries is given. The installation of the Geant4
+kernel libraries and the proper configuration of the environment
+can be achieved either manually (by setting the proper environment
+variables) or through the <literal>Configure</literal> shell script,
+which will allow the installation of just the necessary source code
+and libraries in a specified installation area.
+</para>
+
+<para>
+<emphasis>Step-by-Step</emphasis> guides for the installation are
+also available. See 
+<ulink url="http://cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/apas06.html">
+Appendix - Step-by-Step Installation Guides</ulink>
+of <emphasis>Geant4 User's Guide - For Application Developers</emphasis>.
+</para>
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.UsingConfig">
+<title>
+Using the <literal>Configure</literal> Script for installation
+</title>
+
+<para>
+A shell script is provided for building the libraries and to allow
+easy installation in a specified area. The <literal>Configure</literal>
+shell script is placed in the top directory tree of the
+distribution (<literal>geant4/Configure</literal>) and allows the user or
+system administrator to install the Geant4 toolkit in a
+semi-automatic way. Some knowledge of the system is required for
+the installation, such as:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    the compiler to be used
+  </para></listitem>
+  <listitem><para>
+    the path where the Geant4 toolkit is to be installed
+    (<literal>$G4INSTALL</literal>)
+  </para></listitem>
+  <listitem><para>
+    definition of installation directory paths (optional)
+  </para></listitem>
+  <listitem><para>
+    kind of graphics/analysis system(s) installed in the system,
+    and paths to the installation of each graphics/analysis
+    package
+  </para></listitem>
+  <listitem><para>
+    the kind of library to be generated: static/shared,
+    compound/granular.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+To run the installer script for building the libraries of the Geant4 toolkit,
+one must type the following from the top directory
+<literal>geant4</literal>:
+
+<informalexample>
+<programlisting>
+ &gt; ./Configure -build
+</programlisting>
+</informalexample>
+
+and follow the on-screen instructions. No system administrator
+privileges are required at this stage. The script will ask for the
+path in the system where the Geant4 libraries should be installed
+later on. The script provides default settings for most of the
+environment variables to be set. By pressing -RETURN-, the default
+values will be selected; otherwise the proper selection (or path,
+in case a path is requested) must be typed in.
+</para>
+
+<para>
+In case the installation procedure fails for some reason, or you
+realise the selected options were not correct at the time the
+installation started, you can repeat the whole process by manually
+removing the current installation with:
+
+<informalexample>
+<programlisting>
+ &gt; cd geant4/source
+ &gt; make clean
+</programlisting>
+</informalexample>
+where the <literal>$G4SYSTEM</literal> environment variable (specifying
+the kind of architecture and compiler used) is manually set in your
+environment (according to the flavors listed in 
+<xref linkend="sect.Support" />).
+</para>
+
+<para>
+In case new modules must be added to an existing build (for
+example a module for visualization), this can be done manually by
+re-running <literal>Configure</literal> and providing the new
+settings.
+</para>
+
+<para>
+Once the process of building the libraries has been completed
+successfully, the Geant4 toolkit can be installed in the specified
+(already existing) installation area by typing:
+
+<informalexample>
+<programlisting>
+ &gt; ./Configure -install
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+Libraries and necessary source code will be installed in
+<literal>lib/geant4</literal>, <literal>include/geant4</literal> (if selected to
+install all headers in a single directory), <literal>src/geant4</literal>,
+respectively. System administrator privileges may be required for the
+installation stage, depending upon where in the system the installation
+should happen.
+</para>
+
+<para>
+<literal>$G4INSTALL</literal> will be set to
+<literal>[INSTALLATION_AREA]/src/geant4</literal>.
+</para>
+
+</sect1>
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.ConfigEnv">
+<title>
+Configuring the Environment to Use Geant4
+</title>
+
+<para>
+Once libraries have been installed, the user's environment must be
+correctly set up for the usage of the Geant4 toolkit. The
+<literal>Configure</literal> script provides a way to check the existing
+installation and provide the correct configuration for the user's
+environment. Configuration scripts <literal>env[.sh.csh]</literal> can be
+generated, and should be sourced by the final users in order to
+configure their environment according to the performed
+installation.
+</para>
+
+<para>
+To generate the configuration scripts, the user should run
+<literal>Configure</literal> placed in the installation area, as follows:
+
+<informalexample>
+<programlisting>
+ &gt; $G4INSTALL/Configure
+</programlisting>
+</informalexample>
+</para>
+
+<para>
+This will generate the shell script <literal>env.csh</literal>
+(<literal>env.sh</literal> for <literal>bash</literal> shell) to be sourced or
+integrated into the shell login script (<literal>.tcshrc</literal> or
+<literal>.bashrc</literal>). The shell script will be generated in the
+user's current directory (<literal>$PWD</literal>). The user can
+customize it to specify for example her/his proper working
+directory through the variable <literal>$G4WORKDIR</literal>. Once the
+generated script is sourced, the user will be ready to start
+building a Geant4 application.
+</para>
+
+<para>
+Refer to section the section 
+<emphasis>
+Getting Started with Geant4 - How to Make an Executable Program
+</emphasis>
+of the 
+<ulink url="http://cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/index.html"> 
+Geant4 User's Guide for Application Developers
+</ulink> 
+for information on how to build an executable in Geant4.
+</para>
+
+</sect1>
+
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.InstManually">
+<title>
+Installing Geant4 Manually
+</title>
+
+<para>
+Before proceeding with the installation, some key environment
+variables must be defined in your user environment in order to
+specify where all software components are to be placed and to set
+some compilation options. A complete reference to all environment
+variables in Geant4 is available in section 
+
+<emphasis>
+Appendix - Makefiles and Environment Variables
+</emphasis>
+of the
+<ulink url="http://cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/index.html"> 
+Geant4 User's Guide for Application Developers
+</ulink>.
+</para>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.InstManually.ReqEnvVar">
+<title>
+Required Environment Variables
+</title>
+
+<variablelist><title></title>
+<varlistentry>
+  <term>
+    <literal>G4SYSTEM:</literal>
+  </term>
+  <listitem><para>
+    set to one of the flavors listed in section 1.1 to specify the
+    kind of architecture and compiler used
+  </para></listitem>
+</varlistentry>
+<varlistentry>
+  <term>
+    <literal>G4INSTALL:</literal>
+  </term>
+  <listitem><para>
+    path where the Geant4 toolkit tree is installed (ex.
+    <literal>$HOME/geant4</literal>)
+  </para></listitem>
+</varlistentry>
+<varlistentry>
+  <term>
+    <literal>CLHEP_BASE_DIR:</literal>
+  </term>
+  <listitem><para>
+    path to the CLHEP installation
+  </para></listitem>
+</varlistentry>
+</variablelist>
+
+</sect2>
+
+<!-- ******************* Section (Level#2) ****************** -->
+<sect2 id="sect.InstManually.OptEnvVar">
+<title>
+Optional Environment Variables
+</title>
+
+<variablelist><title></title>
+<varlistentry>
+  <term>
+    <literal>G4WORKDIR:</literal>
+  </term>
+  <listitem><para>
+    path of the user's working directory (default in
+    <literal>$G4INSTALL</literal>)
+  </para></listitem>
+</varlistentry>
+<varlistentry>
+  <term>
+    <literal>G4LIB:</literal>
+  </term>
+  <listitem><para>
+    path where the kernel libraries should be installed (default in
+    <literal>$G4INSTALL/lib</literal>)
+  </para></listitem>
+</varlistentry>
+<varlistentry>
+  <term>
+    <literal>G4TMP:</literal>
+  </term>
+  <listitem><para>
+    path where temporary files (object files, dependency files) are
+    placed (default in <literal>$G4WORKDIR/tmp)</literal>
+  </para></listitem>
+</varlistentry>
+<varlistentry>
+  <term>
+    <literal>G4BIN:</literal>
+  </term>
+  <listitem><para>
+    path where final executable files are placed (default in
+    <literal>$G4WORKDIR/bin)</literal>.
+  </para></listitem>
+</varlistentry>
+<varlistentry>
+  <term>
+    <literal>G4INCLUDE:</literal>
+  </term>
+  <listitem><para>
+    path where source header files may be mirrored at installation
+    by issuing <literal>make includes</literal> (default in
+    <literal>$G4INSTALL/include</literal>)
+  </para></listitem>
+</varlistentry>
+<varlistentry>
+  <term>
+    <literal>G4DEBUG:</literal>
+  </term>
+  <listitem><para>
+    flag specifying that libraries be built with debug symbols
+    (requires a lot of disk space). The default is optimised-mode
+  </para></listitem>
+</varlistentry>
+<varlistentry>
+  <term>
+    <literal>G4LIB_BUILD_SHARED:</literal>
+  </term>
+  <listitem><para>
+    flag specifying that kernel libraries be built as shared
+    libraries (libraries will then be used by default). If not set,
+    static archive libraries are built by default
+  </para></listitem>
+</varlistentry>
+<varlistentry>
+  <term>
+    <literal>G4LIB_BUILD_STATIC:</literal>
+  </term>
+  <listitem><para>
+    flag specifying that kernel libraries be built as static
+    archive libraries. Note that you may specify this flag in addition
+    to <literal>G4LIB_BUILD_SHARED</literal> to build shared and static
+    libraries simultaneously.
+  </para></listitem>
+</varlistentry>
+<varlistentry>
+  <term>
+    <literal>G4LIB_BUILD_G3TOG4:</literal>
+  </term>
+  <listitem><para>
+    flag specifying that the library for the g3tog4 module be
+    built. By default the library will not be built.
+  </para></listitem>
+</varlistentry>
+<varlistentry>
+  <term>
+    <literal>G4LIB_BUILD_ZLIB:</literal>
+  </term>
+  <listitem><para>
+    flag specifying that an additional library for file compression
+    should be built (not required on Linux/Unix systems). By default
+    the library will not be built.
+  </para></listitem>
+</varlistentry>
+<varlistentry>
+  <term>
+    <literal>G4_NO_VERBOSE:</literal>
+  </term>
+  <listitem><para>
+    defining this flag prevents the compilation of verbosity code
+    (for better performance). The default is with verbosity on.
+  </para></listitem>
+</varlistentry>
+</variablelist>
+
+<para>
+The list of all additional flags (also requiring third-party packages
+installed) can be found in
+<ulink url="http://cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/apas05.html#sect.MkflEnvVar.EnvVar">Section 5.2</ulink>
+of the
+<ulink url="http://cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/index.html"> 
+Geant4 User's Guide for Application Developers
+</ulink>.
+</para>
+
+<para>
+The Geant4 installation requires native STL (the Standard Template
+Library) as the base foundation class library. This also implies
+strict ISO-ANSI language compliance. In addition to the above, you
+might want to set the proper environment for visualization, such
+as:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    the kind of graphics driver(s) installed in the system
+  </para></listitem>
+  <listitem><para>
+    the path to the installation of each graphics driver
+  </para></listitem>
+</itemizedlist>
+
+in case you want to build the Geant4 kernel libraries with the
+graphics drivers built-in. See 
+
+<emphasis>
+Visualization - The Visualization Drivers
+</emphasis>
+of the
+<ulink url="http://cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/index.html"> 
+Geant4 User's Guide for Application Developers
+</ulink>.
+</para>
+
+<para>
+At this point, you may choose one of two ways to compile and
+install the kernel libraries, depending on your needs and system
+resources. From <literal>$G4INSTALL/source</literal>:
+
+<orderedlist spacing="compact">
+  <listitem><para>
+    <literal>make</literal>
+    <para>
+    This will make one library for each "leaf" category (maximum
+    library granularity) and automatically produce a map of library use
+    and dependencies.</para>
+  </para></listitem>
+  <listitem><para>
+    <literal>make global</literal>
+    <para>
+    This will make global libraries, one for each major category.
+    </para>
+  </para></listitem>
+</orderedlist>
+</para>
+
+<para>
+The main advantage of the first approach is the speed of building
+the libraries and of the application, which in some cases can be
+improved by a factor of two or three compared to the "global
+library" approach.
+</para>
+
+<para>
+Using the "granular library" approach a fairly large number
+(roughly 90) of "leaf" libraries is produced. However, the
+dependencies and linking list are evaluated and generated
+automatically on the fly. The top-level <literal>GNUmakefile</literal> in
+<literal>$G4INSTALL/source</literal> parses the dependency files of
+Geant4 and produces a file <literal>libname.map</literal> in
+<literal>$G4LIB</literal>. <literal>libname.map</literal> is produced by the
+tool <literal>liblist</literal>, whose source code is in
+<literal>$G4INSTALL/config</literal>.
+</para>
+
+<para>
+When building a binary application the script
+<literal>binmake.gmk</literal> in <literal>$G4INSTALL/config</literal> will
+parse the user's dependency files and use <literal>libname.map</literal>
+to determine through <literal>liblist</literal> the required libraries to
+add to the linking list. Only the required libraries will be loaded
+in the link command.
+</para>
+
+<para>
+The command <literal>make libmap</literal> issued from
+<literal>$G4INSTALL/source</literal>, allows manual rebuilding of the
+dependency map. The command is issued by default in the normal
+build process for granular libraries.
+</para>
+
+<para>
+It is possible to install both "granular" and "compound" libraries,
+by typing "make" and "make global" in sequence. In this case, to
+choose usage of granular libraries at link time one should set the
+flag G4LIB_USE_GRANULAR in the environment; otherwise compound
+libraries will be adopted by default.
+</para>
+
+</sect2>
+</sect1>
+
+<!-- ******************* Section (Level#1) ****************** -->
+<sect1 id="sect.IntegGeneFrame">
+<title>
+Integrating Geant4 into a Generic Framework
+</title>
+
+<para>
+As part of the Geant4 kernel libraries installation, it is also
+possible to put the entire set of header files in a single place,
+which is determined by the environment variable
+<literal>G4INCLUDE</literal> specifying the directory path. Therefore,
+it's rather straightforward to integrate Geant4 into a generic
+external framework, by simply knowing the path where header files
+are located in the system (<literal>G4INCLUDE</literal>) and where
+installed libraries are placed (<literal>G4LIB</literal>).
+</para>
+
+<para>
+In <ulink url="http://cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/apas05.html#sect.MkflEnvVar.EnvVar">Section 5.2</ulink>.
+(<emphasis>Appendix - Makefiles and Environment Variables</emphasis>)
+of the
+<ulink url="http://cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/index.html"> 
+Geant4 User's Guide for Application Developers
+</ulink>,
+you can find a list of all the environment variables. In
+<ulink url="http://cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/apas05.html#sect.MkflEnvVar.LnkExtLib">Section 5.3</ulink>
+it is also explained how to integrate external libraries which may or 
+may not use the Geant4 kernel libraries, using the <literal>GNUmake</literal> 
+build system of Geant4.
+</para>
+
+</sect1>
Index: trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/XSLCustomizationLayer/G4BookTitlePageFO.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/XSLCustomizationLayer/G4BookTitlePageFO.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/XSLCustomizationLayer/G4BookTitlePageFO.xml	(revision 904)
@@ -0,0 +1,1237 @@
+<!DOCTYPE t:templates [
+<!ENTITY hsize0 "10pt">
+<!ENTITY hsize1 "12pt">
+<!ENTITY hsize2 "14.4pt">
+<!ENTITY hsize3 "17.28pt">
+<!ENTITY hsize4 "20.736pt">
+<!ENTITY hsize5 "24.8832pt">
+<!ENTITY hsize0space "7.5pt"> <!-- 0.75 * hsize0 -->
+<!ENTITY hsize1space "9pt"> <!-- 0.75 * hsize1 -->
+<!ENTITY hsize2space "10.8pt"> <!-- 0.75 * hsize2 -->
+<!ENTITY hsize3space "12.96pt"> <!-- 0.75 * hsize3 -->
+<!ENTITY hsize4space "15.552pt"> <!-- 0.75 * hsize4 -->
+<!ENTITY hsize5space "18.6624pt"> <!-- 0.75 * hsize5 -->
+]>
+<t:templates xmlns:t="http://nwalsh.com/docbook/xsl/template/1.0"
+	     xmlns:param="http://nwalsh.com/docbook/xsl/template/1.0/param"
+             xmlns:fo="http://www.w3.org/1999/XSL/Format"
+             xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<!-- ********************************************************************
+     $Id: G4BookTitlePageFO.xml,v 1.1 2007/05/11 03:14:24 amako Exp $
+     ********************************************************************
+
+     This file is part of the DocBook XSL Stylesheet distribution.
+     See ../README or http://docbook.sf.net/ for copyright
+     and other information.
+
+     ******************************************************************** -->
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="article" t:wrapper="fo:block"
+             font-family="{$title.fontset}">
+
+  <t:titlepage-content t:side="recto"
+             text-align="center">
+
+    <title t:named-template="component.title"
+	   param:node="ancestor-or-self::article[1]"
+	   keep-with-next="always"
+	   font-size="&hsize5;"
+	   font-weight="bold"/>
+
+    <subtitle/>
+
+    <corpauthor space-before="0.5em"
+                font-size="&hsize2;"/>
+    <authorgroup space-before="0.5em"
+                 font-size="&hsize2;"/>
+    <author space-before="0.5em"
+            font-size="&hsize2;"/>
+
+    <othercredit space-before="0.5em"/>
+    <releaseinfo space-before="0.5em"/>
+    <copyright space-before="0.5em"/>
+    <legalnotice text-align="start"
+                 margin-left="0.5in"
+                 margin-right="0.5in"
+                 font-family="{$body.fontset}"/>
+    <pubdate space-before="0.5em"/>
+    <revision space-before="0.5em"/>
+    <revhistory space-before="0.5em"/>
+    <abstract space-before="0.5em"
+	      text-align="start"
+	      margin-left="0.5in"
+              margin-right="0.5in"
+              font-family="{$body.fontset}"/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="set" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+      <title
+	     t:named-template="division.title"
+	     param:node="ancestor-or-self::set[1]"
+	     text-align="center"
+	     font-size="&hsize5;"
+	     space-before="&hsize5space;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"
+	      text-align="center"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="book" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	t:named-template="division.title"
+	param:node="ancestor-or-self::book[1]"
+	text-align="center"
+	font-size="&hsize5;"
+	space-before="3in"
+	font-weight="bold"
+	font-family="{$title.fontset}"/>
+      <subtitle
+	text-align="center"
+	font-size="&hsize4;"
+	space-before="&hsize4space;"
+	font-family="{$title.fontset}"/>
+      <releaseinfo
+	text-align="center"
+	font-size="&hsize3;"
+        font-style='italic'
+	space-before="1in"
+	font-family="{$title.fontset}"/>
+      <pubdate 
+ 	text-align="center"
+        font-size="&hsize0;"
+	space-before="&hsize3space;"/>
+      <authorgroup 
+        font-size="&hsize3;"
+        space-before="2in"/>
+      <author 
+        font-size="&hsize3;"
+	space-before="7in"
+        keep-with-next="always"/>
+    </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+      <title
+	     t:named-template="book.verso.title"
+	     font-size="&hsize2;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+      <corpauthor/>
+      <authorgroup t:named-template="verso.authorgroup"/>
+      <author/>
+      <releaseinfo space-before="1em"/>
+      <date/>
+      <othercredit/>
+      <pubdate space-before="1em"/>
+      <copyright/>
+      <abstract/>
+      <legalnotice font-size="8pt"/>
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+      <fo:block break-after="page"/>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+      <fo:block break-after="page"/>
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="part" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+      <title
+	     t:named-template="division.title"
+	     param:node="ancestor-or-self::part[1]"
+	     text-align="center"
+	     font-size="&hsize5;"
+	     space-before="&hsize5space;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    <subtitle
+	      text-align="center"
+	      font-size="&hsize4;"
+	      space-before="&hsize4space;"
+	      font-weight='bold'
+	      font-style='italic'
+	      font-family="{$title.fontset}"/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="partintro" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   text-align="center"
+	   font-size="&hsize5;"
+	   font-weight="bold"
+	   space-before="1em"
+	   font-family="{$title.fontset}"/>
+    <subtitle
+	      text-align="center"
+	      font-size="&hsize2;"
+	      font-weight="bold"
+	      font-style="italic"
+	      font-family="{$title.fontset}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="reference" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+      <title
+	     t:named-template="division.title"
+	     param:node="ancestor-or-self::reference[1]"
+	     text-align="center"
+	     font-size="&hsize5;"
+	     space-before="&hsize5space;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"
+	      text-align="center"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="refsynopsisdiv" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   font-family="{$title.fontset}"/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="refsection" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   font-family="{$title.fontset}"/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="refsect1" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   font-family="{$title.fontset}"/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="refsect2" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   font-family="{$title.fontset}"/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="refsect3" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   font-family="{$title.fontset}"/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="dedication" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="component.title"
+	     param:node="ancestor-or-self::dedication[1]"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize5;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="preface" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="component.title"
+	     param:node="ancestor-or-self::preface[1]"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize5;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+      <corpauthor/>
+      <authorgroup/>
+      <author/>
+      <othercredit/>
+      <releaseinfo/>
+      <copyright/>
+      <legalnotice/>
+      <pubdate/>
+      <revision/>
+      <revhistory/>
+      <abstract/>
+    </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="chapter" t:wrapper="fo:block"
+               font-family="{$title.fontset}">
+    <t:titlepage-content t:side="recto" margin-left="{$title.margin.left}">
+      <title t:named-template="component.title"
+	     param:node="ancestor-or-self::chapter[1]"
+	     font-size="&hsize5;"
+	     font-weight="bold"/>
+
+      <subtitle space-before="0.5em"
+		font-style="italic"
+		font-size="&hsize2;"
+		font-weight="bold"/>
+
+      <corpauthor  space-before="0.5em"
+	           space-after="0.5em"
+                   font-size="&hsize2;"/>
+
+      <authorgroup space-before="0.5em"
+	           space-after="0.5em"
+                   font-size="&hsize2;"/>
+
+      <author      space-before="0.5em"
+	           space-after="0.5em"
+                   font-size="&hsize2;"/>
+
+      <othercredit/>
+      <releaseinfo/>
+      <copyright/>
+      <legalnotice/>
+      <pubdate/>
+      <revision/>
+      <revhistory/>
+      <abstract/>
+    </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="appendix" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:named-template="component.title"
+	     param:node="ancestor-or-self::appendix[1]"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize5;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+      <corpauthor/>
+      <authorgroup/>
+      <author/>
+      <othercredit/>
+      <releaseinfo/>
+      <copyright/>
+      <legalnotice/>
+      <pubdate/>
+      <revision/>
+      <revhistory/>
+      <abstract/>
+    </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="section" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   margin-left="{$title.margin.left}"
+	   font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect1" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   margin-left="{$title.margin.left}"
+	   font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect2" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   margin-left="{$title.margin.left}"
+	   font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect3" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   margin-left="{$title.margin.left}"
+	   font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect4" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   margin-left="{$title.margin.left}"
+	   font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect5" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   margin-left="{$title.margin.left}"
+	   font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="simplesect" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   margin-left="{$title.margin.left}"
+	   font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="bibliography" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="component.title"
+	     param:node="ancestor-or-self::bibliography[1]"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize5;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="bibliodiv" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title t:named-template="component.title"
+	     param:node="ancestor-or-self::bibliodiv[1]"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize4;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="glossary" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="component.title"
+	     param:node="ancestor-or-self::glossary[1]"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize5;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="glossdiv" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title t:named-template="component.title"
+	     param:node="ancestor-or-self::glossdiv[1]"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize4;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="index" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="component.title"
+	     param:node="ancestor-or-self::index[1]"
+             param:pagewide="1"
+	     margin-left="0pt"
+	     font-size="&hsize5;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <!-- The indexdiv.title template is used so that manual and -->
+  <!-- automatically generated indexdiv titles get the same -->
+  <!-- formatting. -->
+
+  <t:titlepage t:element="indexdiv" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title t:force="1"
+	     t:named-template="indexdiv.title"
+	     param:title="title"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="setindex" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="component.title"
+	     param:node="ancestor-or-self::setindex[1]"
+             param:pagewide="1"
+	     margin-left="0pt"
+	     font-size="&hsize5;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="colophon" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="component.title"
+	     param:node="ancestor-or-self::colophon[1]"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize5;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="table.of.contents" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="gentext"
+	     param:key="'TableofContents'"
+             space-before.minimum="1em"
+             space-before.optimum="1.5em"
+             space-before.maximum="2em"
+	     space-after="0.5em"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize3;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+  <t:titlepage t:element="list.of.tables" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="gentext"
+	     param:key="'ListofTables'"
+             space-before.minimum="1em"
+             space-before.optimum="1.5em"
+             space-before.maximum="2em"
+	     space-after="0.5em"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize3;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+  <t:titlepage t:element="list.of.figures" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="gentext"
+	     param:key="'ListofFigures'"
+             space-before.minimum="1em"
+             space-before.optimum="1.5em"
+             space-before.maximum="2em"
+	     space-after="0.5em"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize3;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+  <t:titlepage t:element="list.of.examples" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="gentext"
+	     param:key="'ListofExamples'"
+             space-before.minimum="1em"
+             space-before.optimum="1.5em"
+             space-before.maximum="2em"
+	     space-after="0.5em"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize3;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+  <t:titlepage t:element="list.of.equations" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="gentext"
+	     param:key="'ListofEquations'"
+             space-before.minimum="1em"
+             space-before.optimum="1.5em"
+             space-before.maximum="2em"
+	     space-after="0.5em"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize3;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+  <t:titlepage t:element="list.of.procedures" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="gentext"
+	     param:key="'ListofProcedures'"
+             space-before.minimum="1em"
+             space-before.optimum="1.5em"
+             space-before.maximum="2em"
+	     space-after="0.5em"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize3;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+  <t:titlepage t:element="list.of.unknowns" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="gentext"
+	     param:key="'ListofUnknown'"
+             space-before.minimum="1em"
+             space-before.optimum="1.5em"
+             space-before.maximum="2em"
+	     space-after="0.5em"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize3;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+<!-- ==================================================================== -->
+
+</t:templates>
Index: trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/XSLCustomizationLayer/G4BookTitlePageFO.xsl
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/XSLCustomizationLayer/G4BookTitlePageFO.xsl	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/XSLCustomizationLayer/G4BookTitlePageFO.xsl	(revision 904)
@@ -0,0 +1,4205 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+<!-- This stylesheet was created by template/titlepage.xsl; do not edit it by hand. -->
+
+<xsl:template name="article.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="articleinfo/title">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/title"/>
+    </xsl:when>
+    <xsl:when test="artheader/title">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="articleinfo/subtitle">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="artheader/subtitle">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/corpauthor"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/corpauthor"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/authorgroup"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/authorgroup"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/author"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/author"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/othercredit"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/othercredit"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/releaseinfo"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/releaseinfo"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/copyright"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/copyright"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/legalnotice"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/legalnotice"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/pubdate"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/pubdate"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/revision"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/revision"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/revhistory"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/revhistory"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/abstract"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/abstract"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="article.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="article.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="article.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="article.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="article.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" font-family="{$title.fontset}">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="article.titlepage.before.recto"/>
+      <xsl:call-template name="article.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block text-align="center"><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="article.titlepage.before.verso"/>
+      <xsl:call-template name="article.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="article.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="article.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="article.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" keep-with-next="always" font-size="24.8832pt" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::article[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em" font-size="14.4pt">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em" font-size="14.4pt">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em" font-size="14.4pt">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" text-align="start" margin-left="0.5in" margin-right="0.5in" font-family="{$body.fontset}">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em" text-align="start" margin-left="0.5in" margin-right="0.5in" font-family="{$body.fontset}">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="set.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="setinfo/title">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="setinfo/subtitle">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/corpauthor"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/authorgroup"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/author"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/othercredit"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/releaseinfo"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/copyright"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/legalnotice"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/pubdate"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revision"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revhistory"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/abstract"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="set.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="set.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="set.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="set.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="set.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="set.titlepage.before.recto"/>
+      <xsl:call-template name="set.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="set.titlepage.before.verso"/>
+      <xsl:call-template name="set.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="set.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="set.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="set.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style" text-align="center" font-size="24.8832pt" space-before="18.6624pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="division.title">
+<xsl:with-param name="node" select="ancestor-or-self::set[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style" font-family="{$title.fontset}" text-align="center">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="book.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="bookinfo/title">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="bookinfo/subtitle">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/releaseinfo"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/pubdate"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/authorgroup"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/author"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/author"/>
+</xsl:template>
+
+<xsl:template name="book.titlepage.verso">
+  <xsl:choose>
+    <xsl:when test="bookinfo/title">
+      <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/corpauthor"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/authorgroup"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/author"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/releaseinfo"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/date"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/date"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/othercredit"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/pubdate"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/copyright"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/abstract"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/abstract"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/legalnotice"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/legalnotice"/>
+</xsl:template>
+
+<xsl:template name="book.titlepage.separator"><fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" break-after="page"/>
+</xsl:template>
+
+<xsl:template name="book.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="book.titlepage.before.verso"><fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" break-after="page"/>
+</xsl:template>
+
+<xsl:template name="book.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="book.titlepage.before.recto"/>
+      <xsl:call-template name="book.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="book.titlepage.before.verso"/>
+      <xsl:call-template name="book.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="book.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="book.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="book.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="book.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center" font-size="24.8832pt" space-before="3in" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="division.title">
+<xsl:with-param name="node" select="ancestor-or-self::book[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="book.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center" font-size="20.736pt" space-before="15.552pt" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="book.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center" font-size="17.28pt" font-style="italic" space-before="1in" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="book.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center" font-size="10pt" space-before="12.96pt">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="book.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" font-size="17.28pt" space-before="2in">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="book.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" font-size="17.28pt" space-before="7in" keep-with-next="always">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="title" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style" font-size="14.4pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="book.verso.title">
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
+<xsl:call-template name="verso.authorgroup">
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style" space-before="1em">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="date" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style" space-before="1em">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style" font-size="8pt">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="part.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="partinfo/title">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="partinfo/subtitle">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="part.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="part.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="part.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="part.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="part.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="part.titlepage.before.recto"/>
+      <xsl:call-template name="part.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="part.titlepage.before.verso"/>
+      <xsl:call-template name="part.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="part.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="part.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="part.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="part.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="part.titlepage.recto.style" text-align="center" font-size="24.8832pt" space-before="18.6624pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="division.title">
+<xsl:with-param name="node" select="ancestor-or-self::part[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="part.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="part.titlepage.recto.style" text-align="center" font-size="20.736pt" space-before="15.552pt" font-weight="bold" font-style="italic" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="partintroinfo/title">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="partintroinfo/subtitle">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/corpauthor"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/authorgroup"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/author"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/othercredit"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/releaseinfo"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/copyright"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/legalnotice"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/pubdate"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/revision"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/revhistory"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/abstract"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="partintro.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="partintro.titlepage.before.recto"/>
+      <xsl:call-template name="partintro.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="partintro.titlepage.before.verso"/>
+      <xsl:call-template name="partintro.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="partintro.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="partintro.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="partintro.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style" text-align="center" font-size="24.8832pt" font-weight="bold" space-before="1em" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style" text-align="center" font-size="14.4pt" font-weight="bold" font-style="italic" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="reference.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="referenceinfo/title">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="referenceinfo/subtitle">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/corpauthor"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/authorgroup"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/author"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/othercredit"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/releaseinfo"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/copyright"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/legalnotice"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/pubdate"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/revision"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/revhistory"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/abstract"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="reference.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="reference.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="reference.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="reference.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="reference.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="reference.titlepage.before.recto"/>
+      <xsl:call-template name="reference.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="reference.titlepage.before.verso"/>
+      <xsl:call-template name="reference.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="reference.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="reference.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="reference.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style" text-align="center" font-size="24.8832pt" space-before="18.6624pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="division.title">
+<xsl:with-param name="node" select="ancestor-or-self::reference[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style" font-family="{$title.fontset}" text-align="center">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="refsynopsisdiv.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="refsynopsisdivinfo/title">
+      <xsl:apply-templates mode="refsynopsisdiv.titlepage.recto.auto.mode" select="refsynopsisdivinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="refsynopsisdiv.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="refsynopsisdiv.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="refsynopsisdiv.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="refsynopsisdiv.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="refsynopsisdiv.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="refsynopsisdiv.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="refsynopsisdiv.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="refsynopsisdiv.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="refsynopsisdiv.titlepage.before.recto"/>
+      <xsl:call-template name="refsynopsisdiv.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="refsynopsisdiv.titlepage.before.verso"/>
+      <xsl:call-template name="refsynopsisdiv.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="refsynopsisdiv.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="refsynopsisdiv.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="refsynopsisdiv.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="refsynopsisdiv.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="refsynopsisdiv.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="refsynopsisdiv.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="refsection.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="refsectioninfo/title">
+      <xsl:apply-templates mode="refsection.titlepage.recto.auto.mode" select="refsectioninfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="refsection.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="refsection.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="refsection.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="refsection.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="refsection.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="refsection.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="refsection.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="refsection.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="refsection.titlepage.before.recto"/>
+      <xsl:call-template name="refsection.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="refsection.titlepage.before.verso"/>
+      <xsl:call-template name="refsection.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="refsection.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="refsection.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="refsection.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="refsection.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="refsection.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="refsection.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="refsect1.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="refsect1info/title">
+      <xsl:apply-templates mode="refsect1.titlepage.recto.auto.mode" select="refsect1info/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="refsect1.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="refsect1.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="refsect1.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="refsect1.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="refsect1.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="refsect1.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="refsect1.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="refsect1.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="refsect1.titlepage.before.recto"/>
+      <xsl:call-template name="refsect1.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="refsect1.titlepage.before.verso"/>
+      <xsl:call-template name="refsect1.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="refsect1.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="refsect1.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="refsect1.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="refsect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="refsect1.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="refsect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="refsect2.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="refsect2info/title">
+      <xsl:apply-templates mode="refsect2.titlepage.recto.auto.mode" select="refsect2info/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="refsect2.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="refsect2.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="refsect2.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="refsect2.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="refsect2.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="refsect2.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="refsect2.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="refsect2.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="refsect2.titlepage.before.recto"/>
+      <xsl:call-template name="refsect2.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="refsect2.titlepage.before.verso"/>
+      <xsl:call-template name="refsect2.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="refsect2.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="refsect2.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="refsect2.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="refsect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="refsect2.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="refsect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="refsect3.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="refsect3info/title">
+      <xsl:apply-templates mode="refsect3.titlepage.recto.auto.mode" select="refsect3info/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="refsect3.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="refsect3.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="refsect3.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="refsect3.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="refsect3.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="refsect3.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="refsect3.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="refsect3.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="refsect3.titlepage.before.recto"/>
+      <xsl:call-template name="refsect3.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="refsect3.titlepage.before.verso"/>
+      <xsl:call-template name="refsect3.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="refsect3.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="refsect3.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="refsect3.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="refsect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="refsect3.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="refsect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="dedication.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::dedication[1]"/>
+</xsl:call-template></fo:block>
+  <xsl:choose>
+    <xsl:when test="dedicationinfo/subtitle">
+      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="dedicationinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="dedication.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="dedication.titlepage.before.recto"/>
+      <xsl:call-template name="dedication.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="dedication.titlepage.before.verso"/>
+      <xsl:call-template name="dedication.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="dedication.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="dedication.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="dedication.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="dedication.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="dedication.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="dedication.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="preface.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::preface[1]"/>
+</xsl:call-template></fo:block>
+  <xsl:choose>
+    <xsl:when test="prefaceinfo/subtitle">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/corpauthor"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/authorgroup"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/author"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/othercredit"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/releaseinfo"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/copyright"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/legalnotice"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/pubdate"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revision"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revhistory"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/abstract"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="preface.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="preface.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="preface.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="preface.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="preface.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="preface.titlepage.before.recto"/>
+      <xsl:call-template name="preface.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="preface.titlepage.before.verso"/>
+      <xsl:call-template name="preface.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="preface.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="preface.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="preface.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="chapterinfo/title">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="chapterinfo/subtitle">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/corpauthor"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/authorgroup"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/author"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/othercredit"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/releaseinfo"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/copyright"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/legalnotice"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/pubdate"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/revision"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/revhistory"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/abstract"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="chapter.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" font-family="{$title.fontset}">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="chapter.titlepage.before.recto"/>
+      <xsl:call-template name="chapter.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block margin-left="{$title.margin.left}"><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="chapter.titlepage.before.verso"/>
+      <xsl:call-template name="chapter.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="chapter.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="chapter.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="chapter.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style" font-size="24.8832pt" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::chapter[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style" space-before="0.5em" font-style="italic" font-size="14.4pt" font-weight="bold">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style" space-before="0.5em" space-after="0.5em" font-size="14.4pt">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style" space-before="0.5em" space-after="0.5em" font-size="14.4pt">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style" space-before="0.5em" space-after="0.5em" font-size="14.4pt">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="appendixinfo/title">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="appendixinfo/subtitle">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/corpauthor"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/authorgroup"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/author"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/othercredit"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/releaseinfo"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/copyright"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/legalnotice"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/pubdate"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/revision"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/revhistory"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/abstract"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="appendix.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="appendix.titlepage.before.recto"/>
+      <xsl:call-template name="appendix.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="appendix.titlepage.before.verso"/>
+      <xsl:call-template name="appendix.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="appendix.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="appendix.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="appendix.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::appendix[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="section.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sectioninfo/title">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sectioninfo/subtitle">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/corpauthor"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/authorgroup"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/author"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/othercredit"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/releaseinfo"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/copyright"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/legalnotice"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/pubdate"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revision"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revhistory"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/abstract"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="section.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="section.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="section.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="section.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="section.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="section.titlepage.before.recto"/>
+      <xsl:call-template name="section.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="section.titlepage.before.verso"/>
+      <xsl:call-template name="section.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="section.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="section.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="section.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect1info/title">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect1info/subtitle">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/corpauthor"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/authorgroup"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/author"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/othercredit"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/releaseinfo"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/copyright"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/legalnotice"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/pubdate"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revision"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revhistory"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/abstract"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect1.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect1.titlepage.before.recto"/>
+      <xsl:call-template name="sect1.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect1.titlepage.before.verso"/>
+      <xsl:call-template name="sect1.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="sect1.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="sect1.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect1.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect2info/title">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect2info/subtitle">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/corpauthor"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/authorgroup"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/author"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/othercredit"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/releaseinfo"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/copyright"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/legalnotice"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/pubdate"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revision"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revhistory"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/abstract"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect2.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect2.titlepage.before.recto"/>
+      <xsl:call-template name="sect2.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect2.titlepage.before.verso"/>
+      <xsl:call-template name="sect2.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="sect2.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="sect2.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect2.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect3info/title">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect3info/subtitle">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/corpauthor"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/authorgroup"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/author"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/othercredit"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/releaseinfo"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/copyright"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/legalnotice"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/pubdate"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revision"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revhistory"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/abstract"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect3.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect3.titlepage.before.recto"/>
+      <xsl:call-template name="sect3.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect3.titlepage.before.verso"/>
+      <xsl:call-template name="sect3.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="sect3.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="sect3.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect3.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect4info/title">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect4info/subtitle">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/corpauthor"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/authorgroup"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/author"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/othercredit"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/releaseinfo"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/copyright"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/legalnotice"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/pubdate"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revision"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revhistory"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/abstract"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect4.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect4.titlepage.before.recto"/>
+      <xsl:call-template name="sect4.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect4.titlepage.before.verso"/>
+      <xsl:call-template name="sect4.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="sect4.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="sect4.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect4.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect5info/title">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect5info/subtitle">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/corpauthor"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/authorgroup"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/author"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/othercredit"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/releaseinfo"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/copyright"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/legalnotice"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/pubdate"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revision"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revhistory"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/abstract"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect5.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect5.titlepage.before.recto"/>
+      <xsl:call-template name="sect5.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect5.titlepage.before.verso"/>
+      <xsl:call-template name="sect5.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="sect5.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="sect5.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect5.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="simplesectinfo/title">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="simplesectinfo/subtitle">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/corpauthor"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/authorgroup"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/author"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/othercredit"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/releaseinfo"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/copyright"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/legalnotice"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/pubdate"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/revision"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/revhistory"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/abstract"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="simplesect.titlepage.before.recto"/>
+      <xsl:call-template name="simplesect.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="simplesect.titlepage.before.verso"/>
+      <xsl:call-template name="simplesect.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="simplesect.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="simplesect.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="simplesect.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="bibliography.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::bibliography[1]"/>
+</xsl:call-template></fo:block>
+  <xsl:choose>
+    <xsl:when test="bibliographyinfo/subtitle">
+      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="bibliographyinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="bibliography.titlepage.before.recto"/>
+      <xsl:call-template name="bibliography.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="bibliography.titlepage.before.verso"/>
+      <xsl:call-template name="bibliography.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="bibliography.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="bibliography.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="bibliography.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="bibliography.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="bibliography.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="bibliography.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="bibliodiv.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="bibliodivinfo/title">
+      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="bibliodivinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="bibliodivinfo/subtitle">
+      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="bibliodivinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="bibliodiv.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="bibliodiv.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="bibliodiv.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="bibliodiv.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="bibliodiv.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="bibliodiv.titlepage.before.recto"/>
+      <xsl:call-template name="bibliodiv.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="bibliodiv.titlepage.before.verso"/>
+      <xsl:call-template name="bibliodiv.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="bibliodiv.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="bibliodiv.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="bibliodiv.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="bibliodiv.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="bibliodiv.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="20.736pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::bibliodiv[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="bibliodiv.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="bibliodiv.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="bibliodiv.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="glossary.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::glossary[1]"/>
+</xsl:call-template></fo:block>
+  <xsl:choose>
+    <xsl:when test="glossaryinfo/subtitle">
+      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="glossaryinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="glossary.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="glossary.titlepage.before.recto"/>
+      <xsl:call-template name="glossary.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="glossary.titlepage.before.verso"/>
+      <xsl:call-template name="glossary.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="glossary.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="glossary.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="glossary.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="glossary.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="glossary.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="glossary.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="glossdiv.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="glossdivinfo/title">
+      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="glossdivinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="glossdivinfo/subtitle">
+      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="glossdivinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="glossdiv.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="glossdiv.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="glossdiv.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="glossdiv.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="glossdiv.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="glossdiv.titlepage.before.recto"/>
+      <xsl:call-template name="glossdiv.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="glossdiv.titlepage.before.verso"/>
+      <xsl:call-template name="glossdiv.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="glossdiv.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="glossdiv.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="glossdiv.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="glossdiv.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="glossdiv.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="20.736pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::glossdiv[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="glossdiv.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="glossdiv.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="glossdiv.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="index.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="index.titlepage.recto.style" margin-left="0pt" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::index[1]"/>
+<xsl:with-param name="pagewide" select="1"/>
+</xsl:call-template></fo:block>
+  <xsl:choose>
+    <xsl:when test="indexinfo/subtitle">
+      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="indexinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="index.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="index.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="index.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="index.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="index.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="index.titlepage.before.recto"/>
+      <xsl:call-template name="index.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="index.titlepage.before.verso"/>
+      <xsl:call-template name="index.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="index.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="index.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="index.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="index.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="index.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="index.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="indexdiv.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="indexdiv.titlepage.recto.style">
+<xsl:call-template name="indexdiv.title">
+<xsl:with-param name="title" select="title"/>
+</xsl:call-template></fo:block>
+  <xsl:choose>
+    <xsl:when test="indexdivinfo/subtitle">
+      <xsl:apply-templates mode="indexdiv.titlepage.recto.auto.mode" select="indexdivinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="indexdiv.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="indexdiv.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="indexdiv.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="indexdiv.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="indexdiv.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="indexdiv.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="indexdiv.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="indexdiv.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="indexdiv.titlepage.before.recto"/>
+      <xsl:call-template name="indexdiv.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="indexdiv.titlepage.before.verso"/>
+      <xsl:call-template name="indexdiv.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="indexdiv.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="indexdiv.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="indexdiv.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="indexdiv.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="indexdiv.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="indexdiv.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="setindex.titlepage.recto.style" margin-left="0pt" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::setindex[1]"/>
+<xsl:with-param name="pagewide" select="1"/>
+</xsl:call-template></fo:block>
+  <xsl:choose>
+    <xsl:when test="setindexinfo/subtitle">
+      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="setindexinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="setindex.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="setindex.titlepage.before.recto"/>
+      <xsl:call-template name="setindex.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="setindex.titlepage.before.verso"/>
+      <xsl:call-template name="setindex.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="setindex.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="setindex.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="setindex.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="setindex.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="setindex.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="setindex.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="colophon.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="colophon.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::colophon[1]"/>
+</xsl:call-template></fo:block>
+  <xsl:choose>
+    <xsl:when test="colophoninfo/subtitle">
+      <xsl:apply-templates mode="colophon.titlepage.recto.auto.mode" select="colophoninfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="colophon.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="colophon.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="colophon.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="colophon.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="colophon.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="colophon.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="colophon.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="colophon.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="colophon.titlepage.before.recto"/>
+      <xsl:call-template name="colophon.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="colophon.titlepage.before.verso"/>
+      <xsl:call-template name="colophon.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="colophon.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="colophon.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="colophon.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="colophon.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="colophon.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="colophon.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="table.of.contents.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="table.of.contents.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="gentext">
+<xsl:with-param name="key" select="'TableofContents'"/>
+</xsl:call-template></fo:block>
+</xsl:template>
+
+<xsl:template name="table.of.contents.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="table.of.contents.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="table.of.contents.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="table.of.contents.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="table.of.contents.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="table.of.contents.titlepage.before.recto"/>
+      <xsl:call-template name="table.of.contents.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="table.of.contents.titlepage.before.verso"/>
+      <xsl:call-template name="table.of.contents.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="table.of.contents.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="table.of.contents.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="table.of.contents.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template name="list.of.tables.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.tables.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="gentext">
+<xsl:with-param name="key" select="'ListofTables'"/>
+</xsl:call-template></fo:block>
+</xsl:template>
+
+<xsl:template name="list.of.tables.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="list.of.tables.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="list.of.tables.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="list.of.tables.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="list.of.tables.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="list.of.tables.titlepage.before.recto"/>
+      <xsl:call-template name="list.of.tables.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="list.of.tables.titlepage.before.verso"/>
+      <xsl:call-template name="list.of.tables.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="list.of.tables.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.tables.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.tables.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template name="list.of.figures.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.figures.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="gentext">
+<xsl:with-param name="key" select="'ListofFigures'"/>
+</xsl:call-template></fo:block>
+</xsl:template>
+
+<xsl:template name="list.of.figures.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="list.of.figures.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="list.of.figures.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="list.of.figures.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="list.of.figures.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="list.of.figures.titlepage.before.recto"/>
+      <xsl:call-template name="list.of.figures.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="list.of.figures.titlepage.before.verso"/>
+      <xsl:call-template name="list.of.figures.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="list.of.figures.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.figures.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.figures.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template name="list.of.examples.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.examples.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="gentext">
+<xsl:with-param name="key" select="'ListofExamples'"/>
+</xsl:call-template></fo:block>
+</xsl:template>
+
+<xsl:template name="list.of.examples.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="list.of.examples.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="list.of.examples.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="list.of.examples.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="list.of.examples.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="list.of.examples.titlepage.before.recto"/>
+      <xsl:call-template name="list.of.examples.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="list.of.examples.titlepage.before.verso"/>
+      <xsl:call-template name="list.of.examples.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="list.of.examples.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.examples.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.examples.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template name="list.of.equations.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.equations.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="gentext">
+<xsl:with-param name="key" select="'ListofEquations'"/>
+</xsl:call-template></fo:block>
+</xsl:template>
+
+<xsl:template name="list.of.equations.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="list.of.equations.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="list.of.equations.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="list.of.equations.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="list.of.equations.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="list.of.equations.titlepage.before.recto"/>
+      <xsl:call-template name="list.of.equations.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="list.of.equations.titlepage.before.verso"/>
+      <xsl:call-template name="list.of.equations.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="list.of.equations.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.equations.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.equations.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template name="list.of.procedures.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.procedures.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="gentext">
+<xsl:with-param name="key" select="'ListofProcedures'"/>
+</xsl:call-template></fo:block>
+</xsl:template>
+
+<xsl:template name="list.of.procedures.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="list.of.procedures.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="list.of.procedures.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="list.of.procedures.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="list.of.procedures.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="list.of.procedures.titlepage.before.recto"/>
+      <xsl:call-template name="list.of.procedures.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="list.of.procedures.titlepage.before.verso"/>
+      <xsl:call-template name="list.of.procedures.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="list.of.procedures.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.procedures.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.procedures.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template name="list.of.unknowns.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.unknowns.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="gentext">
+<xsl:with-param name="key" select="'ListofUnknown'"/>
+</xsl:call-template></fo:block>
+</xsl:template>
+
+<xsl:template name="list.of.unknowns.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="list.of.unknowns.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="list.of.unknowns.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="list.of.unknowns.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="list.of.unknowns.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="list.of.unknowns.titlepage.before.recto"/>
+      <xsl:call-template name="list.of.unknowns.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="list.of.unknowns.titlepage.before.verso"/>
+      <xsl:call-template name="list.of.unknowns.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="list.of.unknowns.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.unknowns.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.unknowns.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+</xsl:stylesheet>
Index: trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/XSLCustomizationLayer/G4BookTitlePageHTML.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/XSLCustomizationLayer/G4BookTitlePageHTML.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/XSLCustomizationLayer/G4BookTitlePageHTML.xml	(revision 904)
@@ -0,0 +1,665 @@
+<t:templates xmlns:t="http://nwalsh.com/docbook/xsl/template/1.0"
+	     xmlns:param="http://nwalsh.com/docbook/xsl/template/1.0/param"
+             xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="article" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <hr/>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="set" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <hr/>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="book" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title
+      text-align="center"/>        
+    <subtitle
+      text-align="center"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author
+      text-align="center"/>        
+    <othercredit/>
+    <releaseinfo
+      text-align="center"/>        
+    <date
+      text-align="center"/>        
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <hr/>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="part" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="partintro" t:wrapper="div">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="reference" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <hr/>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="refentry" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+<!-- uncomment this if you want refentry titlepages
+    <title t:force="1"
+	   t:named-template="refentry.title"
+	   param:node="ancestor-or-self::refentry[1]"/>
+-->
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator/>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="dedication" t:wrapper="div" class="titlepage">
+    <t:titlepage-content t:side="recto">
+    <title
+	   t:force="1"
+	   t:named-template="component.title"
+	   param:node="ancestor-or-self::dedication[1]"/>
+    <subtitle/>
+    </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="preface" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="chapter" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="appendix" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="section" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect1" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect2" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect3" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect4" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect5" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="simplesect" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="bibliography" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title
+	   t:force="1"
+	   t:named-template="component.title"
+	   param:node="ancestor-or-self::bibliography[1]"/>
+    <subtitle/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="glossary" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title
+	   t:force="1"
+	   t:named-template="component.title"
+	   param:node="ancestor-or-self::glossary[1]"/>
+    <subtitle/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="index" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title
+	   t:force="1"
+	   t:named-template="component.title"
+	   param:node="ancestor-or-self::index[1]"/>
+    <subtitle/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="setindex" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title
+	   t:force="1"
+	   t:named-template="component.title"
+	   param:node="ancestor-or-self::setindex[1]"/>
+    <subtitle/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+</t:templates>
Index: trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/XSLCustomizationLayer/G4BookTitlePageHTML.xsl
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/XSLCustomizationLayer/G4BookTitlePageHTML.xsl	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/XSLCustomizationLayer/G4BookTitlePageHTML.xsl	(revision 904)
@@ -0,0 +1,3293 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+<!-- This stylesheet was created by template/titlepage.xsl; do not edit it by hand. -->
+
+<xsl:template name="article.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="articleinfo/title">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/title"/>
+    </xsl:when>
+    <xsl:when test="artheader/title">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="articleinfo/subtitle">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="artheader/subtitle">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/corpauthor"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/corpauthor"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/authorgroup"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/authorgroup"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/author"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/author"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/othercredit"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/othercredit"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/releaseinfo"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/releaseinfo"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/copyright"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/copyright"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/legalnotice"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/legalnotice"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/pubdate"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/pubdate"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/revision"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/revision"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/revhistory"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/revhistory"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/abstract"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/abstract"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="article.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="article.titlepage.separator"><hr/>
+</xsl:template>
+
+<xsl:template name="article.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="article.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="article.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="article.titlepage.before.recto"/>
+      <xsl:call-template name="article.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="article.titlepage.before.verso"/>
+      <xsl:call-template name="article.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="article.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="article.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="article.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="set.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="setinfo/title">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="setinfo/subtitle">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/corpauthor"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/authorgroup"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/author"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/othercredit"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/releaseinfo"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/copyright"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/legalnotice"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/pubdate"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revision"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revhistory"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/abstract"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="set.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="set.titlepage.separator"><hr/>
+</xsl:template>
+
+<xsl:template name="set.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="set.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="set.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="set.titlepage.before.recto"/>
+      <xsl:call-template name="set.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="set.titlepage.before.verso"/>
+      <xsl:call-template name="set.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="set.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="set.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="set.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="book.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="bookinfo/title">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="bookinfo/subtitle">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/corpauthor"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/authorgroup"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/author"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/othercredit"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/releaseinfo"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/date"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/date"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/copyright"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/legalnotice"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/pubdate"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/revision"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/revhistory"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/abstract"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="book.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="book.titlepage.separator"><hr/>
+</xsl:template>
+
+<xsl:template name="book.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="book.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="book.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="book.titlepage.before.recto"/>
+      <xsl:call-template name="book.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="book.titlepage.before.verso"/>
+      <xsl:call-template name="book.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="book.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="book.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="book.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="date" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="part.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="partinfo/title">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="partinfo/subtitle">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/corpauthor"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/authorgroup"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/author"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/othercredit"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/releaseinfo"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/copyright"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/legalnotice"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/pubdate"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/revision"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/revhistory"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/abstract"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="part.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="part.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="part.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="part.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="part.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="part.titlepage.before.recto"/>
+      <xsl:call-template name="part.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="part.titlepage.before.verso"/>
+      <xsl:call-template name="part.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="part.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="part.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="part.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="partintroinfo/title">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="partintroinfo/subtitle">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/corpauthor"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/authorgroup"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/author"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/othercredit"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/releaseinfo"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/copyright"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/legalnotice"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/pubdate"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/revision"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/revhistory"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/abstract"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="partintro.titlepage">
+  <div>
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="partintro.titlepage.before.recto"/>
+      <xsl:call-template name="partintro.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="partintro.titlepage.before.verso"/>
+      <xsl:call-template name="partintro.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="partintro.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="partintro.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="partintro.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="reference.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="referenceinfo/title">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="referenceinfo/subtitle">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/corpauthor"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/authorgroup"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/author"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/othercredit"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/releaseinfo"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/copyright"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/legalnotice"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/pubdate"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/revision"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/revhistory"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/abstract"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="reference.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="reference.titlepage.separator"><hr/>
+</xsl:template>
+
+<xsl:template name="reference.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="reference.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="reference.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="reference.titlepage.before.recto"/>
+      <xsl:call-template name="reference.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="reference.titlepage.before.verso"/>
+      <xsl:call-template name="reference.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="reference.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="reference.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="reference.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="refentry.titlepage.recto">
+</xsl:template>
+
+<xsl:template name="refentry.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="refentry.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="refentry.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="refentry.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="refentry.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="refentry.titlepage.before.recto"/>
+      <xsl:call-template name="refentry.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="refentry.titlepage.before.verso"/>
+      <xsl:call-template name="refentry.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="refentry.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="refentry.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="refentry.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.recto">
+  <div xsl:use-attribute-sets="dedication.titlepage.recto.style">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::dedication[1]"/>
+</xsl:call-template></div>
+  <xsl:choose>
+    <xsl:when test="dedicationinfo/subtitle">
+      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="dedicationinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="dedication.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="dedication.titlepage.before.recto"/>
+      <xsl:call-template name="dedication.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="dedication.titlepage.before.verso"/>
+      <xsl:call-template name="dedication.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="dedication.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="dedication.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="dedication.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="dedication.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="dedication.titlepage.recto.style">
+<xsl:apply-templates select="." mode="dedication.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="preface.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="prefaceinfo/title">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="prefaceinfo/subtitle">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/corpauthor"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/authorgroup"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/author"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/othercredit"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/releaseinfo"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/copyright"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/legalnotice"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/pubdate"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revision"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revhistory"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/abstract"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="preface.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="preface.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="preface.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="preface.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="preface.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="preface.titlepage.before.recto"/>
+      <xsl:call-template name="preface.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="preface.titlepage.before.verso"/>
+      <xsl:call-template name="preface.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="preface.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="preface.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="preface.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="chapterinfo/title">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="chapterinfo/subtitle">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/corpauthor"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/authorgroup"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/author"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/othercredit"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/releaseinfo"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/copyright"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/legalnotice"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/pubdate"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/revision"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/revhistory"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/abstract"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="chapter.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="chapter.titlepage.before.recto"/>
+      <xsl:call-template name="chapter.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="chapter.titlepage.before.verso"/>
+      <xsl:call-template name="chapter.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="chapter.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="chapter.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="chapter.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="appendixinfo/title">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="appendixinfo/subtitle">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/corpauthor"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/authorgroup"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/author"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/othercredit"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/releaseinfo"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/copyright"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/legalnotice"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/pubdate"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/revision"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/revhistory"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/abstract"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="appendix.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="appendix.titlepage.before.recto"/>
+      <xsl:call-template name="appendix.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="appendix.titlepage.before.verso"/>
+      <xsl:call-template name="appendix.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="appendix.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="appendix.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="appendix.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="section.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sectioninfo/title">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sectioninfo/subtitle">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/corpauthor"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/authorgroup"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/author"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/othercredit"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/releaseinfo"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/copyright"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/legalnotice"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/pubdate"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revision"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revhistory"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/abstract"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="section.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="section.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+</xsl:template>
+
+<xsl:template name="section.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="section.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="section.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="section.titlepage.before.recto"/>
+      <xsl:call-template name="section.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="section.titlepage.before.verso"/>
+      <xsl:call-template name="section.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="section.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="section.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="section.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect1info/title">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect1info/subtitle">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/corpauthor"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/authorgroup"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/author"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/othercredit"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/releaseinfo"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/copyright"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/legalnotice"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/pubdate"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revision"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revhistory"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/abstract"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect1.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect1.titlepage.before.recto"/>
+      <xsl:call-template name="sect1.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect1.titlepage.before.verso"/>
+      <xsl:call-template name="sect1.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="sect1.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="sect1.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect1.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect2info/title">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect2info/subtitle">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/corpauthor"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/authorgroup"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/author"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/othercredit"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/releaseinfo"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/copyright"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/legalnotice"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/pubdate"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revision"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revhistory"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/abstract"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect2.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect2.titlepage.before.recto"/>
+      <xsl:call-template name="sect2.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect2.titlepage.before.verso"/>
+      <xsl:call-template name="sect2.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="sect2.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="sect2.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect2.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect3info/title">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect3info/subtitle">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/corpauthor"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/authorgroup"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/author"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/othercredit"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/releaseinfo"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/copyright"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/legalnotice"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/pubdate"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revision"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revhistory"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/abstract"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect3.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect3.titlepage.before.recto"/>
+      <xsl:call-template name="sect3.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect3.titlepage.before.verso"/>
+      <xsl:call-template name="sect3.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="sect3.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="sect3.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect3.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect4info/title">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect4info/subtitle">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/corpauthor"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/authorgroup"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/author"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/othercredit"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/releaseinfo"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/copyright"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/legalnotice"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/pubdate"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revision"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revhistory"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/abstract"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect4.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect4.titlepage.before.recto"/>
+      <xsl:call-template name="sect4.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect4.titlepage.before.verso"/>
+      <xsl:call-template name="sect4.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="sect4.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="sect4.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect4.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect5info/title">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect5info/subtitle">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/corpauthor"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/authorgroup"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/author"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/othercredit"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/releaseinfo"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/copyright"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/legalnotice"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/pubdate"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revision"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revhistory"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/abstract"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect5.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect5.titlepage.before.recto"/>
+      <xsl:call-template name="sect5.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect5.titlepage.before.verso"/>
+      <xsl:call-template name="sect5.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="sect5.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="sect5.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect5.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="simplesectinfo/title">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="simplesectinfo/subtitle">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/corpauthor"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/authorgroup"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/author"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/othercredit"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/releaseinfo"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/copyright"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/legalnotice"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/pubdate"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/revision"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/revhistory"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/abstract"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="simplesect.titlepage.before.recto"/>
+      <xsl:call-template name="simplesect.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="simplesect.titlepage.before.verso"/>
+      <xsl:call-template name="simplesect.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="simplesect.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="simplesect.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="simplesect.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.recto">
+  <div xsl:use-attribute-sets="bibliography.titlepage.recto.style">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::bibliography[1]"/>
+</xsl:call-template></div>
+  <xsl:choose>
+    <xsl:when test="bibliographyinfo/subtitle">
+      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="bibliographyinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="bibliography.titlepage.before.recto"/>
+      <xsl:call-template name="bibliography.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="bibliography.titlepage.before.verso"/>
+      <xsl:call-template name="bibliography.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="bibliography.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="bibliography.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="bibliography.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="bibliography.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="bibliography.titlepage.recto.style">
+<xsl:apply-templates select="." mode="bibliography.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.recto">
+  <div xsl:use-attribute-sets="glossary.titlepage.recto.style">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::glossary[1]"/>
+</xsl:call-template></div>
+  <xsl:choose>
+    <xsl:when test="glossaryinfo/subtitle">
+      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="glossaryinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="glossary.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="glossary.titlepage.before.recto"/>
+      <xsl:call-template name="glossary.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="glossary.titlepage.before.verso"/>
+      <xsl:call-template name="glossary.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="glossary.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="glossary.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="glossary.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="glossary.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="glossary.titlepage.recto.style">
+<xsl:apply-templates select="." mode="glossary.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="index.titlepage.recto">
+  <div xsl:use-attribute-sets="index.titlepage.recto.style">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::index[1]"/>
+</xsl:call-template></div>
+  <xsl:choose>
+    <xsl:when test="indexinfo/subtitle">
+      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="indexinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="index.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="index.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="index.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="index.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="index.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="index.titlepage.before.recto"/>
+      <xsl:call-template name="index.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="index.titlepage.before.verso"/>
+      <xsl:call-template name="index.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="index.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="index.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="index.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="index.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="index.titlepage.recto.style">
+<xsl:apply-templates select="." mode="index.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.recto">
+  <div xsl:use-attribute-sets="setindex.titlepage.recto.style">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::setindex[1]"/>
+</xsl:call-template></div>
+  <xsl:choose>
+    <xsl:when test="setindexinfo/subtitle">
+      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="setindexinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="setindex.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="setindex.titlepage.before.recto"/>
+      <xsl:call-template name="setindex.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="setindex.titlepage.before.verso"/>
+      <xsl:call-template name="setindex.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="setindex.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="setindex.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="setindex.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="setindex.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="setindex.titlepage.recto.style">
+<xsl:apply-templates select="." mode="setindex.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+</xsl:stylesheet>
Index: trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/XSLCustomizationLayer/G4HTMLStylesheet.css
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/XSLCustomizationLayer/G4HTMLStylesheet.css	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/XSLCustomizationLayer/G4HTMLStylesheet.css	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/XSLCustomizationLayer/G4XSLCommon.xsl
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/XSLCustomizationLayer/G4XSLCommon.xsl	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/XSLCustomizationLayer/G4XSLCommon.xsl	(revision 904)
@@ -0,0 +1,52 @@
+<?xml version='1.0' ?>
+<!-- ******************************************************************** -->  
+<!-- Setting up common Docbook XSL customization parameters for HTML and  -->
+<!-- FO. You need to inculde this file in the HTML and FO specific        --> 
+<!-- customization layer.                                                 -->
+<!-- ******************************************************************** -->  
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Automatically calculate the section numbers and add it to the header -->
+<!-- of the section title.                                                -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="section.autolabel">1</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Let the section labels start from the chapter number                 -->
+<!-- (Section 1.1, Section 1.2,... instead of Section 1, Section 2,...)   -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="section.label.includes.component.label">1</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Specify where the title shows up in figure, example, table, etc.     -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="formal.title.placement">
+figure after
+example before
+equation after
+table after
+procedure after
+</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Specify what will be appeared in table of content (toc)              -->
+<!-- For example, 'book toc,title' means toc will be generated and also   -->
+<!-- the title 'Table of Content' will be shown at the beginning of book. -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="generate.toc">
+book      toc,title
+chapter   nop
+section   nop
+appendix  nop
+</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- In 'xref' just write out the chapter/section number and not include  -->
+<!-- the their title.                                                     -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="xref.with.number.and.title">0</xsl:param>
+
+
+</xsl:stylesheet>
Index: trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/XSLCustomizationLayer/G4XSLCustomFO.xsl
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/XSLCustomizationLayer/G4XSLCustomFO.xsl	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/XSLCustomizationLayer/G4XSLCustomFO.xsl	(revision 904)
@@ -0,0 +1,170 @@
+<?xml version='1.0' ?>
+<!-- ******************************************************************** -->  
+<!--  FO Customization Layer of Docbook XSL                               --> 
+<!-- ******************************************************************** -->  
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
+                xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Import the FO stylesheet                                             -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:import href="/usr/share/xml/docbook/stylesheet/nwalsh/current/fo/docbook.xsl"/>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Include the file which specifies common DocBook XSL parameters.      -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:include href="./G4XSLCommon.xsl" />
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Include the file which specifies the customized title page.          -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:include href="./G4BookTitlePageFO.xsl" />
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Define useful processing instructions for FO                         -->
+<!--  [Usage]  <? PI-name ?>                                              -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+
+<!-- Hard pagebreak -->
+<xsl:template match="processing-instruction('hard-pagebreak')">
+  <fo:block break-before='page' />
+</xsl:template>
+
+<!-- Soft pagebreak -->
+<xsl:template match="processing-instruction('soft-pagebreak')">
+  <fo:block-container width="100%" height="3.0cm">
+    <fo:block />
+  </fo:block-container>
+  <fo:block space-before="-3.0cm" />
+</xsl:template>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Page layout                                                          -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+
+<!-- Paper size -->
+<xsl:param name="paper.type">A4</xsl:param>
+
+<!-- Indentation of body text -->
+<xsl:param name="body.start.indent">0pt</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Global style for appearance of 'Title' in the major tags including   -->
+<!-- chapter, appendix, bibliography, index, etc                          -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:attribute-set name="component.title.properties">
+  <xsl:attribute name="font-weight">bold</xsl:attribute>
+  <xsl:attribute name="font-size">
+    <xsl:value-of select="$body.font.master * 2.0"/>
+    <xsl:text>pt</xsl:text>
+  </xsl:attribute>
+</xsl:attribute-set>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Style for appearance of 'Title' in various section level             -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:attribute-set name="section.title.level1.properties">
+  <xsl:attribute name="font-size">
+    <xsl:value-of select="$body.font.master * 1.8"/>
+    <xsl:text>pt</xsl:text>
+  </xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="section.title.level2.properties">
+  <xsl:attribute name="font-size">
+    <xsl:value-of select="$body.font.master * 1.6"/>
+    <xsl:text>pt</xsl:text>
+  </xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="section.title.level3.properties">
+  <xsl:attribute name="font-size">
+    <xsl:value-of select="$body.font.master * 1.4"/>
+    <xsl:text>pt</xsl:text>
+  </xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="section.title.level4.properties">
+  <xsl:attribute name="font-size">
+    <xsl:value-of select="$body.font.master * 1.2"/>
+    <xsl:text>pt</xsl:text>
+  </xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="section.title.level5.properties">
+  <xsl:attribute name="font-size">
+    <xsl:value-of select="$body.font.master * 1.0"/>
+    <xsl:text>pt</xsl:text>
+  </xsl:attribute>
+</xsl:attribute-set>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Style for appearance of 'Title' in figure, table, example, etc       -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:attribute-set name="formal.title.properties">
+  <xsl:attribute name="font-weight">bold</xsl:attribute>
+  <xsl:attribute name="font-size">12pt</xsl:attribute>
+  <xsl:attribute name="hyphenate">false</xsl:attribute>
+  <xsl:attribute name="space-before.minimum">0.3mm</xsl:attribute>
+  <xsl:attribute name="space-before.optimum">0.5mm</xsl:attribute>
+  <xsl:attribute name="space-before.maximum">1.0mm</xsl:attribute>
+  <xsl:attribute name="space-after.minimum">0pt</xsl:attribute>
+  <xsl:attribute name="space-after.optimum">0pt</xsl:attribute>
+  <xsl:attribute name="space-after.maximum">0pt</xsl:attribute>
+</xsl:attribute-set>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Example and informal example style                                   -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+
+<xsl:attribute-set name="example.properties">
+  <xsl:attribute name="space-before.minimum">0.5em</xsl:attribute>
+  <xsl:attribute name="space-before.optimum">1em</xsl:attribute>
+  <xsl:attribute name="space-before.maximum">2em</xsl:attribute>
+  <xsl:attribute name="space-after.minimum">0.5em</xsl:attribute>
+  <xsl:attribute name="space-after.optimum">1em</xsl:attribute>
+  <xsl:attribute name="space-after.maximum">2em</xsl:attribute>
+  <xsl:attribute name="background-color">#DDDDDD</xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="informalexample.properties">
+  <xsl:attribute name="space-before.minimum">0.5em</xsl:attribute>
+  <xsl:attribute name="space-before.optimum">1em</xsl:attribute>
+  <xsl:attribute name="space-before.maximum">2em</xsl:attribute>
+  <xsl:attribute name="space-after.minimum">0.5em</xsl:attribute>
+  <xsl:attribute name="space-after.optimum">1em</xsl:attribute>
+  <xsl:attribute name="space-after.maximum">2em</xsl:attribute>
+  <xsl:attribute name="background-color">#DDDDDD</xsl:attribute>
+</xsl:attribute-set>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Reduce the font size in verbatim environment (ex. programlisting)    -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:attribute-set name="monospace.verbatim.properties">
+  <xsl:attribute name="font-size">75%</xsl:attribute>
+</xsl:attribute-set>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Variablelist style                                                   -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="variablelist.as.blocks">1</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Ulink style                                                          -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- xsl:param name="ulink.footnotes">1</xsl:param -->
+<!-- xsl:param name="ulink.hyphenate">1</xsl:param -->
+<xsl:param name="ulink.show">0</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Footnote style                                                       -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:attribute-set name="footnote.mark.properties">
+  <xsl:attribute name="font-size">85%</xsl:attribute>
+  <xsl:attribute name="font-weight">bold</xsl:attribute>
+  <xsl:attribute name="font-style">italic</xsl:attribute>
+</xsl:attribute-set>
+
+
+</xsl:stylesheet>
Index: trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/XSLCustomizationLayer/G4XSLCustomHTML.xsl
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/XSLCustomizationLayer/G4XSLCustomHTML.xsl	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/InstallationGuide/xml/XSLCustomizationLayer/G4XSLCustomHTML.xsl	(revision 904)
@@ -0,0 +1,72 @@
+<?xml version='1.0' ?>
+<!-- ******************************************************************** -->  
+<!--  HTML Customization Layer of Docbook XSL                             --> 
+<!-- ******************************************************************** -->  
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Import the stylesheet to chunk the html output                       -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:import href="/usr/share/xml/docbook/stylesheet/nwalsh/current/html/chunk.xsl" />
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Include the file which specifies common DocBook XSL parameters.      -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:include href="./G4XSLCommon.xsl" />
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Specify the CSS stylesheet to be used for fine tuning of appearance. -->
+<!--   [Note] Remember to take care the relative path to index.html       -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="html.stylesheet">../xml/XSLCustomizationLayer/G4HTMLStylesheet.css</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Specify the chunk conditions - the chunk level and the directory to  -->
+<!-- which the chunked files will be stored. You need to import the chunk -->
+<!-- stylesheet beforehand.                                               -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="chunk.section.depth">1</xsl:param>
+<xsl:param name="base.dir">../html/</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Include the file which specifies the customized title page.          -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:include href="./G4BookTitlePageHTML.xsl" />
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Use customized navigation icons.                                     -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="navig.graphics">1</xsl:param>
+<xsl:param name="navig.graphics.extension">.gif</xsl:param>
+<xsl:param name="navig.graphics.path">AllResources/IconsGIF/</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Define Java script and invoke by processing instruction (PI)         -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+
+<!-- Include JavaScript Function in HTML Header Part -->
+<xsl:template name="user.head.content">
+<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>
+</xsl:template>
+
+<!-- Handle Processing Instruction named 'JavaScript' -->
+<xsl:template match="processing-instruction()[local-name()= 'JavaScript']">
+  <xsl:text disable-output-escaping="yes">&lt;a href="javascript:remote_win('</xsl:text>
+  <xsl:value-of select="." /><xsl:text disable-output-escaping="yes">')" onMouseOver="window.status='Get alive picture...'; return true"&gt;[Rotate the Picture]&lt;br /&gt;
+  </xsl:text>
+  <xsl:text disable-output-escaping="yes">&lt;/a&gt;
+  </xsl:text>
+</xsl:template>
+
+
+</xsl:stylesheet>
+
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/CVS/Entries
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/CVS/Entries	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/CVS/Entries	(revision 904)
@@ -0,0 +1,49 @@
+/_.html/1.1/Fri Apr 20 14:45:48 2007//
+/_control_.html/1.1/Fri Apr 20 14:45:48 2007//
+/_event_.html/1.1/Fri Apr 20 14:45:48 2007//
+/_event_stack_.html/1.1/Fri Apr 20 14:45:48 2007//
+/_geometry_.html/1.1/Fri Apr 20 14:45:48 2007//
+/_geometry_navigator_.html/1.1/Fri Apr 20 14:45:48 2007//
+/_geometry_test_.html/1.1/Fri Apr 20 14:45:48 2007//
+/_gun_.html/1.1/Fri Apr 20 14:45:48 2007//
+/_hits_.html/1.1/Fri Apr 20 14:45:48 2007//
+/_particle_.html/1.1/Fri Apr 20 14:45:48 2007//
+/_particle_process_.html/1.1/Fri Apr 20 14:45:48 2007//
+/_particle_property_.html/1.1/Fri Apr 20 14:45:48 2007//
+/_particle_property_decay_.html/1.1/Fri Apr 20 14:45:48 2007//
+/_process_.html/1.1/Fri Apr 20 14:45:48 2007//
+/_process_eLoss_.html/1.1/Fri Apr 20 14:45:48 2007//
+/_random_.html/1.1/Fri Apr 20 14:45:48 2007//
+/_run_.html/1.1/Fri Apr 20 14:45:48 2007//
+/_run_particle_.html/1.1/Fri Apr 20 14:45:48 2007//
+/_tracking_.html/1.1/Fri Apr 20 14:45:48 2007//
+/_units_.html/1.1/Fri Apr 20 14:45:49 2007//
+/_vis_.html/1.1/Fri Apr 20 14:45:49 2007//
+/_vis_ASCIITree_.html/1.1/Fri Apr 20 14:45:49 2007//
+/_vis_ASCIITree_set_.html/1.1/Fri Apr 20 14:45:49 2007//
+/_vis_GAGTree_.html/1.1/Fri Apr 20 14:45:49 2007//
+/_vis_heprep_.html/1.1/Fri Apr 20 14:45:49 2007//
+/_vis_modeling_.html/1.1/Fri Apr 20 14:45:49 2007//
+/_vis_modeling_trajectories_.html/1.1/Fri Apr 20 14:45:49 2007//
+/_vis_modeling_trajectories_create_.html/1.1/Fri Apr 20 14:45:49 2007//
+/_vis_modeling_trajectories_drawByCharge-0_.html/1.1/Fri Apr 20 14:45:49 2007//
+/_vis_modeling_trajectories_drawByParticleID-0_.html/1.1/Fri Apr 20 14:45:49 2007//
+/_vis_oglxm-viewer-0_.html/1.1/Fri Apr 20 14:45:49 2007//
+/_vis_oglxm-viewer-0_set_.html/1.1/Fri Apr 20 14:45:49 2007//
+/_vis_rayTracer_.html/1.1/Fri Apr 20 14:45:49 2007//
+/_vis_sceneHandler_.html/1.1/Fri Apr 20 14:45:49 2007//
+/_vis_scene_.html/1.1/Fri Apr 20 14:45:49 2007//
+/_vis_scene_add_.html/1.1/Fri Apr 20 14:45:49 2007//
+/_vis_viewer_.html/1.1/Fri Apr 20 14:45:49 2007//
+/_vis_viewer_set_.html/1.1/Fri Apr 20 14:45:49 2007//
+/control.txt/1.1/Fri Apr 20 14:45:49 2007//
+/event.txt/1.1/Fri Apr 20 14:45:49 2007//
+/geometry.txt/1.1/Fri Apr 20 14:45:49 2007//
+/gun.txt/1.1/Fri Apr 20 14:45:49 2007//
+/particle.txt/1.1/Fri Apr 20 14:45:49 2007//
+/process.txt/1.1/Fri Apr 20 14:45:49 2007//
+/random.txt/1.1/Fri Apr 20 14:45:49 2007//
+/run.txt/1.1/Fri Apr 20 14:45:49 2007//
+/tracking.txt/1.1/Fri Apr 20 14:45:49 2007//
+/vis.txt/1.1/Fri Apr 20 14:45:49 2007//
+D
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/CVS/Repository
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/CVS/Repository	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/CVS/Repository	(revision 904)
@@ -0,0 +1,1 @@
+documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/CVS/Root
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/CVS/Root	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/CVS/Root	(revision 904)
@@ -0,0 +1,1 @@
+:ext:lgarnier@geant4.cvs.cern.ch:/cvs/Geant4
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_.html	(revision 904)
@@ -0,0 +1,31 @@
+<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.
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_control_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_control_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_control_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_event_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_event_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_event_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_event_stack_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_event_stack_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_event_stack_.html	(revision 904)
@@ -0,0 +1,28 @@
+<html><head><title>Commands in /event/stack/</title></head>
+<body bgcolor="#ffffff"><h2>/event/stack/</h2><p>
+Stack control commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>status</b>
+<p><dd>
+List current status of the stack.<br>
+<p><dd>Available at all Geant4 states.
+<p><br><p><dt><b>clear [<i>level</i>]</b>
+<p><dd>
+Clear stacked tracks.<br>
+ 2 : clear all tracks in all stacks<br>
+ 1 : clear tracks in the urgent and waiting stacks<br>
+ 0 : clear tracks in the waiting stack (default)<br>
+-1 : clear tracks in the urgent stack<br>
+-2 : clear tracks in the postponed stack<br>
+<p><dd>Range : level&gt;=-2&amp;&amp;level&lt;=2
+<p><dd>Available Geant4 state(s) : GeomClosed 
+EventProc 
+<p><dd>Parameters<table border=1>
+<tr><td>level
+<td>type i
+<td>Omittable : default value = 0
+<td></table>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_geometry_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_geometry_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_geometry_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_geometry_navigator_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_geometry_navigator_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_geometry_navigator_.html	(revision 904)
@@ -0,0 +1,31 @@
+<html><head><title>Commands in /geometry/navigator/</title></head>
+<body bgcolor="#ffffff"><h2>/geometry/navigator/</h2><p>
+Geometry navigator control setup.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>reset</b>
+<p><dd>
+Reset navigator and navigation history.<br>
+NOTE: must be called only after kernel has been<br>
+      initialized once through the run manager!<br>
+<p><dd>Available Geant4 state(s) : Idle 
+<p><br><p><dt><b>verbose [<i>level</i>]</b>
+<p><dd>
+Set run-time verbosity for the navigator.<br>
+ 0 : Silent (default)<br>
+ 1 : Display positioning and relative states<br>
+ 2 : Display step/safety info on point location<br>
+ 3 : Display state at -every- step!<br>
+ 4 : Maximum verbosity (very detailed!)<br>
+NOTE: this command has effect -only- if Geant4 has<br>
+      been installed with the G4VERBOSE flag set!<br>
+<p><dd>Range : level &gt;=0 &amp;&amp; level &lt;=4
+<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>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_geometry_test_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_geometry_test_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_geometry_test_.html	(revision 904)
@@ -0,0 +1,91 @@
+<html><head><title>Commands in /geometry/test/</title></head>
+<body bgcolor="#ffffff"><h2>/geometry/test/</h2><p>
+Geometry verification control setup.<br>
+Helps in detecting possible overlapping regions.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>tolerance [<i>Tolerance</i>] [<i>Unit</i>]</b>
+<p><dd>
+Set error tolerance value.<br>
+Default: 1E-4*mm.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>Tolerance
+<td>type d
+<td>Omittable : current value is used as the default value.
+<td><tr><td>Unit
+<td>type s
+<td>Omittable : default value = mm
+<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>position [<i>X</i>] [<i>Y</i>] [<i>Z</i>] [<i>Unit</i>]</b>
+<p><dd>
+Set starting position.<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>direction [<i>Px</i>] [<i>Py</i>] [<i>Pz</i>] [<i>Unit</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><tr><td>Unit
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>line_test</b>
+<p><dd>
+Performs test along a single specified direction/position.<br>
+Use position and direction commands to change default.<br>
+Default: position(0,0,0), direction(0,0,1).<br>
+<p><dd>Available Geant4 state(s) : Idle 
+<p><br><p><dt><b>grid_test</b>
+<p><dd>
+Start running the default grid test.<br>
+A grid of lines parallel to a cartesian axis is used;<br>
+Only direct daughters of the mother volumes are checked.<br>
+<p><dd>Available Geant4 state(s) : Idle 
+<p><br><p><dt><b>recursive_test</b>
+<p><dd>
+Start running the recursive grid test.<br>
+A grid of lines along a cartesian axis is recursively<br>
+to all daughters and daughters of daughters, etc.<br>
+WARNING: it may take a very long time, depending on geometry complexity !<br>
+<p><dd>Available Geant4 state(s) : Idle 
+<p><br><p><dt><b>cylinder_test</b>
+<p><dd>
+Start running the cylinder test.<br>
+A set of lines in a cylindrical pattern of gradually<br>
+increasing mesh size.<br>
+<p><dd>Available Geant4 state(s) : Idle 
+<p><br><p><dt><b>run</b>
+<p><dd>
+Start running the default grid test.<br>
+Same as the grid_test command.<br>
+<p><dd>Available Geant4 state(s) : Idle 
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_gun_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_gun_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_gun_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_hits_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_hits_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_hits_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_particle_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_particle_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_particle_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_particle_process_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_particle_process_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_particle_process_.html	(revision 904)
@@ -0,0 +1,61 @@
+<html><head><title>Commands in /particle/process/</title></head>
+<body bgcolor="#ffffff"><h2>/particle/process/</h2><p>
+Process Manager control commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>dump [<i>index</i>]</b>
+<p><dd>
+dump process manager or process information<br>
+  dump [process index]<br>
+   process index: -1 for process manager<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>index
+<td>type i
+<td>Omittable : default value = -1
+<td></table>
+<p><br><p><dt><b>verbose [<i>Verbose</i>] [<i>index</i>]</b>
+<p><dd>
+Set Verbose Level for Process or Process Manager<br>
+  Verbose [Verbose] [process index]<br>
+   process index: -1 for process manager<br>
+<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><tr><td>index
+<td>type i
+<td>Omittable : default value = -1
+<td></table>
+<p><br><p><dt><b>activate [<i>index</i>]</b>
+<p><dd>
+Activate process  <br>
+ Activate [process index]<br>
+<p><dd>Range : index &gt;=0
+<p><dd>Available Geant4 state(s) : Idle 
+GeomClosed 
+EventProc 
+<p><dd>Parameters<table border=1>
+<tr><td>index
+<td>type i
+<td><td></table>
+<p><br><p><dt><b>inactivate [<i>index</i>]</b>
+<p><dd>
+Inactivate process  <br>
+ inactivate [process index]<br>
+<p><dd>Range : index &gt;=0
+<p><dd>Available Geant4 state(s) : Idle 
+GeomClosed 
+EventProc 
+<p><dd>Parameters<table border=1>
+<tr><td>index
+<td>type i
+<td><td></table>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_particle_property_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_particle_property_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_particle_property_.html	(revision 904)
@@ -0,0 +1,55 @@
+<html><head><title>Commands in /particle/property/</title></head>
+<body bgcolor="#ffffff"><h2>/particle/property/</h2><p>
+Paricle Table control commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+<p><br><p><dt><a href="_particle_property_decay_.html">/particle/property/decay/</a>
+<p><dd>Decay Table control commands.
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>dump</b>
+<p><dd>
+dump particle properties.<br>
+<p><dd>Available at all Geant4 states.
+<p><br><p><dt><b>stable [<i>stable</i>]</b>
+<p><dd>
+Set stable flag.<br>
+  false: Unstable   true: Stable<br>
+<p><dd>Available Geant4 state(s) : PreInit 
+Idle 
+GeomClosed 
+<p><dd>Parameters<table border=1>
+<tr><td>stable
+<td>type b
+<td><td></table>
+<p><br><p><dt><b>lifetime [<i>life</i>] [<i>Unit</i>]</b>
+<p><dd>
+Set life time.<br>
+Unit of the time can be :<br>
+ s, ms, ns (default)<br>
+<p><dd>Range : life &gt;0.0
+<p><dd>Available Geant4 state(s) : PreInit 
+Idle 
+GeomClosed 
+<p><dd>Parameters<table border=1>
+<tr><td>life
+<td>type d
+<td><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>verbose [<i>verbose_level</i>]</b>
+<p><dd>
+Set Verbose level of particle property.<br>
+ 0 : Silent (default)<br>
+ 1 : Display warning messages<br>
+ 2 : Display more<br>
+<p><dd>Range : verbose_level &gt;=0
+<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/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_particle_property_decay_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_particle_property_decay_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_particle_property_decay_.html	(revision 904)
@@ -0,0 +1,31 @@
+<html><head><title>Commands in /particle/property/decay/</title></head>
+<body bgcolor="#ffffff"><h2>/particle/property/decay/</h2><p>
+Decay Table control commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>select [<i>mode</i>]</b>
+<p><dd>
+Enter index of decay mode.<br>
+<p><dd>Range : mode &gt;=0
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>mode
+<td>type i
+<td>Omittable : default value = 0
+<td></table>
+<p><br><p><dt><b>dump</b>
+<p><dd>
+Dump decay mode information.<br>
+<p><dd>Available at all Geant4 states.
+<p><br><p><dt><b>br [<i>br</i>]</b>
+<p><dd>
+Set branching ratio. [0&lt; BR &lt;1.0]<br>
+<p><dd>Range : (br &gt;=0.0) &amp;&amp; (br &lt;=1.0)
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>br
+<td>type d
+<td><td></table>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_process_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_process_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_process_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_process_eLoss_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_process_eLoss_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_process_eLoss_.html	(revision 904)
@@ -0,0 +1,105 @@
+<html><head><title>Commands in /process/eLoss/</title></head>
+<body bgcolor="#ffffff"><h2>/process/eLoss/</h2><p>
+Commands for G4VEnergyLoss.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>rndmStep [<i>choice</i>]</b>
+<p><dd>
+Randomize the proposed step by eLoss.<br>
+<p><dd>Available Geant4 state(s) : PreInit 
+Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>choice
+<td>type b
+<td>Omittable : default value = 0
+<td></table>
+<p><br><p><dt><b>fluct [<i>choice</i>]</b>
+<p><dd>
+Switch true/false the energy loss fluctuations.<br>
+<p><dd>Available Geant4 state(s) : PreInit 
+Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>choice
+<td>type b
+<td>Omittable : default value = 1
+<td></table>
+<p><br><p><dt><b>subsec [<i>choice</i>]</b>
+<p><dd>
+Switch true/false the subcutoff generation.<br>
+<p><dd>Available Geant4 state(s) : PreInit 
+Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>choice
+<td>type b
+<td>Omittable : default value = 1
+<td></table>
+<p><br><p><dt><b>minsubsec [<i>rcmin</i>] [<i>Unit</i>]</b>
+<p><dd>
+Set the min. cut for subcutoff delta in range.<br>
+<p><dd>Available Geant4 state(s) : PreInit 
+Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>rcmin
+<td>type d
+<td>Omittable : default value = 
+<td><tr><td>Unit
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>StepFunction [<i>dRoverR</i>] [<i>finalRange</i>] [<i>unit</i>]</b>
+<p><dd>
+Set the energy loss step limitation parameters.<br>
+  dRoverR   : max Range variation per step<br>
+  finalRange: range for final step<br>
+<p><dd>Available Geant4 state(s) : PreInit 
+Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>dRoverR
+<td>type d
+<td><td>Parameter range : dRoverR&gt;0. &amp;&amp; dRoverR&lt;=1.
+<tr><td>finalRange
+<td>type d
+<td><td>Parameter range : finalRange&gt;0.
+<tr><td>unit
+<td>type s
+<td>Omittable : default value = mm
+<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>minKinEnergy [<i>emin</i>] [<i>Unit</i>]</b>
+<p><dd>
+Set the min kinetic energy<br>
+<p><dd>Available Geant4 state(s) : PreInit 
+Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>emin
+<td>type d
+<td>Omittable : default value = 
+<td><tr><td>Unit
+<td>type s
+<td><td>Parameter candidates : eV keV MeV GeV TeV PeV J electronvolt kiloelectronvolt megaelectronvolt gigaelectronvolt teraelectronvolt petaelectronvolt joule
+</table>
+<p><br><p><dt><b>maxKinEnergy [<i>emax</i>] [<i>Unit</i>]</b>
+<p><dd>
+Set the max kinetic energy<br>
+<p><dd>Available Geant4 state(s) : PreInit 
+Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>emax
+<td>type d
+<td>Omittable : default value = 
+<td><tr><td>Unit
+<td>type s
+<td><td>Parameter candidates : eV keV MeV GeV TeV PeV J electronvolt kiloelectronvolt megaelectronvolt gigaelectronvolt teraelectronvolt petaelectronvolt joule
+</table>
+<p><br><p><dt><b>integral [<i>integ</i>]</b>
+<p><dd>
+Switch true/false the integration of cross section over step.<br>
+<p><dd>Available Geant4 state(s) : PreInit 
+Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>integ
+<td>type b
+<td>Omittable : default value = 1
+<td></table>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_random_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_random_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_random_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_run_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_run_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_run_.html	(revision 904)
@@ -0,0 +1,201 @@
+<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>cutoffModified</b>
+<p><dd>
+Force closssection tables to be calculated again.<br>
+This command must be applied<br>
+ if cutoff value(s) have been modified after the<br>
+ first initialization (or BeamOn).<br>
+<p><dd>Available Geant4 state(s) : PreInit 
+Idle 
+<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>
+<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>
+<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>
+<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 mum 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 mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
+</table>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_run_particle_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_run_particle_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_run_particle_.html	(revision 904)
@@ -0,0 +1,140 @@
+<html><head><title>Commands in /run/particle/</title></head>
+<body bgcolor="#ffffff"><h2>/run/particle/</h2><p>
+Commands for G4VUserPhysicsList.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>verbose [<i>level</i>]</b>
+<p><dd>
+Set the Verbose level of G4VUserPhysicsList.<br>
+ 0 : Silent (default)<br>
+ 1 : Display warning messages<br>
+ 2 : Display more<br>
+<p><dd>Range : level &gt;=0 &amp;&amp; level &lt;=3
+<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>setCut [<i>cut</i>] [<i>Unit</i>]</b>
+<p><dd>
+Set default cut value <br>
+This command is equivallent to /run/setCut command.<br>
+This command is kept for backward compatibility.<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 mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
+</table>
+<p><br><p><dt><b>dumpList</b>
+<p><dd>
+Dump List of particles in G4VUserPhysicsList. <br>
+<p><dd>Available at all Geant4 states.
+<p><br><p><dt><b>addProcManager [<i>particleType</i>]</b>
+<p><dd>
+add process manager to specified particle type<br>
+<p><dd>Available Geant4 state(s) : Init 
+Idle 
+GeomClosed 
+EventProc 
+<p><dd>Parameters<table border=1>
+<tr><td>particleType
+<td>type s
+<td>Omittable : default value = 
+<td></table>
+<p><br><p><dt><b>buildPhysicsTable [<i>particleType</i>]</b>
+<p><dd>
+build physics table of specified particle type<br>
+<p><dd>Available Geant4 state(s) : Init 
+Idle 
+GeomClosed 
+EventProc 
+<p><dd>Parameters<table border=1>
+<tr><td>particleType
+<td>type s
+<td>Omittable : default value = 
+<td></table>
+<p><br><p><dt><b>storePhysicsTable [<i>dirName</i>]</b>
+<p><dd>
+Store Physics Table<br>
+  Enter directory name<br>
+<p><dd>Available Geant4 state(s) : Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>dirName
+<td>type s
+<td>Omittable : default value = 
+<td></table>
+<p><br><p><dt><b>retrievePhysicsTable [<i>dirName</i>]</b>
+<p><dd>
+Retrieve Physics Table<br>
+  Enter directory name or OFF to switch off<br>
+<p><dd>Available Geant4 state(s) : PreInit 
+Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>dirName
+<td>type s
+<td>Omittable : default value = 
+<td></table>
+<p><br><p><dt><b>setStoredInAscii [<i>ascii</i>]</b>
+<p><dd>
+Switch on/off ascii mode in store/retreive Physics Table<br>
+  Enter 0(binary) or 1(ascii)<br>
+<p><dd>Range : ascii ==0 || ascii ==1
+<p><dd>Available Geant4 state(s) : PreInit 
+Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>ascii
+<td>type i
+<td>Omittable : default value = 0
+<td></table>
+<p><br><p><dt><b>applyCuts [<i>Flag</i>] [<i>Particle</i>]</b>
+<p><dd>
+Set applyCuts flag for a particle.<br>
+ Some EM processes which do not have infrared divergence<br>
+may generate gamma, e- and/or e+ with kinetic energies<br>
+below the production threshold. By setting this flag,<br>
+such secondaries below threshold are eliminated and<br>
+kinetic energies of such secondaries are accumulated<br>
+to the energy deposition of their mother.<br>
+ Note that 'applyCuts' makes sense only for gamma,<br>
+e- and e+. If this command is issued for other particle,<br>
+a warning message is displayed and the command is<br>
+ignored.<br>
+ If particle name is 'all', this command affects on<br>
+gamma, e- and e+.<br>
+<p><dd>Available Geant4 state(s) : PreInit 
+Init 
+Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>Flag
+<td>type s
+<td>Omittable : default value = true
+<td><tr><td>Particle
+<td>type s
+<td>Omittable : default value = all
+<td></table>
+<p><br><p><dt><b>dumpCutValues [<i>particle</i>]</b>
+<p><dd>
+Dump a list of production threshold values in range and energy<br>
+for all registered material-cuts-couples.<br>
+Dumping a list takes place when you issue 'beamOn' and<br>
+actual conversion tables from range to energy are available.<br>
+If you want a list 'immediately', use '/run/dumpRegion' for threshold<br>
+list given in gange only. Also, '/run/dumpCouples' gives you the<br>
+current list if you have already issued 'run/beamOn' at least once.<br>
+<p><dd>Available Geant4 state(s) : PreInit 
+Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>particle
+<td>type s
+<td>Omittable : default value = all
+<td></table>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_tracking_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_tracking_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_tracking_.html	(revision 904)
@@ -0,0 +1,47 @@
+<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>
+ 1 : Store trajectories.<br>
+ 0 : Don't Store trajectories.<br>
+<p><dd>Range : Store &gt;=0 &amp;&amp; Store &lt;= 1
+<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>
+ 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;=0  
+<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/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_units_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_units_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_units_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_.html	(revision 904)
@@ -0,0 +1,149 @@
+<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_GAGTree_.html">/vis/GAGTree/</a>
+<p><dd>Commands for GAGTree 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_modeling_.html">/vis/modeling/</a>
+<p><dd>Modeling commands.
+<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.
+<p><br><p><dt><a href="_vis_oglxm-viewer-0_.html">/vis/oglxm-viewer-0/</a>
+<p><dd>G4OpenGLXmViewer "viewer-0" commands.
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<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>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>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 consisting of this physical volume and asks the
+  current viewer to draw it.<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></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 : XXX ATree DAWNFILE GAGTree HepRepXML HepRepFile VRML1FILE VRML2FILE DAWN OGLIX OGLSX OGLIXm OGLSXm OIX 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/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_ASCIITree_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_ASCIITree_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_ASCIITree_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_ASCIITree_set_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_ASCIITree_set_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_ASCIITree_set_.html	(revision 904)
@@ -0,0 +1,17 @@
+<html><head><title>Commands in /vis/ASCIITree/set/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/ASCIITree/set/</h2><p>
+Settings for ASCIITree control.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>outFile [<i>out-filename</i>]</b>
+<p><dd>
+Set name of output file.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>out-filename
+<td>type s
+<td>Omittable : default value = G4cout
+<td></table>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_GAGTree_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_GAGTree_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_GAGTree_.html	(revision 904)
@@ -0,0 +1,18 @@
+<html><head><title>Commands in /vis/GAGTree/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/GAGTree/</h2><p>
+Commands for GAGTree control.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>verbose [<i>verbosity</i>]</b>
+<p><dd>
+/vis/GAGTree/verbose [&lt;verbosity&gt;]<br>
+0 (default) mimimum - 10 maximum printing.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>verbosity
+<td>type i
+<td>Omittable : current value is used as the default value.
+<td></table>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_heprep_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_heprep_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_heprep_.html	(revision 904)
@@ -0,0 +1,43 @@
+<html><head><title>Commands in /vis/heprep/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/heprep/</h2><p>
+Commands for HepRepXML driver.<br>
+Note: To instead control the HepRepFile driver, use environment variables as explained in the visualization
+section of the User Guide for Application Developers.<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/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_modeling_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_modeling_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_modeling_.html	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_modeling_trajectories_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_modeling_trajectories_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_modeling_trajectories_.html	(revision 904)
@@ -0,0 +1,31 @@
+<html><head><title>Commands in /vis/modeling/trajectories/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/modeling/trajectories/</h2><p>
+Trajectory model commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+<p><br><p><dt><a href="_vis_modeling_trajectories_create_.html">/vis/modeling/trajectories/create/</a>
+<p><dd>Create trajectory models and messengers.
+<p><br><p><dt><a href="_vis_modeling_trajectories_drawByCharge-0_.html">/vis/modeling/trajectories/drawByCharge-0/</a>
+<p><dd>Commands for drawByCharge-0 model.
+<p><br><p><dt><a href="_vis_modeling_trajectories_drawByParticleID-0_.html">/vis/modeling/trajectories/drawByParticleID-0/</a>
+<p><dd>Commands for drawByParticleID-0 model.
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>list [<i>name</i>]</b>
+<p><dd>
+List objects registered with list manager<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>name
+<td>type s
+<td>Omittable : default value = 
+<td></table>
+<p><br><p><dt><b>select [<i>name</i>]</b>
+<p><dd>
+Select created object<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>name
+<td>type s
+<td><td></table>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_modeling_trajectories_create_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_modeling_trajectories_create_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_modeling_trajectories_create_.html	(revision 904)
@@ -0,0 +1,28 @@
+<html><head><title>Commands in /vis/modeling/trajectories/create/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/modeling/trajectories/create/</h2><p>
+Create trajectory models and messengers.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>drawByCharge [<i>model-name</i>]</b>
+<p><dd>
+Create a drawByCharge model and associated messengers.<br>
+Generated model becomes current.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>model-name
+<td>type s
+<td>Omittable : default value = 
+<td></table>
+<p><br><p><dt><b>drawByParticleID [<i>model-name</i>]</b>
+<p><dd>
+Create a drawByParticleID model and associated messengers.<br>
+Generated model becomes current.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>model-name
+<td>type s
+<td>Omittable : default value = 
+<td></table>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_modeling_trajectories_drawByCharge-0_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_modeling_trajectories_drawByCharge-0_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_modeling_trajectories_drawByCharge-0_.html	(revision 904)
@@ -0,0 +1,28 @@
+<html><head><title>Commands in /vis/modeling/trajectories/drawByCharge-0/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/modeling/trajectories/drawByCharge-0/</h2><p>
+Commands for drawByCharge-0 model.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>set [<i>parameters</i>]</b>
+<p><dd>
+Set trajectory colour through a string.<br>
+Two inputs are expected, for example<br>
+/vis/modeling/trajectories/drawByCharge-0/set -1 red<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>parameters
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>setRGBA [<i>parameters</i>]</b>
+<p><dd>
+Set trajectory colour through red, green, blue and alpha components.<br>
+Five inputs are expected, for example<br>
+/vis/modeling/trajectories/drawByCharge-0/setRGBA -1 1 1 1 1<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>parameters
+<td>type s
+<td><td></table>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_modeling_trajectories_drawByParticleID-0_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_modeling_trajectories_drawByParticleID-0_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_modeling_trajectories_drawByParticleID-0_.html	(revision 904)
@@ -0,0 +1,48 @@
+<html><head><title>Commands in /vis/modeling/trajectories/drawByParticleID-0/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/modeling/trajectories/drawByParticleID-0/</h2><p>
+Commands for drawByParticleID-0 model.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>set [<i>parameters</i>]</b>
+<p><dd>
+Set trajectory colour through a string.<br>
+Two inputs are expected, for example<br>
+/vis/modeling/trajectories/drawByParticleID-0/set gamma red<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>parameters
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>setRGBA [<i>parameters</i>]</b>
+<p><dd>
+Set trajectory colour through red, green, blue and alpha components.<br>
+Five inputs are expected, for example<br>
+/vis/modeling/trajectories/drawByParticleID-0/setRGBA gamma 1 1 1 1<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>parameters
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>setDefault [<i>parameters</i>]</b>
+<p><dd>
+Set default trajectory colour through a string.<br>
+One input is expected, for example<br>
+/vis/modeling/trajectories/drawByParticleID-0/setDefault red<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>parameters
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>setDefaultRGBA [<i>parameters</i>]</b>
+<p><dd>
+Set default trajectory colour through red, green, blue and alpha components.<br>
+Four inputs are expected, for example<br>
+/vis/modeling/trajectories/drawByParticleID-0/setDefaultRGBA 1 1 1 1<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>parameters
+<td>type s
+<td><td></table>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_oglxm-viewer-0_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_oglxm-viewer-0_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_oglxm-viewer-0_.html	(revision 904)
@@ -0,0 +1,10 @@
+<html><head><title>Commands in /vis/oglxm-viewer-0/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/oglxm-viewer-0/</h2><p>
+G4OpenGLXmViewer "viewer-0" commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+<p><br><p><dt><a href="_vis_oglxm-viewer-0_set_.html">/vis/oglxm-viewer-0/set/</a>
+<p><dd>G4OpenGLXmViewer "viewer-0" set commands.
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_oglxm-viewer-0_set_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_oglxm-viewer-0_set_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_oglxm-viewer-0_set_.html	(revision 904)
@@ -0,0 +1,64 @@
+<html><head><title>Commands in /vis/oglxm-viewer-0/set/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/oglxm-viewer-0/set/</h2><p>
+G4OpenGLXmViewer "viewer-0" set commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>dolly-high [<i>dolly-high</i>] [<i>Unit</i>]</b>
+<p><dd>
+Higher limit of dolly slider.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>dolly-high
+<td>type d
+<td><td><tr><td>Unit
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>dolly-low [<i>dolly-low</i>] [<i>Unit</i>]</b>
+<p><dd>
+Lower limit of dolly slider.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>dolly-low
+<td>type d
+<td><td><tr><td>Unit
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>pan-high [<i>pan-high</i>] [<i>Unit</i>]</b>
+<p><dd>
+Higher limit of pan slider.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>pan-high
+<td>type d
+<td><td><tr><td>Unit
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>rotation-high [<i>rotation-high</i>] [<i>Unit</i>]</b>
+<p><dd>
+Higher limit of rotation slider.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>rotation-high
+<td>type d
+<td><td><tr><td>Unit
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>zoom-high [<i>zoom-high</i>]</b>
+<p><dd>
+Higher limit of zoom slider.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>zoom-high
+<td>type d
+<td><td></table>
+<p><br><p><dt><b>zoom-low [<i>zoom-low</i>]</b>
+<p><dd>
+Lower limit of zoom slider.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>zoom-low
+<td>type d
+<td><td></table>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_rayTracer_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_rayTracer_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_rayTracer_.html	(revision 904)
@@ -0,0 +1,169 @@
+<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 mum 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 mum 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 mum 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>
+Set background colour: red green blue: range 0.-&gt;1.<br>
+E.g: /vis/rayTracer/backgroundColour 0 0 0<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/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_sceneHandler_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_sceneHandler_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_sceneHandler_.html	(revision 904)
@@ -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 : XXX ATree DAWNFILE GAGTree HepRepXML HepRepFile VRML1FILE VRML2FILE DAWN OGLIX OGLSX OGLIXm OGLSXm OIX 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 = 0
+<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/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_scene_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_scene_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_scene_.html	(revision 904)
@@ -0,0 +1,95 @@
+<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>]</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>
+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>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 = 0
+<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 : refresh 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/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_scene_add_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_scene_add_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_scene_add_.html	(revision 904)
@@ -0,0 +1,296 @@
+<html><head><title>Commands in /vis/scene/add/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/scene/add/</h2><p>
+Add model to current scene.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>axes [<i>x0</i>] [<i>y0</i>] [<i>z0</i>] [<i>length</i>] [<i>unit</i>]</b>
+<p><dd>
+Add axes.<br>
+Draws axes at (x0, y0, z0) of given length.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>x0
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>y0
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>z0
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>length
+<td>type d
+<td>Omittable : default value = 1
+<td><tr><td>unit
+<td>type s
+<td>Omittable : default value = m
+<td></table>
+<p><br><p><dt><b>ghosts [<i>particle</i>]</b>
+<p><dd>
+Adds ghost volumes (G4FlavoredParallelWorld) to the current scene.<br>
+Selects by particle.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>particle
+<td>type s
+<td>Omittable : default value = all
+<td></table>
+<p><br><p><dt><b>hits</b>
+<p><dd>
+Adds hits to current scene.<br>
+Hits are drawn at end of event when the scene in which
+they are added is current.<br>
+<p><dd>Available at all Geant4 states.
+<p><br><p><dt><b>logicalVolume [<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>
+Adds a logical volume to the current scene,<br>
+Shows boolean components (if any), voxels (if any) and readout geometry
+(if any).  Note: voxels are not constructed until start of run -
+ "/run/beamOn".<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>
+<p><br><p><dt><b>logo [<i>height</i>] [<i>unit</i>] [<i>direction</i>] [<i>red</i>] [<i>green</i>] [<i>blue</i>] [<i>auto|manual</i>] [<i>xmid</i>] [<i>ymid</i>] [<i>zmid</i>] [<i>unit</i>]</b>
+<p><dd>
+Adds a G4 logo to the current scene.<br>
+The placement, if automatic, is similar to that of scale -
+"help /vis/scene/add/scale" for more information.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>height
+<td>type d
+<td>Omittable : default value = 1
+<td><tr><td>unit
+<td>type s
+<td>Omittable : default value = m
+<td><tr><td>direction
+<td>type s
+<td>Omittable : default value = x
+<td><tr><td>red
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>green
+<td>type d
+<td>Omittable : default value = 1
+<td><tr><td>blue
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>auto|manual
+<td>type s
+<td>Omittable : default value = auto
+<td><tr><td>xmid
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>ymid
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>zmid
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>unit
+<td>type s
+<td>Omittable : default value = m
+<td></table>
+<p><br><p><dt><b>scale [<i>length</i>] [<i>unit</i>] [<i>direction</i>] [<i>red</i>] [<i>green</i>] [<i>blue</i>] [<i>auto|manual</i>] [<i>xmid</i>] [<i>ymid</i>] [<i>zmid</i>] [<i>unit</i>]</b>
+<p><dd>
+Adds an annotated scale line to the current scene.<br>
+An annotated line in the specified direction with tick marks at the
+end.  If autoPlacing is true it is required to be centred at the
+front, right, bottom corner of the world space, comfortably outside
+the existing bounding box/sphere so that existing objects do not
+obscure it.  Otherwise it is required to be drawn with mid-point at
+(xmid, ymid, zmid).
+
+The auto placing algorithm might be:
+  x = xmin + (1 + comfort) * (xmax - xmin);
+  y = ymin - comfort * (ymax - ymin);
+  z = zmin + (1 + comfort) * (zmax - zmin);
+  if direction == x then (x - length,y,z) to (x,y,z);
+  if direction == y then (x,y,z) to (x,y + length,z);
+  if direction == z then (x,y,z - length) to (x,y,z);<br>
+<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><tr><td>direction
+<td>type s
+<td>Omittable : default value = x
+<td><tr><td>red
+<td>type d
+<td>Omittable : default value = 1
+<td><tr><td>green
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>blue
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>auto|manual
+<td>type s
+<td>Omittable : default value = auto
+<td><tr><td>xmid
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>ymid
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>zmid
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>unit
+<td>type s
+<td>Omittable : default value = m
+<td></table>
+<p><br><p><dt><b>text [<i>x</i>] [<i>y</i>] [<i>z</i>] [<i>unit</i>] [<i>font_size</i>] [<i>x_offset</i>] [<i>y_offset</i>] [<i>text</i>]</b>
+<p><dd>
+Adds text to current scene.<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>font_size
+<td>type d
+<td>Omittable : default value = 12
+<td><tr><td>x_offset
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>y_offset
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>text
+<td>type s
+<td>Omittable : default value = Hello G4
+<td></table>
+<p><br><p><dt><b>trajectories [<i>drawing-mode</i>]</b>
+<p><dd>
+Adds trajectories to current scene.<br>
+Causes trajectories, if any, to be drawn at the end of processiing an
+event. The drawing mode is an integer that is passed to the
+DrawTrajectory method.  The default implementation in G4VTrajectory,
+if drawing-mode &gt;= 0, draws the trajectory as a polyline (blue for
+positive, red for negative, green for neutral) and, if
+drawing-mode != 0, draws markers of screen size
+std::abs(drawing-mode)/1000 pixels at each step and auxiliary point,
+if any.  So drawing-mode = 5000 is a good choice.
+Enable storing with "/tracking/storeTrajectory 1".
+See also "/vis/scene/endOfEventAction".<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>drawing-mode
+<td>type i
+<td>Omittable : default value = 0
+<td></table>
+<p><br><p><dt><b>userAction [<i>xmin</i>] [<i>xmax</i>] [<i>ymin</i>] [<i>ymax</i>] [<i>zmin</i>] [<i>zmax</i>] [<i>unit</i>]</b>
+<p><dd>
+Add Vis User Action, if any, to current scene.<br>
+Optional arguments define the extent of the callback drawing.  You may
+not need this if the extent has been defined in the original
+SetUserAction or is defined by other components of the scene.  But if
+the user action is the only component of the scene, you will certainly
+need to set the extent either in SetUserAction or here.  A scene must
+have an extent one way or another so that the viewer can calculate
+how to point the camera.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>xmin
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>xmax
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>ymin
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>ymax
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>zmin
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>zmax
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>unit
+<td>type s
+<td>Omittable : default value = cm
+<td></table>
+<p><br><p><dt><b>volume [<i>physical-volume-name</i>] [<i>copy-no</i>] [<i>depth-of-descent</i>] [<i>clip-volume-type</i>] [<i>parameter-unit</i>] [<i>parameter-1</i>] [<i>parameter-2</i>] [<i>parameter-3</i>] [<i>parameter-4</i>] [<i>parameter-5</i>] [<i>parameter-6</i>]</b>
+<p><dd>
+Adds a physical volume to current scene, with optional clipping volume.<br>
+If physical-volume-name is "world" (the default), the top of the
+tracking tree is used (GetNavigatorForTracking()-&gt;GetWorldVolume()).
+Otherwise a search of the tracking tree is made, taking the first
+matching occurence only.  To see a representation of the geometry
+hierarchy of the tracking tree, try "/vis/drawTree" or one of the
+driver/browser combinations that have the required functionality,
+e.g., HepRepFile/XML with the WIRED3/4 browser.<br>
+If clip-volume-type is specified, the subsequent parameters are used to
+to define a clipping volume.  For example,
+"vis/scene/add/volume ! ! ! box km 0 1 0 1 0 1" will draw the world
+with the positive octant cut away.<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>copy-no
+<td>type i
+<td>Omittable : default value = -1
+<td><tr><td>depth-of-descent
+<td>type i
+<td>Omittable : default value = -1
+<td><tr><td>clip-volume-type
+<td>type s
+<td>Omittable : default value = none
+<td><tr><td>parameter-unit
+<td>type s
+<td>Omittable : default value = m
+<td><tr><td>parameter-1
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>parameter-2
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>parameter-3
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>parameter-4
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>parameter-5
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>parameter-6
+<td>type d
+<td>Omittable : default value = 0
+<td></table>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_viewer_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_viewer_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_viewer_.html	(revision 904)
@@ -0,0 +1,238 @@
+<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>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>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 mum 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 mum 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 = 0
+<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/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_viewer_set_.html
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_viewer_set_.html	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/_vis_viewer_set_.html	(revision 904)
@@ -0,0 +1,302 @@
+<html><head><title>Commands in /vis/viewer/set/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/viewer/set/</h2><p>
+Set view parameters of current viewer.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>all [<i>from-viewer-name</i>]</b>
+<p><dd>
+Copies view parameters.<br>
+Copies view parameters (except the autoRefresh status) from
+from-viewer to current viewer.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>from-viewer-name
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>autoRefresh [<i>auto-refresh</i>]</b>
+<p><dd>
+Sets auto-refresh.<br>
+If true, view is automatically refreshed after a change of
+view parameters.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>auto-refresh
+<td>type b
+<td>Omittable : default value = 0
+<td></table>
+<p><br><p><dt><b>auxiliaryEdge [<i>edge</i>]</b>
+<p><dd>
+Sets visibility of auxiliary edges<br>
+Auxiliary edges, i.e., those that are part of a curved surface,
+sometimes called soft edges, become visible/invisible.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>edge
+<td>type b
+<td>Omittable : default value = 0
+<td></table>
+<p><br><p><dt><b>culling [<i>culling-option</i>] [<i>action</i>] [<i>density-threshold</i>] [<i>unit</i>]</b>
+<p><dd>
+Set culling options.<br>
+"global": enables/disables all other culling options.<br>
+"coveredDaughters": culls, i.e., eliminates, volumes that would not
+be seen because covered by ancester volumes in surface drawing mode,
+and then only if the ancesters are visible and opaque, and then only
+if no sections or cutaways are in operation.  Intended solely to
+improve the speed of rendering visible volumes.<br>
+"invisible": culls objects with the invisible attribute set.<br>
+"density": culls volumes with density lower than threshold.  Useful
+for eliminating "container volumes" with no physical correspondence,
+whose material is usually air.  If this is selected, provide threshold
+density and unit (g/cm3 mg/cm3 or kg/m3).<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>culling-option
+<td>type s
+<td><td>Parameter candidates : global coveredDaughters invisible density
+<tr><td>action
+<td>type b
+<td>Omittable : default value = true
+<td><tr><td>density-threshold
+<td>type d
+<td>Omittable : default value = 0.01
+<td><tr><td>unit
+<td>type s
+<td>Omittable : default value = g/cm3
+<td>Parameter candidates : g/cm3, mg/cm3 kg/m3
+</table>
+<p><br><p><dt><b>edge [<i>edge</i>]</b>
+<p><dd>
+  default: true<br>
+Edges become visible/invisible in surface mode.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>edge
+<td>type b
+<td>Omittable : default value = 1
+<td></table>
+<p><br><p><dt><b>globalMarkerScale [<i>scale-factorr</i>]</b>
+<p><dd>
+Multiplies marker sizes by this factor.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>scale-factorr
+<td>type d
+<td>Omittable : default value = 1
+<td></table>
+<p><br><p><dt><b>hiddenEdge [<i>hidden-edge</i>]</b>
+<p><dd>
+Edges become hidden/seen in wireframe or surface mode.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>hidden-edge
+<td>type b
+<td>Omittable : default value = 1
+<td></table>
+<p><br><p><dt><b>hiddenMarker [<i>hidden-marker</i>]</b>
+<p><dd>
+If true, closer objects hide markers. Otherwise, markers always show.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>hidden-marker
+<td>type b
+<td>Omittable : default value = 1
+<td></table>
+<p><br><p><dt><b>lightsMove [<i>lightsMove</i>]</b>
+<p><dd>
+Lights move with camera or with object<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>lightsMove
+<td>type s
+<td><td>Parameter candidates : cam camera with-camera obj object with-object
+</table>
+<p><br><p><dt><b>lightsThetaPhi [<i>theta</i>] [<i>phi</i>] [<i>unit</i>]</b>
+<p><dd>
+Set direction from target to lights.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>theta
+<td>type d
+<td>Omittable : default value = 60
+<td><tr><td>phi
+<td>type d
+<td>Omittable : default value = 45
+<td><tr><td>unit
+<td>type s
+<td>Omittable : default value = deg
+<td></table>
+<p><br><p><dt><b>lightsVector [<i>x</i>] [<i>y</i>] [<i>z</i>]</b>
+<p><dd>
+Set direction from target to lights.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>x
+<td>type d
+<td>Omittable : default value = 1
+<td><tr><td>y
+<td>type d
+<td>Omittable : default value = 1
+<td><tr><td>z
+<td>type d
+<td>Omittable : default value = 1
+<td></table>
+<p><br><p><dt><b>lineSegmentsPerCircle [<i>line-segments</i>]</b>
+<p><dd>
+Set number of sides per circle for polygon/polyhedron drawing.<br>
+Refers to graphical representation of objects with curved lines/surfaces.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>line-segments
+<td>type i
+<td>Omittable : default value = 24
+<td></table>
+<p><br><p><dt><b>projection [<i>projection</i>] [<i>field-half-angle</i>] [<i>unit</i>]</b>
+<p><dd>
+Orthogonal or perspective projection.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>projection
+<td>type s
+<td>Omittable : default value = orthogonal
+<td>Parameter candidates : o orthogonal p perspective
+<tr><td>field-half-angle
+<td>type d
+<td>Omittable : default value = 30
+<td><tr><td>unit
+<td>type s
+<td>Omittable : default value = deg
+<td></table>
+<p><br><p><dt><b>sectionPlane [<i>Selector</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>
+Set plane for drawing section (DCUT).<br>
+E.g., for a y-z plane at x = 1 cm:
+"/vis/viewer/set/sectionPlane on 1 0 0 cm 1 0 0".
+To turn off: /vis/viewer/set/sectionPlane off<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>Selector
+<td>type c
+<td>Omittable : default value = on
+<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 = cm
+<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>style [<i>style</i>]</b>
+<p><dd>
+Set style of drawing.<br>
+(Hidden line drawing is controlled by "/vis/viewer/set/hiddenEdge".)<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>style
+<td>type s
+<td><td>Parameter candidates : w wireframe s surface
+</table>
+<p><br><p><dt><b>upThetaPhi [<i>theta</i>] [<i>phi</i>] [<i>unit</i>]</b>
+<p><dd>
+Set up vector.<br>
+Viewer will attempt always to show this direction upwards.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>theta
+<td>type d
+<td>Omittable : default value = 90
+<td><tr><td>phi
+<td>type d
+<td>Omittable : default value = 90
+<td><tr><td>unit
+<td>type s
+<td>Omittable : default value = deg
+<td></table>
+<p><br><p><dt><b>upVector [<i>x</i>] [<i>y</i>] [<i>z</i>]</b>
+<p><dd>
+Set up vector.<br>
+Viewer will attempt always to show this direction upwards.<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 = 1
+<td><tr><td>z
+<td>type d
+<td>Omittable : default value = 0
+<td></table>
+<p><br><p><dt><b>viewpointThetaPhi [<i>theta</i>] [<i>phi</i>] [<i>unit</i>]</b>
+<p><dd>
+Set direction from target to camera.<br>
+Also changes lightpoint direction if lights are set to move with camera.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>theta
+<td>type d
+<td>Omittable : default value = 60
+<td><tr><td>phi
+<td>type d
+<td>Omittable : default value = 45
+<td><tr><td>unit
+<td>type s
+<td>Omittable : default value = deg
+<td></table>
+<p><br><p><dt><b>viewpointVector [<i>x</i>] [<i>y</i>] [<i>z</i>]</b>
+<p><dd>
+Set direction from target to camera.<br>
+Also changes lightpoint direction if lights are set to move with camera.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>x
+<td>type d
+<td>Omittable : default value = 1
+<td><tr><td>y
+<td>type d
+<td>Omittable : default value = 1
+<td><tr><td>z
+<td>type d
+<td>Omittable : default value = 1
+<td></table>
+<p><br><p><dt><b>background [<i>red_or_string</i>] [<i>green</i>] [<i>blue</i>] [<i>opacity</i>]</b>
+<p><dd>
+Set background colour and transparency (default black and opaque).<br>
+Accepts (a) RGB triplet. e.g., ".3 .4 .5", or
+(b) string such as "white", "black", "grey", "red"...
+(c) an additional number for opacity, e.g., ".3 .4 .5 .6"
+    or "grey ! ! .6" (note "!"'s for unused green and blue parameters),
+    e.g. "! ! ! 0." for a transparent background.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>red_or_string
+<td>type s
+<td>Omittable : default value = 0.
+<td><tr><td>green
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>blue
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>opacity
+<td>type d
+<td>Omittable : default value = 1
+<td></table>
+</dl></body></html>
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/control.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/control.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/control.txt	(revision 904)
@@ -0,0 +1,212 @@
+/control/manual /control
+Command directory path : /control/
+
+
+Guidance :
+UI control commands.
+
+ Sub-directories : 
+ Commands : 
+   execute * Execute a macro file.
+   loop * Execute a macro file more than once.
+   foreach * Execute a macro file more than once.
+   suppressAbortion * Suppress the program abortion caused by G4Exception.
+   verbose * Applied command will also be shown on screen.
+   saveHistory * Store command history to a file.
+   stopSavingHistory * Stop saving history file.
+   alias * Set an alias.
+   unalias * Remove an alias.
+   listAlias * List aliases.
+   shell * Execute a (Unix) SHELL command.
+   manual * Display all of sub-directories and commands.
+   createHTML * Generate HTML files for all of sub-directories and commands.
+   maximumStoredHistory * Set maximum number of stored UI commands.
+
+
+Command /control/execute
+Guidance :
+Execute a macro file.
+
+Parameter : fileName
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /control/loop
+Guidance :
+Execute a macro file more than once.
+Loop counter can be used as an aliased variable.
+
+Parameter : macroFile
+ Parameter type  : s
+ Omittable       : False
+
+Parameter : counterName
+ Parameter type  : s
+ Omittable       : False
+
+Parameter : initialValue
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : finalValue
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : stepSize
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /control/foreach
+Guidance :
+Execute a macro file more than once.
+Loop counter can be used as an aliased variable.
+Values must be separated by a space.
+
+Parameter : macroFile
+ Parameter type  : s
+ Omittable       : False
+
+Parameter : counterName
+ Parameter type  : s
+ Omittable       : False
+
+Parameter : valueList
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /control/suppressAbortion
+Guidance :
+Suppress the program abortion caused by G4Exception.
+Suppression level = 0 : no suppression
+                  = 1 : suppress during EventProc state
+                  = 2 : full suppression, i.e. no abortion by G4Exception
+When abortion is suppressed, you will get error messages issued by G4Exception,
+and there is NO guarantee for the correct result after the G4Exception error message.
+ Range of parameters : level >= 0 && level <= 2
+
+Parameter : level
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /control/verbose
+Guidance :
+Applied command will also be shown on screen.
+This command is useful with MACRO file.
+  0 : silent
+  1 : only the valid commands are shown.
+  2 : comment lines are also shown (default).
+ Range of parameters : switch >= 0 && switch <=2
+
+Parameter : switch
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 2
+
+
+
+Command /control/saveHistory
+Guidance :
+Store command history to a file.
+Defaul file name is G4history.macro.
+
+Parameter : fileName
+ Parameter type  : s
+ Omittable       : True
+ Default value   : G4History.macro
+
+
+
+Command /control/stopSavingHistory
+Guidance :
+Stop saving history file.
+
+
+
+Command /control/alias
+Guidance :
+Set an alias.
+String can be aliased by this command.
+The string may contain one or more spaces,
+the string must be enclosed by double quotes (").
+To use an alias, enclose the alias name with
+parenthis "{" and "}".
+
+Parameter : aliasName
+ Parameter type  : s
+ Omittable       : False
+
+Parameter : aliasValue
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /control/unalias
+Guidance :
+Remove an alias.
+
+Parameter : aliasName
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /control/listAlias
+Guidance :
+List aliases.
+
+
+
+Command /control/shell
+Guidance :
+Execute a (Unix) SHELL command.
+
+Parameter : 
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /control/manual
+Guidance :
+Display all of sub-directories and commands.
+Directory path should be given by FULL-PATH.
+
+Parameter : dirPath
+ Parameter type  : s
+ Omittable       : True
+ Default value   : /
+
+
+
+Command /control/createHTML
+Guidance :
+Generate HTML files for all of sub-directories and commands.
+Directory path should be given by FULL-PATH.
+
+Parameter : dirPath
+ Parameter type  : s
+ Omittable       : True
+ Default value   : /
+
+
+
+Command /control/maximumStoredHistory
+Guidance :
+Set maximum number of stored UI commands.
+
+Parameter : max
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 20
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/event.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/event.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/event.txt	(revision 904)
@@ -0,0 +1,65 @@
+/control/manual /event
+Command directory path : /event/
+
+
+Guidance :
+EventManager control commands.
+
+ Sub-directories : 
+   /event/stack/   Stack control commands.
+ Commands : 
+   abort * Abort current event.
+   verbose * Set Verbose level of event management category.
+
+
+Command /event/abort
+Guidance :
+Abort current event.
+
+
+
+Command /event/verbose
+Guidance :
+Set Verbose level of event management category.
+ 0 : Silent
+ 1 : Stacking information
+ 2 : More...
+ Range of parameters : level>=0
+
+Parameter : level
+ Parameter type  : i
+ Omittable       : False
+
+Command directory path : /event/stack/
+
+
+Guidance :
+Stack control commands.
+
+ Sub-directories : 
+ Commands : 
+   status * List current status of the stack.
+   clear * Clear stacked tracks.
+
+
+Command /event/stack/status
+Guidance :
+List current status of the stack.
+
+
+
+Command /event/stack/clear
+Guidance :
+Clear stacked tracks.
+ 2 : clear all tracks in all stacks
+ 1 : clear tracks in the urgent and waiting stacks
+ 0 : clear tracks in the waiting stack (default)
+-1 : clear tracks in the urgent stack
+-2 : clear tracks in the postponed stack
+ Range of parameters : level>=-2&&level<=2
+
+Parameter : level
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 0
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/geometry.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/geometry.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/geometry.txt	(revision 904)
@@ -0,0 +1,177 @@
+/control/manual /geometry
+Command directory path : /geometry/
+
+
+Guidance :
+Geometry control commands.
+
+ Sub-directories : 
+   /geometry/navigator/   Geometry navigator control setup.
+   /geometry/test/   Geometry verification control setup.
+ Commands : 
+Command directory path : /geometry/navigator/
+
+
+Guidance :
+Geometry navigator control setup.
+
+ Sub-directories : 
+ Commands : 
+   reset * Reset navigator and navigation history.
+   verbose * Set run-time verbosity for the navigator.
+
+
+Command /geometry/navigator/reset
+Guidance :
+Reset navigator and navigation history.
+NOTE: must be called only after kernel has been
+      initialized once through the run manager!
+
+
+
+Command /geometry/navigator/verbose
+Guidance :
+Set run-time verbosity for the navigator.
+ 0 : Silent (default)
+ 1 : Display positioning and relative states
+ 2 : Display step/safety info on point location
+ 3 : Display state at -every- step!
+ 4 : Maximum verbosity (very detailed!)
+NOTE: this command has effect -only- if Geant4 has
+      been installed with the G4VERBOSE flag set!
+ Range of parameters : level >=0 && level <=4
+
+Parameter : level
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 0
+
+Command directory path : /geometry/test/
+
+
+Guidance :
+Geometry verification control setup.
+Helps in detecting possible overlapping regions.
+
+ Sub-directories : 
+ Commands : 
+   tolerance * Set error tolerance value.
+   position * Set starting position.
+   direction * Set momentum direction.
+   line_test * Performs test along a single specified direction/position.
+   grid_test * Start running the default grid test.
+   recursive_test * Start running the recursive grid test.
+   cylinder_test * Start running the cylinder test.
+   run * Start running the default grid test.
+
+
+Command /geometry/test/tolerance
+Guidance :
+Set error tolerance value.
+Default: 1E-4*mm.
+
+Parameter : Tolerance
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : mm
+ Candidates      : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
+
+
+
+Command /geometry/test/position
+Guidance :
+Set starting position.
+
+Parameter : X
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : Y
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : Z
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : cm
+ Candidates      : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
+
+
+
+Command /geometry/test/direction
+Guidance :
+Set momentum direction.
+Direction needs not to be a unit vector.
+ Range of parameters : Px != 0 || Py != 0 || Pz != 0
+
+Parameter : Px
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : Py
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : Pz
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /geometry/test/line_test
+Guidance :
+Performs test along a single specified direction/position.
+Use position and direction commands to change default.
+Default: position(0,0,0), direction(0,0,1).
+
+
+
+Command /geometry/test/grid_test
+Guidance :
+Start running the default grid test.
+A grid of lines parallel to a cartesian axis is used;
+Only direct daughters of the mother volumes are checked.
+
+
+
+Command /geometry/test/recursive_test
+Guidance :
+Start running the recursive grid test.
+A grid of lines along a cartesian axis is recursively
+to all daughters and daughters of daughters, etc.
+WARNING: it may take a very long time, depending on geometry complexity !
+
+
+
+Command /geometry/test/cylinder_test
+Guidance :
+Start running the cylinder test.
+A set of lines in a cylindrical pattern of gradually
+increasing mesh size.
+
+
+
+Command /geometry/test/run
+Guidance :
+Start running the default grid test.
+Same as the grid_test command.
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/gun.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/gun.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/gun.txt	(revision 904)
@@ -0,0 +1,191 @@
+
+/control/manual /gun
+Command directory path : /gun/
+
+
+Guidance :
+Particle Gun control commands.
+
+ Sub-directories : 
+ Commands : 
+   List * List available particles.
+   particle * Set particle to be generated.
+   direction * Set momentum direction.
+   energy * Set kinetic energy.
+   position * Set starting position of the particle.
+   time * Set initial time of the particle.
+   polarization * Set polarization.
+   number * Set number of particles to be generated.
+   ion * Set properties of ion to be generated.
+
+
+Command /gun/List
+Guidance :
+List available particles.
+ Invoke G4ParticleTable.
+
+
+
+Command /gun/particle
+Guidance :
+Set particle to be generated.
+ (geantino is default)
+ (ion can be specified for shooting ions)
+
+Parameter : particleName
+ Parameter type  : s
+ Omittable       : True
+ Default value   : geantino
+ 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 
+
+
+
+Command /gun/direction
+Guidance :
+Set momentum direction.
+Direction needs not to be a unit vector.
+ Range of parameters : Px != 0 || Py != 0 || Pz != 0
+
+Parameter : Px
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : Py
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : Pz
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+
+
+Command /gun/energy
+Guidance :
+Set kinetic energy.
+
+Parameter : Energy
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : GeV
+ Candidates      : eV keV MeV GeV TeV PeV J electronvolt kiloelectronvolt megaelectronvolt gigaelectronvolt teraelectronvolt petaelectronvolt joule
+
+
+
+Command /gun/position
+Guidance :
+Set starting position of the particle.
+
+Parameter : X
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : Y
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : Z
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : cm
+ Candidates      : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
+
+
+
+Command /gun/time
+Guidance :
+Set initial time of the particle.
+
+Parameter : t0
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : ns
+ Candidates      : s ms mus ns ps second millisecond microsecond nanosecond picosecond
+
+
+
+Command /gun/polarization
+Guidance :
+Set polarization.
+ Range of parameters : Px>=-1.&&Px<=1.&&Py>=-1.&&Py<=1.&&Pz>=-1.&&Pz<=1.
+
+Parameter : Px
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : Py
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : Pz
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+
+
+Command /gun/number
+Guidance :
+Set number of particles to be generated.
+ Range of parameters : N>0
+
+Parameter : N
+ Parameter type  : i
+ Omittable       : True
+ Default value   : taken from the current value
+
+
+
+Command /gun/ion
+Guidance :
+Set properties of ion to be generated.
+[usage] /gun/ion Z A Q
+        Z:(int) AtomicNumber
+        A:(int) AtomicMass
+        Q:(int) Charge of Ion (in unit of e)
+        E:(double) Excitation energy (in keV)
+
+Parameter : Z
+ Parameter type  : i
+ Omittable       : False
+ Default value   : 1
+
+Parameter : A
+ Parameter type  : i
+ Omittable       : False
+ Default value   : 1
+
+Parameter : Q
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 0
+
+Parameter : E
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0.0
+
+Graphics systems deleted.
+Visualization Manager deleting...
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/particle.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/particle.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/particle.txt	(revision 904)
@@ -0,0 +1,222 @@
+/control/manual /particle
+Command directory path : /particle/
+
+
+Guidance :
+Particle control commands.
+
+ Sub-directories : 
+   /particle/property/   Paricle Table control commands.
+   /particle/process/   Process Manager control commands.
+ Commands : 
+   select * Select particle 
+   list * List name of particles.
+   find * Find particle by encoding
+
+
+Command /particle/select
+Guidance :
+Select particle 
+
+Parameter : particle name
+ Parameter type  : s
+ Omittable       : False
+ Default value   : none
+
+
+
+Command /particle/list
+Guidance :
+List name of particles.
+ all(default)/lepton/baryon/meson/nucleus/quarks
+
+Parameter : particle type
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+ Candidates      : all lepton baryon meson nucleus quarks
+
+
+
+Command /particle/find
+Guidance :
+Find particle by encoding
+
+Parameter : encoding
+ Parameter type  : i
+ Omittable       : False
+ Default value   : 0
+
+Command directory path : /particle/property/
+
+
+Guidance :
+Paricle Table control commands.
+
+ Sub-directories : 
+   /particle/property/decay/   Decay Table control commands.
+ Commands : 
+   dump * dump particle properties.
+   stable * Set stable flag.
+   lifetime * Set life time.
+   verbose * Set Verbose level of particle property.
+
+
+Command /particle/property/dump
+Guidance :
+dump particle properties.
+
+
+
+Command /particle/property/stable
+Guidance :
+Set stable flag.
+  false: Unstable   true: Stable
+
+Parameter : stable
+ Parameter type  : b
+ Omittable       : False
+
+
+
+Command /particle/property/lifetime
+Guidance :
+Set life time.
+Unit of the time can be :
+ s, ms, ns (default)
+ Range of parameters : life >0.0
+
+Parameter : life
+ Parameter type  : d
+ Omittable       : False
+ Default value   : 0
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : ns
+ Candidates      : s ms mus ns ps second millisecond microsecond nanosecond picosecond
+
+
+
+Command /particle/property/verbose
+Guidance :
+Set Verbose level of particle property.
+ 0 : Silent (default)
+ 1 : Display warning messages
+ 2 : Display more
+ Range of parameters : verbose_level >=0
+
+Parameter : verbose_level
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 0
+
+Command directory path : /particle/property/decay/
+
+
+Guidance :
+Decay Table control commands.
+
+ Sub-directories : 
+ Commands : 
+   select * Enter index of decay mode.
+   dump * Dump decay mode information.
+   br * Set branching ratio. [0< BR <1.0]
+
+
+Command /particle/property/decay/select
+Guidance :
+Enter index of decay mode.
+ Range of parameters : mode >=0
+
+Parameter : mode
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /particle/property/decay/dump
+Guidance :
+Dump decay mode information.
+
+
+
+Command /particle/property/decay/br
+Guidance :
+Set branching ratio. [0< BR <1.0]
+ Range of parameters : (br >=0.0) && (br <=1.0)
+
+Parameter : br
+ Parameter type  : d
+ Omittable       : False
+
+Command directory path : /particle/process/
+
+
+Guidance :
+Process Manager control commands.
+
+ Sub-directories : 
+ Commands : 
+   dump * dump process manager or process information
+   verbose * Set Verbose Level for Process or Process Manager
+   activate * Activate process  
+   inactivate * Inactivate process  
+
+
+Command /particle/process/dump
+Guidance :
+dump process manager or process information
+  dump [process index]
+   process index: -1 for process manager
+
+Parameter : index
+ Parameter type  : i
+ Omittable       : True
+ Default value   : -1
+
+
+
+Command /particle/process/verbose
+Guidance :
+Set Verbose Level for Process or Process Manager
+  Verbose [Verbose] [process index]
+   process index: -1 for process manager
+
+Parameter : Verbose
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 1
+
+Parameter : index
+ Parameter type  : i
+ Omittable       : True
+ Default value   : -1
+
+
+
+Command /particle/process/activate
+Guidance :
+Activate process  
+ Activate [process index]
+ Range of parameters : index >=0
+
+Parameter : index
+ Parameter type  : i
+ Omittable       : False
+ Default value   : 0
+
+
+
+Command /particle/process/inactivate
+Guidance :
+Inactivate process  
+ inactivate [process index]
+ Range of parameters : index >=0
+
+Parameter : index
+ Parameter type  : i
+ Omittable       : False
+ Default value   : 0
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/process.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/process.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/process.txt	(revision 904)
@@ -0,0 +1,250 @@
+/control/manual /process
+Command directory path : /process/
+
+
+Guidance :
+Process Table control commands.
+
+ Sub-directories : 
+   /process/eLoss/   Commands for G4VEnergyLoss.
+ Commands : 
+   list * List up process names
+   verbose * Set Verbose Level for Process Table
+   setVerbose * Set verbose level for processes
+   dump * Dump process information
+   activate * Activate processes  
+   inactivate * Inactivate process  
+
+
+Command /process/list
+Guidance :
+List up process names
+  list [type] 
+    type: process type [all:for all proceeses]
+
+Parameter : type
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+ Candidates      : all NotDefined Transportation Electromagnetic Optical Hadronic Photolepton_hadron Decay General Parameterisation UserDefined
+
+
+
+Command /process/verbose
+Guidance :
+Set Verbose Level for Process Table
+  verbose [level]
+   level: verbose level
+ Range of parameters : verbose >=0
+
+Parameter : verbose
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /process/setVerbose
+Guidance :
+Set verbose level for processes
+  setVerbose level [type or name] 
+    level: verbose level 
+    name : process name 
+    type : process type 
+       [all] for all proceeses 
+
+Parameter : verbose
+ Parameter type  : i
+ Omittable       : False
+
+Parameter : type
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+
+
+
+Command /process/dump
+Guidance :
+Dump process information
+ dump name [particle]
+   name:     process name or type name
+   particle: particle name [all: for all particles]
+
+Parameter : procName
+ Parameter type  : s
+ Omittable       : False
+
+Parameter : particle
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+
+
+
+Command /process/activate
+Guidance :
+Activate processes  
+ Activate  name [particle]
+   name:     process name or type name
+   particle: particle name [all: for all particles]
+
+Parameter : procName
+ Parameter type  : s
+ Omittable       : False
+
+Parameter : particle
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+
+
+
+Command /process/inactivate
+Guidance :
+Inactivate process  
+Inactivate processes  
+ Inactivate  name [particle]
+   name:     process name or type name
+   particle: particle name [all: for all particles]
+
+Parameter : procName
+ Parameter type  : s
+ Omittable       : False
+
+Parameter : particle
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+
+Command directory path : /process/eLoss/
+
+
+Guidance :
+Commands for G4VEnergyLoss.
+
+ Sub-directories : 
+ Commands : 
+   rndmStep * Randomize the proposed step by eLoss.
+   fluct * Switch true/false the energy loss fluctuations.
+   subsec * Switch true/false the subcutoff generation.
+   minsubsec * Set the min. cut for subcutoff delta in range.
+   StepFunction * Set the energy loss step limitation parameters.
+   minKinEnergy * Set the min kinetic energy
+   maxKinEnergy * Set the max kinetic energy
+   integral * Switch true/false the integration of cross section over step.
+
+
+Command /process/eLoss/rndmStep
+Guidance :
+Randomize the proposed step by eLoss.
+
+Parameter : choice
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /process/eLoss/fluct
+Guidance :
+Switch true/false the energy loss fluctuations.
+
+Parameter : choice
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /process/eLoss/subsec
+Guidance :
+Switch true/false the subcutoff generation.
+
+Parameter : choice
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /process/eLoss/minsubsec
+Guidance :
+Set the min. cut for subcutoff delta in range.
+
+Parameter : rcmin
+ Parameter type  : d
+ Omittable       : True
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /process/eLoss/StepFunction
+Guidance :
+Set the energy loss step limitation parameters.
+  dRoverR   : max Range variation per step
+  finalRange: range for final step
+
+Parameter : dRoverR
+max Range variation per step (fractional number)
+ Parameter type  : d
+ Omittable       : False
+ Parameter range : dRoverR>0. && dRoverR<=1.
+
+Parameter : finalRange
+range for final step
+ Parameter type  : d
+ Omittable       : False
+ Parameter range : finalRange>0.
+
+Parameter : unit
+unit of finalRange
+ Parameter type  : s
+ Omittable       : True
+ Default value   : mm
+ Candidates      : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
+
+
+
+Command /process/eLoss/minKinEnergy
+Guidance :
+Set the min kinetic energy
+
+Parameter : emin
+ Parameter type  : d
+ Omittable       : True
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : eV keV MeV GeV TeV PeV J electronvolt kiloelectronvolt megaelectronvolt gigaelectronvolt teraelectronvolt petaelectronvolt joule
+
+
+
+Command /process/eLoss/maxKinEnergy
+Guidance :
+Set the max kinetic energy
+
+Parameter : emax
+ Parameter type  : d
+ Omittable       : True
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : eV keV MeV GeV TeV PeV J electronvolt kiloelectronvolt megaelectronvolt gigaelectronvolt teraelectronvolt petaelectronvolt joule
+
+
+
+Command /process/eLoss/integral
+Guidance :
+Switch true/false the integration of cross section over step.
+
+Parameter : integ
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 1
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/random.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/random.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/random.txt	(revision 904)
@@ -0,0 +1,64 @@
+/control/manual /random
+Command directory path : /random/
+
+
+Guidance :
+Random number status control commands.
+
+ Sub-directories : 
+ Commands : 
+   setDirectoryName * Define the directory name of the rndm status files.
+   setSavingFlag * The randomNumberStatus will be saved at :
+   saveThisRun * copy currentRun.rndm to runXXX.rndm
+   saveThisEvent * copy currentEvent.rndm to runXXXevtYYY.rndm
+   resetEngineFrom * Reset the status of the rndm engine from a file.
+
+
+Command /random/setDirectoryName
+Guidance :
+Define the directory name of the rndm status files.
+Directory must be creates before storing the files.
+
+Parameter : fileName
+ Parameter type  : s
+ Omittable       : True
+ Default value   : ./
+
+
+
+Command /random/setSavingFlag
+Guidance :
+The randomNumberStatus will be saved at :
+begining of run (currentRun.rndm) and begining of event (currentEvent.rndm) 
+
+Parameter : flag
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /random/saveThisRun
+Guidance :
+copy currentRun.rndm to runXXX.rndm
+
+
+
+Command /random/saveThisEvent
+Guidance :
+copy currentEvent.rndm to runXXXevtYYY.rndm
+
+
+
+Command /random/resetEngineFrom
+Guidance :
+Reset the status of the rndm engine from a file.
+See CLHEP manual for detail.
+The engine status must be stored beforehand.
+Directory of the status file should be set by /random/setDirectoryName.
+
+Parameter : fileName
+ Parameter type  : s
+ Omittable       : True
+ Default value   : currentRun.rndm
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/run.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/run.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/run.txt	(revision 904)
@@ -0,0 +1,411 @@
+/control/manual /run
+Command directory path : /run/
+
+
+Guidance :
+Run control commands.
+
+ Sub-directories : 
+   /run/particle/   Commands for G4VUserPhysicsList.
+ Commands : 
+   initialize * Initialize G4 kernel.
+   beamOn * Start a Run.
+   verbose * Set the Verbose level of G4RunManager.
+   dumpRegion * Dump region information.
+   dumpCouples * Dump material-cuts-couple information.
+   optimizeGeometry * Set the optimization flag for geometry.
+   breakAtBeginOfEvent * Set a break point at the begining of every event.
+   breakAtEndOfEvent * Set a break point at the end of every event.
+   abort * Abort current run processing.
+   abortCurrentEvent * Abort currently processing event.
+   geometryModified * Force geometry to be closed again.
+   cutoffModified * Force closssection tables to be calculated again.
+   randomNumberStatusDirectory * Define the directory name of the rndm status files.
+   storeRandomNumberStatus * The randomNumberStatus will be saved at :
+   restoreRandomNumberStatus * Reset the status of the rndm engine from a file.
+   setCut * Set default cut value 
+   setCutForRegion * Set cut value for a region
+
+
+Command /run/initialize
+Guidance :
+Initialize G4 kernel.
+
+
+
+Command /run/beamOn
+Guidance :
+Start a Run.
+If G4 kernel is not initialized, it will be initialized.
+Default number of events to be processed is 1.
+The second and third arguments can be used for
+executing a macro file at the end of each event.
+If the second argument, i.e. name of the macro
+file, is given but the third argument is not,
+the macro file will be executed for all of the
+event.
+If the third argument (nSelect) is given, the
+macro file will be executed only for the first
+nSelect events.
+
+Parameter : numberOfEvent
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 1
+ Parameter range : numberOfEvent >= 0
+
+Parameter : macroFile
+ Parameter type  : s
+ Omittable       : True
+ Default value   : ***NULL***
+
+Parameter : nSelect
+ Parameter type  : i
+ Omittable       : True
+ Default value   : -1
+ Parameter range : nSelect>=-1
+
+
+
+Command /run/verbose
+Guidance :
+Set the Verbose level of G4RunManager.
+ 0 : Silent (default)
+ 1 : Display main topics
+ 2 : Display main topics and run summary
+ Range of parameters : level >=0 && level <=2
+
+Parameter : level
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /run/dumpRegion
+Guidance :
+Dump region information.
+In case name of a region is not given, all regions will be displayed.
+
+Parameter : regionName
+ Parameter type  : s
+ Omittable       : True
+ Default value   : **ALL**
+
+
+
+Command /run/dumpCouples
+Guidance :
+Dump material-cuts-couple information.
+Note that material-cuts-couple information is updated
+after BeamOn has started.
+
+
+
+Command /run/optimizeGeometry
+Guidance :
+Set the optimization flag for geometry.
+If it is set to TRUE, G4GeometryManager will optimize
+the geometry definitions.
+GEANT4 is initialized with this flag as TRUE.
+
+Parameter : optimizeFlag
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /run/breakAtBeginOfEvent
+Guidance :
+Set a break point at the begining of every event.
+
+Parameter : flag
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /run/breakAtEndOfEvent
+Guidance :
+Set a break point at the end of every event.
+
+Parameter : flag
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /run/abort
+Guidance :
+Abort current run processing.
+If softAbort is false (default), currently processing event will be immediately aborted,
+while softAbort is true, abortion occurs after processing the current event.
+
+Parameter : softAbort
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /run/abortCurrentEvent
+Guidance :
+Abort currently processing event.
+
+
+
+Command /run/geometryModified
+Guidance :
+Force geometry to be closed again.
+This command must be applied
+ if geometry has been modified after the
+ first initialization (or BeamOn).
+
+
+
+Command /run/cutoffModified
+Guidance :
+Force closssection tables to be calculated again.
+This command must be applied
+ if cutoff value(s) have been modified after the
+ first initialization (or BeamOn).
+
+
+
+Command /run/randomNumberStatusDirectory
+Guidance :
+Define the directory name of the rndm status files.
+Directory must be creates before storing the files.
+
+Parameter : fileName
+ Parameter type  : s
+ Omittable       : True
+ Default value   : ./
+
+
+
+Command /run/storeRandomNumberStatus
+Guidance :
+The randomNumberStatus will be saved at :
+begining of run (currentRun.rndm) and begining of event (currentEvent.rndm) 
+
+Parameter : flag
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /run/restoreRandomNumberStatus
+Guidance :
+Reset the status of the rndm engine from a file.
+See CLHEP manual for detail.
+The engine status must be stored beforehand.
+Directory of the status file should be set by /random/setDirectoryName.
+
+Parameter : fileName
+ Parameter type  : s
+ Omittable       : True
+ Default value   : currentRun.rndm
+
+
+
+Command /run/setCut
+Guidance :
+Set default cut value 
+ Range of parameters : cut >0.0
+
+Parameter : cut
+ Parameter type  : d
+ Omittable       : False
+ Default value   : 1
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : mm
+ Candidates      : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
+
+
+
+Command /run/setCutForRegion
+Guidance :
+Set cut value for a region
+
+Parameter : Region
+ Parameter type  : s
+ Omittable       : False
+
+Parameter : cut
+ Parameter type  : d
+ Omittable       : False
+ Parameter range : cut >0.0
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : mm
+ Candidates      : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
+
+Command directory path : /run/particle/
+
+
+Guidance :
+Commands for G4VUserPhysicsList.
+
+ Sub-directories : 
+ Commands : 
+   verbose * Set the Verbose level of G4VUserPhysicsList.
+   setCut * Set default cut value 
+   dumpList * Dump List of particles in G4VUserPhysicsList. 
+   addProcManager * add process manager to specified particle type
+   buildPhysicsTable * build physics table of specified particle type
+   storePhysicsTable * Store Physics Table
+   retrievePhysicsTable * Retrieve Physics Table
+   setStoredInAscii * Switch on/off ascii mode in store/retreive Physics Table
+   applyCuts * Set applyCuts flag for a particle.
+   dumpCutValues * Dump a list of production threshold values in range and energy
+
+
+Command /run/particle/verbose
+Guidance :
+Set the Verbose level of G4VUserPhysicsList.
+ 0 : Silent (default)
+ 1 : Display warning messages
+ 2 : Display more
+ Range of parameters : level >=0 && level <=3
+
+Parameter : level
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /run/particle/setCut
+Guidance :
+Set default cut value 
+This command is equivallent to /run/setCut command.
+This command is kept for backward compatibility.
+ Range of parameters : cut >0.0
+
+Parameter : cut
+ Parameter type  : d
+ Omittable       : False
+ Default value   : 1
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : mm
+ Candidates      : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
+
+
+
+Command /run/particle/dumpList
+Guidance :
+Dump List of particles in G4VUserPhysicsList. 
+
+
+
+Command /run/particle/addProcManager
+Guidance :
+add process manager to specified particle type
+
+Parameter : particleType
+ Parameter type  : s
+ Omittable       : True
+
+
+
+Command /run/particle/buildPhysicsTable
+Guidance :
+build physics table of specified particle type
+
+Parameter : particleType
+ Parameter type  : s
+ Omittable       : True
+
+
+
+Command /run/particle/storePhysicsTable
+Guidance :
+Store Physics Table
+  Enter directory name
+
+Parameter : dirName
+ Parameter type  : s
+ Omittable       : True
+
+
+
+Command /run/particle/retrievePhysicsTable
+Guidance :
+Retrieve Physics Table
+  Enter directory name or OFF to switch off
+
+Parameter : dirName
+ Parameter type  : s
+ Omittable       : True
+
+
+
+Command /run/particle/setStoredInAscii
+Guidance :
+Switch on/off ascii mode in store/retreive Physics Table
+  Enter 0(binary) or 1(ascii)
+ Range of parameters : ascii ==0 || ascii ==1
+
+Parameter : ascii
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /run/particle/applyCuts
+Guidance :
+Set applyCuts flag for a particle.
+ Some EM processes which do not have infrared divergence
+may generate gamma, e- and/or e+ with kinetic energies
+below the production threshold. By setting this flag,
+such secondaries below threshold are eliminated and
+kinetic energies of such secondaries are accumulated
+to the energy deposition of their mother.
+ Note that 'applyCuts' makes sense only for gamma,
+e- and e+. If this command is issued for other particle,
+a warning message is displayed and the command is
+ignored.
+ If particle name is 'all', this command affects on
+gamma, e- and e+.
+
+Parameter : Flag
+ Parameter type  : s
+ Omittable       : True
+ Default value   : true
+
+Parameter : Particle
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+
+
+
+Command /run/particle/dumpCutValues
+Guidance :
+Dump a list of production threshold values in range and energy
+for all registered material-cuts-couples.
+Dumping a list takes place when you issue 'beamOn' and
+actual conversion tables from range to energy are available.
+If you want a list 'immediately', use '/run/dumpRegion' for threshold
+list given in gange only. Also, '/run/dumpCouples' gives you the
+current list if you have already issued 'run/beamOn' at least once.
+
+Parameter : particle
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/tracking.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/tracking.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/tracking.txt	(revision 904)
@@ -0,0 +1,60 @@
+/control/manual /tracking
+Command directory path : /tracking/
+
+
+Guidance :
+TrackingManager and SteppingManager control commands.
+
+ Sub-directories : 
+ Commands : 
+   abort * Abort current G4Track processing.
+   resume * Resume current G4Track processing.
+   storeTrajectory * Store trajectories or not.
+   verbose * Set Verbose level of tracking category.
+
+
+Command /tracking/abort
+Guidance :
+Abort current G4Track processing.
+
+
+
+Command /tracking/resume
+Guidance :
+Resume current G4Track processing.
+
+
+
+Command /tracking/storeTrajectory
+Guidance :
+Store trajectories or not.
+ 1 : Store trajectories.
+ 0 : Don't Store trajectories.
+ Range of parameters : Store >=0 && Store <= 1
+
+Parameter : Store
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /tracking/verbose
+Guidance :
+Set Verbose level of tracking category.
+ 0 : Silent.
+ 1 : Minium information of each Step.
+ 2 : Addition to Level=1, info of secondary particles.
+ 3 : Addition to Level=1, pre/postStepoint information
+     after all AlongStep/PostStep process executions.
+ 4 : Addition to Level=3, pre/postStepoint information
+     at each AlongStepPostStep process execuation.
+ 5 : Addition to Level=4, proposed Step length information
+     from each AlongStepPostStep process.
+ Range of parameters : verbose_level >=0  
+
+Parameter : verbose_level
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 0
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/vis.txt
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/vis.txt	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/AllResources/.ls/vis.txt	(revision 904)
@@ -0,0 +1,2201 @@
+/control/manual /vis
+Command directory path : /vis/
+
+
+Guidance :
+Visualization commands.
+
+ Sub-directories : 
+   /vis/ASCIITree/   Commands for ASCIITree control.
+   /vis/GAGTree/   Commands for GAGTree control.
+   /vis/heprep/   Commands for HepRepXML driver (not for HepRepFile driver).
+   /vis/rayTracer/   RayTracer commands.
+   /vis/modeling/   Modeling commands.
+   /vis/scene/   Operations on Geant4 scenes.
+   /vis/sceneHandler/   Operations on Geant4 scene handlers.
+   /vis/viewer/   Operations on Geant4 viewers.
+   /vis/oglxm-viewer-0/   G4OpenGLXmViewer "viewer-0" commands.
+ Commands : 
+   enable * Enables/disables visualization system.
+   disable * Disables visualization system.
+   verbose * Simple graded message scheme - digit or string (1st character defines):
+   drawTree * (DTREE) Creates a scene consisting of this physical volume and
+  produces a representation of the geometry hieracrhy.
+   drawView * Draw view from this angle, etc.
+   drawVolume * Creates a scene consisting of this physical volume and asks the
+  current viewer to draw it.
+   open * Creates a scene handler ready for drawing.
+   specify * Draws logical volume with Boolean components, voxels and readout geometry.
+
+
+Command /vis/enable
+Guidance :
+Enables/disables visualization system.
+
+Parameter : enabled
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /vis/disable
+Guidance :
+Disables visualization system.
+
+
+
+Command /vis/verbose
+Guidance :
+Simple graded message scheme - digit or string (1st character defines):
+  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.
+
+Parameter : verbosity
+ Parameter type  : s
+ Omittable       : True
+ Default value   : warnings
+
+
+
+Command /vis/drawTree
+Guidance :
+(DTREE) Creates a scene consisting of this physical volume and
+  produces a representation of the geometry hieracrhy.
+The scene becomes current.
+
+Parameter : physical-volume-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : world
+
+Parameter : system
+ Parameter type  : s
+ Omittable       : True
+ Default value   : ATree
+
+
+
+Command /vis/drawView
+Guidance :
+Draw view from this angle, etc.
+
+Parameter : theta-degrees
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : phi-degrees
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : pan-right
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : pan-up
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : pan-unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : cm
+
+Parameter : zoom-factor
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+Parameter : dolly
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : dolly-unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : cm
+
+
+
+Command /vis/drawVolume
+Guidance :
+Creates a scene consisting of this physical volume and asks the
+  current viewer to draw it.
+The scene becomes current.
+
+Parameter : physical-volume-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : world
+
+
+
+Command /vis/open
+Guidance :
+Creates a scene handler ready for drawing.
+The scene handler becomes current (the name is auto-generated).
+
+Parameter : graphics-system-name
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : XXX ATree DAWNFILE GAGTree HepRepXML HepRepFile VRML1FILE VRML2FILE DAWN OGLIX OGLSX OGLIXm OGLSXm OIX RayTracerX VRML1 VRML2
+
+Parameter : window-size-hint
+integer (pixels) for square window placed by window manager or X-Windows-type geometry string, e.g. 600x600-100+100
+ Parameter type  : s
+ Omittable       : True
+ Default value   : 600
+
+
+
+Command /vis/specify
+Guidance :
+Draws logical volume with Boolean components, voxels and readout geometry.
+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.
+Note: voxels are not constructed until start of run - /run/beamOn.
+The scene becomes current.
+
+Parameter : logical-volume-name
+ Parameter type  : s
+ Omittable       : False
+
+Parameter : depth-of-descent
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 1
+
+Parameter : booleans-flag
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 1
+
+Parameter : voxels-flag
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 1
+
+Parameter : readout-flag
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 1
+
+Command directory path : /vis/ASCIITree/
+
+
+Guidance :
+Commands for ASCIITree control.
+
+ Sub-directories : 
+   /vis/ASCIITree/set/   Settings for ASCIITree control.
+ Commands : 
+   verbose *   <  10: - does not print daughters of repeated placements, does not repeat replicas.
+
+
+Command /vis/ASCIITree/verbose
+Guidance :
+  <  10: - does not print daughters of repeated placements, does not repeat replicas.
+  >= 10: prints all physical volumes.
+The level of detail is given by verbosity%10:
+for each volume:
+  >=  0: physical volume name.
+  >=  1: logical volume name (and names of sensitive detector and readout geometry, if any).
+  >=  2: solid name and type.
+  >=  3: volume and density.
+  >=  5: daughter-subtracted volume and mass.
+and in the summary at the end of printing:
+  >=  4: daughter-included mass of top physical volume(s) in scene to depth specified.
+Note: by default, culling is switched off so all volumes are seen.
+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:
+  /vis/open ATree
+  /vis/ASCIITree/verbose 14
+  /vis/scene/create
+  /vis/scene/add/volume <subtree-physical-volume> ! <depth>
+  /vis/sceneHandler/attach
+  /vis/viewer/flush
+
+Parameter : verbosity
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 0
+
+Command directory path : /vis/ASCIITree/set/
+
+
+Guidance :
+Settings for ASCIITree control.
+
+ Sub-directories : 
+ Commands : 
+   outFile * Set name of output file.
+
+
+Command /vis/ASCIITree/set/outFile
+Guidance :
+Set name of output file.
+
+Parameter : out-filename
+ Parameter type  : s
+ Omittable       : True
+ Default value   : G4cout
+
+Command directory path : /vis/GAGTree/
+
+
+Guidance :
+Commands for GAGTree control.
+
+ Sub-directories : 
+ Commands : 
+   verbose * /vis/GAGTree/verbose [<verbosity>]
+
+
+Command /vis/GAGTree/verbose
+Guidance :
+/vis/GAGTree/verbose [<verbosity>]
+0 (default) mimimum - 10 maximum printing.
+
+Parameter : verbosity
+ Parameter type  : i
+ Omittable       : True
+ Default value   : taken from the current value
+
+Command directory path : /vis/heprep/
+
+
+Guidance :
+Commands for HepRepXML driver.
+Note: To instead control the HepRepFile driver, use environment variables as explained in the visualization
+section of the User Guide for Application Developers.
+
+ Sub-directories : 
+ Commands : 
+   setEventNumberSuffix * Write separate event files, appended with given suffix.
+   appendGeometry * Appends copy of geometry to every event.
+   addPointAttributes * Adds point attributes to the points of trajectories.
+   useSolids * Use HepRep Solids, rather than Geant4 Primitives.
+
+
+Command /vis/heprep/setEventNumberSuffix
+Guidance :
+Write separate event files, appended with given suffix.
+Define the suffix with a pattern such as '-0000'.
+
+Parameter : suffix
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/heprep/appendGeometry
+Guidance :
+Appends copy of geometry to every event.
+
+Parameter : flag
+ Parameter type  : b
+ Omittable       : False
+ Default value   : 1
+
+
+
+Command /vis/heprep/addPointAttributes
+Guidance :
+Adds point attributes to the points of trajectories.
+
+Parameter : flag
+ Parameter type  : b
+ Omittable       : False
+ Default value   : 0
+
+
+
+Command /vis/heprep/useSolids
+Guidance :
+Use HepRep Solids, rather than Geant4 Primitives.
+
+Parameter : flag
+ Parameter type  : b
+ Omittable       : False
+ Default value   : 1
+
+Command directory path : /vis/rayTracer/
+
+
+Guidance :
+RayTracer commands.
+
+ Sub-directories : 
+ Commands : 
+   trace * Start the ray tracing.
+   column * Define the number of horizontal pixels.
+   row * Define the number of virtical pixels.
+   target * Define the center position of the target.
+   eyePosition * Define the eye position.
+   lightDirection * Define the direction of illumination light.
+   span * Define the angle per 100 pixels.
+   headAngle * Define the head direction.
+   attenuation * Define the attenuation length for transparent material.
+   distortion * Distortion effect of the fish eye lens.
+   ignoreTransparency * Ignore transparency even if the alpha of G4Colour < 1.
+   backgroundColour * Set background colour: red green blue: range 0.->1.
+
+
+Command /vis/rayTracer/trace
+Guidance :
+Start the ray tracing.
+Define the name of output JPEG file.
+
+Parameter : fileName
+ Parameter type  : s
+ Omittable       : True
+ Default value   : g4RayTracer.jpeg
+
+
+
+Command /vis/rayTracer/column
+Guidance :
+Define the number of horizontal pixels.
+ Range of parameters : nPixel > 0
+
+Parameter : nPixel
+ Parameter type  : i
+ Omittable       : False
+
+
+
+Command /vis/rayTracer/row
+Guidance :
+Define the number of virtical pixels.
+ Range of parameters : nPixel > 0
+
+Parameter : nPixel
+ Parameter type  : i
+ Omittable       : False
+
+
+
+Command /vis/rayTracer/target
+Guidance :
+Define the center position of the target.
+
+Parameter : X
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : Y
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : Z
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : m
+ Candidates      : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
+
+
+
+Command /vis/rayTracer/eyePosition
+Guidance :
+Define the eye position.
+Eye direction is calsurated from (target - eyePosition).
+
+Parameter : X
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : Y
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : Z
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : m
+ Candidates      : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
+
+
+
+Command /vis/rayTracer/lightDirection
+Guidance :
+Define the direction of illumination light.
+The vector needs not to be a unit vector, but it must not be a zero vector.
+ Range of parameters : Px != 0 || Py != 0 || Pz != 0
+
+Parameter : Px
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0.1
+
+Parameter : Py
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0.2
+
+Parameter : Pz
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0.3
+
+
+
+Command /vis/rayTracer/span
+Guidance :
+Define the angle per 100 pixels.
+ Range of parameters : span>0.
+
+Parameter : span
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 50
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : deg
+ Candidates      : rad mrad sr deg radian milliradian steradian degree
+
+
+
+Command /vis/rayTracer/headAngle
+Guidance :
+Define the head direction.
+ Range of parameters : headAngle>=0. && headAngle<360.
+
+Parameter : headAngle
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 270
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : deg
+ Candidates      : rad mrad sr deg radian milliradian steradian degree
+
+
+
+Command /vis/rayTracer/attenuation
+Guidance :
+Define the attenuation length for transparent material.
+Note that this value is independent to the attenuation length for the optical photon processes.
+ Range of parameters : Length > 0.
+
+Parameter : Length
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : m
+ Candidates      : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
+
+
+
+Command /vis/rayTracer/distortion
+Guidance :
+Distortion effect of the fish eye lens.
+
+Parameter : flag
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /vis/rayTracer/ignoreTransparency
+Guidance :
+Ignore transparency even if the alpha of G4Colour < 1.
+
+Parameter : flag
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /vis/rayTracer/backgroundColour
+Guidance :
+Set background colour: red green blue: range 0.->1.
+E.g: /vis/rayTracer/backgroundColour 0 0 0
+
+Parameter : red
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+Parameter : green
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+Parameter : blue
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+Command directory path : /vis/modeling/
+
+
+Guidance :
+Modeling commands.
+
+ Sub-directories : 
+   /vis/modeling/trajectories/   Trajectory model commands.
+ Commands : 
+Command directory path : /vis/modeling/trajectories/
+
+
+Guidance :
+Trajectory model commands.
+
+ Sub-directories : 
+   /vis/modeling/trajectories/create/   Create trajectory models and messengers.
+   /vis/modeling/trajectories/drawByCharge-0/   Commands for drawByCharge-0 model.
+   /vis/modeling/trajectories/drawByParticleID-0/   Commands for drawByParticleID-0 model.
+ Commands : 
+   list * List objects registered with list manager
+   select * Select created object
+
+
+Command /vis/modeling/trajectories/list
+Guidance :
+List objects registered with list manager
+
+Parameter : name
+ Parameter type  : s
+ Omittable       : True
+
+
+
+Command /vis/modeling/trajectories/select
+Guidance :
+Select created object
+
+Parameter : name
+ Parameter type  : s
+ Omittable       : False
+
+Command directory path : /vis/modeling/trajectories/create/
+
+
+Guidance :
+Create trajectory models and messengers.
+
+ Sub-directories : 
+ Commands : 
+   drawByCharge * Create a drawByCharge model and associated messengers.
+   drawByParticleID * Create a drawByParticleID model and associated messengers.
+
+
+Command /vis/modeling/trajectories/create/drawByCharge
+Guidance :
+Create a drawByCharge model and associated messengers.
+Generated model becomes current.
+
+Parameter : model-name
+ Parameter type  : s
+ Omittable       : True
+
+
+
+Command /vis/modeling/trajectories/create/drawByParticleID
+Guidance :
+Create a drawByParticleID model and associated messengers.
+Generated model becomes current.
+
+Parameter : model-name
+ Parameter type  : s
+ Omittable       : True
+
+Command directory path : /vis/modeling/trajectories/drawByCharge-0/
+
+
+Guidance :
+Commands for drawByCharge-0 model.
+
+ Sub-directories : 
+ Commands : 
+   set * Set trajectory colour through a string.
+   setRGBA * Set trajectory colour through red, green, blue and alpha components.
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/set
+Guidance :
+Set trajectory colour through a string.
+Two inputs are expected, for example
+/vis/modeling/trajectories/drawByCharge-0/set -1 red
+
+Parameter : parameters
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByCharge-0/setRGBA
+Guidance :
+Set trajectory colour through red, green, blue and alpha components.
+Five inputs are expected, for example
+/vis/modeling/trajectories/drawByCharge-0/setRGBA -1 1 1 1 1
+
+Parameter : parameters
+ Parameter type  : s
+ Omittable       : False
+
+Command directory path : /vis/modeling/trajectories/drawByParticleID-0/
+
+
+Guidance :
+Commands for drawByParticleID-0 model.
+
+ Sub-directories : 
+ Commands : 
+   set * Set trajectory colour through a string.
+   setRGBA * Set trajectory colour through red, green, blue and alpha components.
+   setDefault * Set default trajectory colour through a string.
+   setDefaultRGBA * Set default trajectory colour through red, green, blue and alpha components.
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/set
+Guidance :
+Set trajectory colour through a string.
+Two inputs are expected, for example
+/vis/modeling/trajectories/drawByParticleID-0/set gamma red
+
+Parameter : parameters
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/setRGBA
+Guidance :
+Set trajectory colour through red, green, blue and alpha components.
+Five inputs are expected, for example
+/vis/modeling/trajectories/drawByParticleID-0/setRGBA gamma 1 1 1 1
+
+Parameter : parameters
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/setDefault
+Guidance :
+Set default trajectory colour through a string.
+One input is expected, for example
+/vis/modeling/trajectories/drawByParticleID-0/setDefault red
+
+Parameter : parameters
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/modeling/trajectories/drawByParticleID-0/setDefaultRGBA
+Guidance :
+Set default trajectory colour through red, green, blue and alpha components.
+Four inputs are expected, for example
+/vis/modeling/trajectories/drawByParticleID-0/setDefaultRGBA 1 1 1 1
+
+Parameter : parameters
+ Parameter type  : s
+ Omittable       : False
+
+Command directory path : /vis/scene/
+
+
+Guidance :
+Operations on Geant4 scenes.
+
+ Sub-directories : 
+   /vis/scene/add/   Add model to current scene.
+ Commands : 
+   create * Creates an empty scene.
+   endOfEventAction * Accumulate or refresh the viewer for each new event.
+   endOfRunAction * Accumulate or refresh the viewer for each new run.
+   list * Lists scene(s).
+   notifyHandlers * Notifies scene handlers and forces re-rendering.
+   select * Selects a scene
+
+
+Command /vis/scene/create
+Guidance :
+Creates an empty scene.
+Invents a name if not supplied.  This scene becomes current.
+
+Parameter : scene-name
+ Parameter type  : s
+ Omittable       : True
+
+
+
+Command /vis/scene/endOfEventAction
+Guidance :
+Accumulate or refresh the viewer for each new event.
+"accumulate": viewer accumulates hits, etc., event by event, or
+"refresh": viewer shows them at end of event or, for direct-screen
+  viewers, refreshes the screen just before drawing the next event.
+The detector remains or is redrawn.
+
+Parameter : action
+ Parameter type  : s
+ Omittable       : True
+ Default value   : refresh
+ Candidates      : accumulate refresh
+
+
+
+Command /vis/scene/endOfRunAction
+Guidance :
+Accumulate or refresh the viewer for each new run.
+"accumulate": viewer accumulates hits, etc., run by run, or
+"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.
+The detector remains or is redrawn.
+
+Parameter : action
+ Parameter type  : s
+ Omittable       : True
+ Default value   : refresh
+ Candidates      : accumulate refresh
+
+
+
+Command /vis/scene/list
+Guidance :
+Lists scene(s).
+"help /vis/verbose" for definition of verbosity.
+
+Parameter : scene-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+
+Parameter : verbosity
+ Parameter type  : s
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /vis/scene/notifyHandlers
+Guidance :
+Notifies scene handlers and forces re-rendering.
+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.
+The default for <scene-name> is the current scene name.
+This command does not change current scene, scene handler or viewer.
+
+Parameter : scene-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : refresh-flush
+ Parameter type  : s
+ Omittable       : True
+ Default value   : refresh
+ Candidates      : refresh flush
+
+
+
+Command /vis/scene/select
+Guidance :
+Selects a scene
+Makes the scene current.  "/vis/scene/list" to see
+ possible scene names.
+
+Parameter : scene-name
+ Parameter type  : s
+ Omittable       : False
+
+Command directory path : /vis/scene/add/
+
+
+Guidance :
+Add model to current scene.
+
+ Sub-directories : 
+ Commands : 
+   axes * Add axes.
+   ghosts * Adds ghost volumes (G4FlavoredParallelWorld) to the current scene.
+   hits * Adds hits to current scene.
+   logicalVolume * Adds a logical volume to the current scene,
+   logo * Adds a G4 logo to the current scene.
+   scale * Adds an annotated scale line to the current scene.
+   text * Adds text to current scene.
+   trajectories * Adds trajectories to current scene.
+   userAction * Add Vis User Action, if any, to current scene.
+   volume * Adds a physical volume to current scene, with optional clipping volume.
+
+
+Command /vis/scene/add/axes
+Guidance :
+Add axes.
+Draws axes at (x0, y0, z0) of given length.
+
+Parameter : x0
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : y0
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : z0
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : length
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+Parameter : unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : m
+
+
+
+Command /vis/scene/add/ghosts
+Guidance :
+Adds ghost volumes (G4FlavoredParallelWorld) to the current scene.
+Selects by particle.
+
+Parameter : particle
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+
+
+
+Command /vis/scene/add/hits
+Guidance :
+Adds hits to current scene.
+Hits are drawn at end of event when the scene in which
+they are added is current.
+
+
+
+Command /vis/scene/add/logicalVolume
+Guidance :
+Adds a logical volume to the current scene,
+Shows boolean components (if any), voxels (if any) and readout geometry
+(if any).  Note: voxels are not constructed until start of run -
+ "/run/beamOn".
+
+Parameter : logical-volume-name
+ Parameter type  : s
+ Omittable       : False
+
+Parameter : depth-of-descent
+Depth of descent of geometry hierarchy.
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 1
+
+Parameter : booleans-flag
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 1
+
+Parameter : voxels-flag
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 1
+
+Parameter : readout-flag
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /vis/scene/add/logo
+Guidance :
+Adds a G4 logo to the current scene.
+The placement, if automatic, is similar to that of scale -
+"help /vis/scene/add/scale" for more information.
+
+Parameter : height
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+Parameter : unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : m
+
+Parameter : direction
+'x', 'y' or 'z' - otherwise defaults to 'x'.
+ Parameter type  : s
+ Omittable       : True
+ Default value   : x
+
+Parameter : red
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : green
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+Parameter : blue
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : auto|manual
+Automatic placement or manual placement at (xmid,ymid,zmid).
+ Parameter type  : s
+ Omittable       : True
+ Default value   : auto
+
+Parameter : xmid
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : ymid
+
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : zmid
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : m
+
+
+
+Command /vis/scene/add/scale
+Guidance :
+Adds an annotated scale line to the current scene.
+An annotated line in the specified direction with tick marks at the
+end.  If autoPlacing is true it is required to be centred at the
+front, right, bottom corner of the world space, comfortably outside
+the existing bounding box/sphere so that existing objects do not
+obscure it.  Otherwise it is required to be drawn with mid-point at
+(xmid, ymid, zmid).
+
+The auto placing algorithm might be:
+  x = xmin + (1 + comfort) * (xmax - xmin);
+  y = ymin - comfort * (ymax - ymin);
+  z = zmin + (1 + comfort) * (zmax - zmin);
+  if direction == x then (x - length,y,z) to (x,y,z);
+  if direction == y then (x,y,z) to (x,y + length,z);
+  if direction == z then (x,y,z - length) to (x,y,z);
+
+Parameter : length
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+Parameter : unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : m
+
+Parameter : direction
+'x', 'y' or 'z' - otherwise defaults to 'x'.
+ Parameter type  : s
+ Omittable       : True
+ Default value   : x
+
+Parameter : red
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+Parameter : green
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : blue
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : auto|manual
+Automatic placement or manual placement at (xmid,ymid,zmid).
+ Parameter type  : s
+ Omittable       : True
+ Default value   : auto
+
+Parameter : xmid
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : ymid
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : zmid
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : m
+
+
+
+Command /vis/scene/add/text
+Guidance :
+Adds text to current scene.
+
+Parameter : x
+x
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : y
+y
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : z
+z
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : m
+
+Parameter : font_size
+pixels
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 12
+
+Parameter : x_offset
+pixels
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : y_offset
+pixels
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : text
+The rest of the line is text.
+ Parameter type  : s
+ Omittable       : True
+ Default value   : Hello G4
+
+
+
+Command /vis/scene/add/trajectories
+Guidance :
+Adds trajectories to current scene.
+Causes trajectories, if any, to be drawn at the end of processiing an
+event. The drawing mode is an integer that is passed to the
+DrawTrajectory method.  The default implementation in G4VTrajectory,
+if drawing-mode >= 0, draws the trajectory as a polyline (blue for
+positive, red for negative, green for neutral) and, if
+drawing-mode != 0, draws markers of screen size
+std::abs(drawing-mode)/1000 pixels at each step and auxiliary point,
+if any.  So drawing-mode = 5000 is a good choice.
+Enable storing with "/tracking/storeTrajectory 1".
+See also "/vis/scene/endOfEventAction".
+
+Parameter : drawing-mode
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /vis/scene/add/userAction
+Guidance :
+Add Vis User Action, if any, to current scene.
+Optional arguments define the extent of the callback drawing.  You may
+not need this if the extent has been defined in the original
+SetUserAction or is defined by other components of the scene.  But if
+the user action is the only component of the scene, you will certainly
+need to set the extent either in SetUserAction or here.  A scene must
+have an extent one way or another so that the viewer can calculate
+how to point the camera.
+
+Parameter : xmin
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : xmax
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : ymin
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : ymax
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : zmin
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : zmax
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : cm
+
+
+
+Command /vis/scene/add/volume
+Guidance :
+Adds a physical volume to current scene, with optional clipping volume.
+If physical-volume-name is "world" (the default), the top of the
+tracking tree is used (GetNavigatorForTracking()->GetWorldVolume()).
+Otherwise a search of the tracking tree is made, taking the first
+matching occurence only.  To see a representation of the geometry
+hierarchy of the tracking tree, try "/vis/drawTree" or one of the
+driver/browser combinations that have the required functionality,
+e.g., HepRepFile/XML with the WIRED3/4 browser.
+If clip-volume-type is specified, the subsequent parameters are used to
+to define a clipping volume.  For example,
+"vis/scene/add/volume ! ! ! box km 0 1 0 1 0 1" will draw the world
+with the positive octant cut away.
+
+Parameter : physical-volume-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : world
+
+Parameter : copy-no
+If negative, matches any copy no.  First name match is taken.
+ Parameter type  : i
+ Omittable       : True
+ Default value   : -1
+
+Parameter : depth-of-descent
+Depth of descent of geometry hierarchy. Default = unlimited depth.
+ Parameter type  : i
+ Omittable       : True
+ Default value   : -1
+
+Parameter : clip-volume-type
+For "box", the parameters are xmin,xmax,ymin,ymax,zmin,zmax. Only "box" is programmed at present.
+ Parameter type  : s
+ Omittable       : True
+ Default value   : none
+
+Parameter : parameter-unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : m
+
+Parameter : parameter-1
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : parameter-2
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : parameter-3
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : parameter-4
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : parameter-5
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : parameter-6
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Command directory path : /vis/sceneHandler/
+
+
+Guidance :
+Operations on Geant4 scene handlers.
+
+ Sub-directories : 
+ Commands : 
+   attach * Attaches scene to current scene handler.
+   create * Creates an scene handler for a specific graphics system.
+   list * Lists scene handler(s).
+   select * Selects a scene handler.
+
+
+Command /vis/sceneHandler/attach
+Guidance :
+Attaches scene to current scene handler.
+If scene-name is omitted, current scene is attached.  To see scenes and
+scene handlers, use "/vis/scene/list" and "/vis/sceneHandler/list"
+
+Parameter : scene-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : taken from the current value
+
+
+
+Command /vis/sceneHandler/create
+Guidance :
+Creates an scene handler for a specific graphics system.
+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.
+
+Parameter : graphics-system-name
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : XXX ATree DAWNFILE GAGTree HepRepXML HepRepFile VRML1FILE VRML2FILE DAWN OGLIX OGLSX OGLIXm OGLSXm OIX RayTracerX VRML1 VRML2
+
+Parameter : scene-handler-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : taken from the current value
+
+
+
+Command /vis/sceneHandler/list
+Guidance :
+Lists scene handler(s).
+"help /vis/verbose" for definition of verbosity.
+
+Parameter : scene-handler-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+
+Parameter : verbosity
+ Parameter type  : s
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /vis/sceneHandler/select
+Guidance :
+Selects a scene handler.
+Makes the scene handler current.  "/vis/sceneHandler/list" to see
+ possible scene handler names.
+
+Parameter : scene-handler-name
+ Parameter type  : s
+ Omittable       : False
+
+Command directory path : /vis/viewer/
+
+
+Guidance :
+Operations on Geant4 viewers.
+
+ Sub-directories : 
+   /vis/viewer/set/   Set view parameters of current viewer.
+ Commands : 
+   clear * Clears viewer.
+   create * Creates a viewer for the specified scene handler.
+   dolly * Incremental dolly.
+   dollyTo * Dolly to specific coordinate.
+   flush * Compound command: "/vis/viewer/refresh" + "/vis/viewer/update".
+   list * Lists viewers(s).
+   pan * Incremental pan.
+   panTo * Pan to specific coordinate.
+   rebuild * Forces rebuild of graphical database.
+   refresh * Refreshes viewer.
+   reset * Resets viewer.
+   scale * Incremental (non-uniform) scaling.
+   scaleTo * Absolute (non-uniform) scaling.
+   select * Selects viewer.
+   update * Triggers graphical database post-processing for viewers
+using that technique.
+   zoom * Incremental zoom.
+   zoomTo * Absolute zoom.
+
+
+Command /vis/viewer/clear
+Guidance :
+Clears viewer.
+By default, clears current viewer.  Specified viewer becomes current.
+"/vis/viewer/list" to see  possible viewer names.
+
+Parameter : viewer-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : taken from the current value
+
+
+
+Command /vis/viewer/create
+Guidance :
+Creates a viewer for the specified scene handler.
+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.
+
+Parameter : scene-handler
+ Parameter type  : s
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : viewer-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : window-size-hint
+integer (pixels) for square window placed by window manager or X-Windows-type geometry string, e.g. 600x600-100+100
+ Parameter type  : s
+ Omittable       : True
+ Default value   : 600
+
+
+
+Command /vis/viewer/dolly
+Guidance :
+Incremental dolly.
+Moves the camera incrementally towards target point.
+
+Parameter : increment
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : m
+ Candidates      : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
+
+
+
+Command /vis/viewer/dollyTo
+Guidance :
+Dolly to specific coordinate.
+Places the camera towards target point relative to standard camera point.
+
+Parameter : distance
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : m
+ Candidates      : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
+
+
+
+Command /vis/viewer/flush
+Guidance :
+Compound command: "/vis/viewer/refresh" + "/vis/viewer/update".
+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.
+
+Parameter : viewer-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : taken from the current value
+
+
+
+Command /vis/viewer/list
+Guidance :
+Lists viewers(s).
+See "/vis/verbose" for definition of verbosity.
+
+Parameter : viewer-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : all
+
+Parameter : verbosity
+ Parameter type  : s
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /vis/viewer/pan
+Guidance :
+Incremental pan.
+Moves the camera incrementally right and up by these amounts (as seen
+from viewpoint direction).
+
+Parameter : right-increment
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : up-increment
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : m
+
+
+
+Command /vis/viewer/panTo
+Guidance :
+Pan to specific coordinate.
+Places the camera in this position right and up relative to standard
+target point (as seen from viewpoint direction).
+
+Parameter : right
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : up
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : m
+
+
+
+Command /vis/viewer/rebuild
+Guidance :
+Forces rebuild of graphical database.
+By default, acts on current viewer.  "/vis/viewer/list"
+to see possible viewers.  Viewer becomes current.
+
+Parameter : viewer-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : taken from the current value
+
+
+
+Command /vis/viewer/refresh
+Guidance :
+Refreshes viewer.
+By default, acts on current viewer.  "/vis/viewer/list"
+to see possible viewers.  Viewer becomes current.
+
+Parameter : viewer-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : taken from the current value
+
+
+
+Command /vis/viewer/reset
+Guidance :
+Resets viewer.
+By default, acts on current viewer.  "/vis/viewer/list"
+to see possible viewers.  Viewer becomes current.
+
+Parameter : viewer-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : taken from the current value
+
+
+
+Command /vis/viewer/scale
+Guidance :
+Incremental (non-uniform) scaling.
+Multiplies components of current scaling by components of this factor.
+ Scales (x,y,z) by corresponding components of the resulting factor.
+
+
+Parameter : x-scale-multiplier
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : y-scale-multiplier
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : z-scale-multiplier
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+
+
+Command /vis/viewer/scaleTo
+Guidance :
+Absolute (non-uniform) scaling.
+Scales (x,y,z) by corresponding components of this factor.
+
+Parameter : x-scale-factor
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : y-scale-factor
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Parameter : z-scale-factor
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+
+
+Command /vis/viewer/select
+Guidance :
+Selects viewer.
+Specify viewer by name.  "/vis/viewer/list" to see possible viewers.
+
+Parameter : viewer-name
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/viewer/update
+Guidance :
+Triggers graphical database post-processing for viewers
+using that technique.
+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.
+
+Parameter : viewer-name
+ Parameter type  : s
+ Omittable       : True
+ Default value   : taken from the current value
+
+
+
+Command /vis/viewer/zoom
+Guidance :
+Incremental zoom.
+Multiplies current magnification by this factor.
+
+Parameter : multiplier
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+
+
+Command /vis/viewer/zoomTo
+Guidance :
+Absolute zoom.
+Magnifies standard magnification by this factor.
+
+Parameter : factor
+ Parameter type  : d
+ Omittable       : True
+ Default value   : taken from the current value
+
+Command directory path : /vis/viewer/set/
+
+
+Guidance :
+Set view parameters of current viewer.
+
+ Sub-directories : 
+ Commands : 
+   all * Copies view parameters.
+   autoRefresh * Sets auto-refresh.
+   auxiliaryEdge * Sets visibility of auxiliary edges
+   culling * Set culling options.
+   edge *   default: true
+   globalMarkerScale * Multiplies marker sizes by this factor.
+   hiddenEdge * Edges become hidden/seen in wireframe or surface mode.
+   hiddenMarker * If true, closer objects hide markers. Otherwise, markers always show.
+   lightsMove * Lights move with camera or with object
+   lightsThetaPhi * Set direction from target to lights.
+   lightsVector * Set direction from target to lights.
+   lineSegmentsPerCircle * Set number of sides per circle for polygon/polyhedron drawing.
+   projection * Orthogonal or perspective projection.
+   sectionPlane * Set plane for drawing section (DCUT).
+   style * Set style of drawing.
+   upThetaPhi * Set up vector.
+   upVector * Set up vector.
+   viewpointThetaPhi * Set direction from target to camera.
+   viewpointVector * Set direction from target to camera.
+   background * Set background colour and transparency (default black and opaque).
+
+
+Command /vis/viewer/set/all
+Guidance :
+Copies view parameters.
+Copies view parameters (except the autoRefresh status) from
+from-viewer to current viewer.
+
+Parameter : from-viewer-name
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/viewer/set/autoRefresh
+Guidance :
+Sets auto-refresh.
+If true, view is automatically refreshed after a change of
+view parameters.
+
+Parameter : auto-refresh
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /vis/viewer/set/auxiliaryEdge
+Guidance :
+Sets visibility of auxiliary edges
+Auxiliary edges, i.e., those that are part of a curved surface,
+sometimes called soft edges, become visible/invisible.
+
+Parameter : edge
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /vis/viewer/set/culling
+Guidance :
+Set culling options.
+"global": enables/disables all other culling options.
+"coveredDaughters": culls, i.e., eliminates, volumes that would not
+be seen because covered by ancester volumes in surface drawing mode,
+and then only if the ancesters are visible and opaque, and then only
+if no sections or cutaways are in operation.  Intended solely to
+improve the speed of rendering visible volumes.
+"invisible": culls objects with the invisible attribute set.
+"density": culls volumes with density lower than threshold.  Useful
+for eliminating "container volumes" with no physical correspondence,
+whose material is usually air.  If this is selected, provide threshold
+density and unit (g/cm3 mg/cm3 or kg/m3).
+
+Parameter : culling-option
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : global coveredDaughters invisible density
+
+Parameter : action
+ Parameter type  : b
+ Omittable       : True
+ Default value   : true
+
+Parameter : density-threshold
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0.01
+
+Parameter : unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : g/cm3
+ Candidates      : g/cm3, mg/cm3 kg/m3
+
+
+
+Command /vis/viewer/set/edge
+Guidance :
+  default: true
+Edges become visible/invisible in surface mode.
+
+Parameter : edge
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /vis/viewer/set/globalMarkerScale
+Guidance :
+Multiplies marker sizes by this factor.
+
+Parameter : scale-factorr
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /vis/viewer/set/hiddenEdge
+Guidance :
+Edges become hidden/seen in wireframe or surface mode.
+
+Parameter : hidden-edge
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /vis/viewer/set/hiddenMarker
+Guidance :
+If true, closer objects hide markers. Otherwise, markers always show.
+
+Parameter : hidden-marker
+ Parameter type  : b
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /vis/viewer/set/lightsMove
+Guidance :
+Lights move with camera or with object
+
+Parameter : lightsMove
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : cam camera with-camera obj object with-object
+
+
+
+Command /vis/viewer/set/lightsThetaPhi
+Guidance :
+Set direction from target to lights.
+
+Parameter : theta
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 60
+
+Parameter : phi
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 45
+
+Parameter : unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : deg
+
+
+
+Command /vis/viewer/set/lightsVector
+Guidance :
+Set direction from target to lights.
+
+Parameter : x
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+Parameter : y
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+Parameter : z
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /vis/viewer/set/lineSegmentsPerCircle
+Guidance :
+Set number of sides per circle for polygon/polyhedron drawing.
+Refers to graphical representation of objects with curved lines/surfaces.
+
+Parameter : line-segments
+ Parameter type  : i
+ Omittable       : True
+ Default value   : 24
+
+
+
+Command /vis/viewer/set/projection
+Guidance :
+Orthogonal or perspective projection.
+
+Parameter : projection
+ Parameter type  : s
+ Omittable       : True
+ Default value   : orthogonal
+ Candidates      : o orthogonal p perspective
+
+Parameter : field-half-angle
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 30
+
+Parameter : unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : deg
+
+
+
+Command /vis/viewer/set/sectionPlane
+Guidance :
+Set plane for drawing section (DCUT).
+E.g., for a y-z plane at x = 1 cm:
+"/vis/viewer/set/sectionPlane on 1 0 0 cm 1 0 0".
+To turn off: /vis/viewer/set/sectionPlane off
+
+Parameter : Selector
+ Parameter type  : c
+ Omittable       : True
+ Default value   : on
+
+Parameter : x
+Coordinate of point on the plane.
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : y
+Coordinate of point on the plane.
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : z
+Coordinate of point on the plane.
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : unit
+Unit of point on the plane.
+ Parameter type  : s
+ Omittable       : True
+ Default value   : cm
+
+Parameter : nx
+Component of plane normal.
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+Parameter : ny
+Component of plane normal.
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : nz
+Component of plane normal.
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /vis/viewer/set/style
+Guidance :
+Set style of drawing.
+(Hidden line drawing is controlled by "/vis/viewer/set/hiddenEdge".)
+
+Parameter : style
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : w wireframe s surface
+
+
+
+Command /vis/viewer/set/upThetaPhi
+Guidance :
+Set up vector.
+Viewer will attempt always to show this direction upwards.
+
+Parameter : theta
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 90
+
+Parameter : phi
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 90
+
+Parameter : unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : deg
+
+
+
+Command /vis/viewer/set/upVector
+Guidance :
+Set up vector.
+Viewer will attempt always to show this direction upwards.
+
+Parameter : x
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : y
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+Parameter : z
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+
+
+Command /vis/viewer/set/viewpointThetaPhi
+Guidance :
+Set direction from target to camera.
+Also changes lightpoint direction if lights are set to move with camera.
+
+Parameter : theta
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 60
+
+Parameter : phi
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 45
+
+Parameter : unit
+ Parameter type  : s
+ Omittable       : True
+ Default value   : deg
+
+
+
+Command /vis/viewer/set/viewpointVector
+Guidance :
+Set direction from target to camera.
+Also changes lightpoint direction if lights are set to move with camera.
+
+Parameter : x
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+Parameter : y
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+Parameter : z
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+
+
+Command /vis/viewer/set/background
+Guidance :
+Set background colour and transparency (default black and opaque).
+Accepts (a) RGB triplet. e.g., ".3 .4 .5", or
+(b) string such as "white", "black", "grey", "red"...
+(c) an additional number for opacity, e.g., ".3 .4 .5 .6"
+    or "grey ! ! .6" (note "!"'s for unused green and blue parameters),
+    e.g. "! ! ! 0." for a transparent background.
+
+Parameter : red_or_string
+ Parameter type  : s
+ Omittable       : True
+ Default value   : 0.
+
+Parameter : green
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : blue
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 0
+
+Parameter : opacity
+ Parameter type  : d
+ Omittable       : True
+ Default value   : 1
+
+Command directory path : /vis/oglxm-viewer-0/
+
+
+Guidance :
+G4OpenGLXmViewer "viewer-0" commands.
+
+ Sub-directories : 
+   /vis/oglxm-viewer-0/set/   G4OpenGLXmViewer "viewer-0" set commands.
+ Commands : 
+Command directory path : /vis/oglxm-viewer-0/set/
+
+
+Guidance :
+G4OpenGLXmViewer "viewer-0" set commands.
+
+ Sub-directories : 
+ Commands : 
+   dolly-high * Higher limit of dolly slider.
+   dolly-low * Lower limit of dolly slider.
+   pan-high * Higher limit of pan slider.
+   rotation-high * Higher limit of rotation slider.
+   zoom-high * Higher limit of zoom slider.
+   zoom-low * Lower limit of zoom slider.
+
+
+Command /vis/oglxm-viewer-0/set/dolly-high
+Guidance :
+Higher limit of dolly slider.
+
+Parameter : dolly-high
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/oglxm-viewer-0/set/dolly-low
+Guidance :
+Lower limit of dolly slider.
+
+Parameter : dolly-low
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/oglxm-viewer-0/set/pan-high
+Guidance :
+Higher limit of pan slider.
+
+Parameter : pan-high
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/oglxm-viewer-0/set/rotation-high
+Guidance :
+Higher limit of rotation slider.
+
+Parameter : rotation-high
+ Parameter type  : d
+ Omittable       : False
+
+Parameter : Unit
+ Parameter type  : s
+ Omittable       : False
+
+
+
+Command /vis/oglxm-viewer-0/set/zoom-high
+Guidance :
+Higher limit of zoom slider.
+
+Parameter : zoom-high
+ Parameter type  : d
+ Omittable       : False
+
+
+
+Command /vis/oglxm-viewer-0/set/zoom-low
+Guidance :
+Lower limit of zoom slider.
+
+Parameter : zoom-low
+ Parameter type  : d
+ Omittable       : False
+
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/BookIntroToGeant4.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/BookIntroToGeant4.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/BookIntroToGeant4.xml	(revision 904)
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
+
+<!ENTITY chapIntroduction SYSTEM "./Introduction/ChapIntroduction.xml"> 
+
+]>
+
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Created by:   Katsuya Amako, Aug-2006                 -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+<!-- ******************* Top of the Book ******************** --> 
+<book id="geant4_introduction_to_geant4">
+
+
+<!-- ******************* Book Information ******************* --> 
+<bookinfo>
+  <title>
+  Introduction to Geant4
+  </title>
+
+  <authorgroup>
+  <author>
+  <firstname></firstname>
+  <surname>Geant4 Collaboration</surname>
+  </author>
+  </authorgroup>
+
+  <pubdate>14 December, 2007</pubdate>
+  <releaseinfo>Version: geant4 9.1</releaseinfo>
+
+</bookinfo>
+
+<!-- *************** Inclusion of Chapters ****************** --> 
+&chapIntroduction;
+
+</book>
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/Introduction/ChapIntroduction.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/Introduction/ChapIntroduction.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/Introduction/ChapIntroduction.xml	(revision 904)
@@ -0,0 +1,603 @@
+<!-- ******************************************************** -->
+<!--                                                          -->
+<!--  [History]                                               -->
+<!--    Converted to DocBook: Katsuya Amako, Aug-2006         -->
+<!--                                                          -->
+<!-- ******************************************************** -->
+
+
+<!-- ******************* Chapter **************************** -->
+<chapter id="chap.G4Scope">
+<title>
+Geant4 Scope of Application
+</title>
+
+<para>
+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:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    the geometry of the system,
+  </para></listitem>
+  <listitem><para>
+    the materials involved,
+  </para></listitem>
+  <listitem><para>
+    the fundamental particles of interest,
+  </para></listitem>
+  <listitem><para>
+    the generation of primary events,
+  </para></listitem>
+  <listitem><para>
+    the tracking of particles through materials and electromagnetic fields,
+  </para></listitem>
+  <listitem><para>
+    the physics processes governing particle interactions,
+  </para></listitem>
+  <listitem><para>
+    the response of sensitive detector components,
+  </para></listitem>
+  <listitem><para>
+    the generation of event data,
+  </para></listitem>
+  <listitem><para>
+    the storage of events and tracks,
+  </para></listitem>
+  <listitem><para>
+    the visualization of the detector and particle trajectories, and
+  </para></listitem>
+  <listitem><para>
+    the capture and analysis of simulation data at different levels
+    of detail and refinement.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+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:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    user interfaces,
+  </para></listitem>
+  <listitem><para>
+    built-in steering routines, and
+  </para></listitem>
+  <listitem><para>
+    command interpreters
+  </para></listitem>
+</itemizedlist>
+
+which operate at every level of the simulation.
+</para>
+
+<para>
+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.
+</para>
+
+<para>
+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. 
+</para>
+
+</chapter>
+
+
+<!-- ******************* Chapter **************************** -->
+<chapter id="chap.HistoryG4">
+<title>
+History of Geant4
+</title>
+
+<para>
+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.
+</para>
+
+<para>
+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 reinstated 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. In February 2006 a new MoU came into effect and CB and TSB
+were renamed to Oversight Board (OB) and Steering Board (SB) 
+respectively. 
+</para>
+
+<para>
+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. 
+</para>
+
+</chapter>
+
+
+<!-- ******************* Chapter **************************** -->
+<chapter id="chap.OverviewG4Func">
+<title>
+Overview of Geant4 Functionality
+</title>
+
+<para>
+The Geant4 class category diagram is shown in <xref linkend="fig.G4ClassCategory" />
+</para>
+
+<para>
+Categories at the bottom of the diagram are used by virtually
+all higher categories and provide the foundation of the
+toolkit.
+</para>
+
+<para>
+The
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis>global</emphasis>
+  </para></listitem>
+</itemizedlist>
+
+category covers the system of units, constants, numerics and random
+number handling.
+</para>
+
+<para>
+The two categories:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis>materials</emphasis>
+  </para></listitem>
+  <listitem><para>
+    <emphasis>particles</emphasis>
+  </para></listitem>
+</itemizedlist>
+
+implement facilities necessary to describe the physical properties
+of particles and materials for the simulation of particle-matter
+interactions.
+</para>
+
+<para>
+The
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis>geometry</emphasis>
+  </para></listitem>
+</itemizedlist>
+
+module offers the ability to describe a geometrical structure and
+propagate particles efficiently through it.
+</para>
+
+<figure id="fig.G4ClassCategory">
+<title>
+Geant4 class categories
+</title>
+
+<mediaobject>
+  <imageobject role="fo">
+    <imagedata fileref="./AllResources/Fundamentals/classCategory.gif"
+               format="GIF" contentwidth="7.0cm" align="center" />
+  </imageobject>
+  <imageobject role="html">
+    <imagedata fileref="./AllResources/Fundamentals/classCategory.gif"
+               format="GIF" align="center" />
+  </imageobject>
+</mediaobject>
+</figure>
+
+<para>
+Above these reside categories required to describe the tracking
+of particles and the physical processes they undergo. The
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis>track</emphasis>
+  </para></listitem>
+</itemizedlist>
+
+category contains classes for tracks and steps, used by the
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis>processes</emphasis>
+  </para></listitem>
+</itemizedlist>
+
+category, which contains implementations of models of physical
+interactions: electromagnetic interactions of leptons, photons,
+hadrons and ions, and hadronic interactions.
+</para>
+
+<para>
+All processes are invoked by the
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis>tracking</emphasis>
+  </para></listitem>
+</itemizedlist>
+
+category, which manages their contribution to the evolution of a
+track's state and provides information in sensitive volumes for
+hits and digitization.
+</para>
+
+<para>
+Above these the
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis>event</emphasis>
+  </para></listitem>
+</itemizedlist>
+
+category manages events in terms of their tracks and the
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis>run</emphasis>
+  </para></listitem>
+</itemizedlist>
+
+category manages collections of events that share a common beam and
+detector implementation. A
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    <emphasis>readout</emphasis>
+  </para></listitem>
+</itemizedlist>
+
+category allows the handling of pile-up.
+</para>
+
+<para>
+Finally capabilities that use all of these categories and
+connect to facilities outside the toolkit through abstract
+interfaces, provide <emphasis>visualization</emphasis>, 
+<emphasis>persistency</emphasis> and user 
+<emphasis>interface</emphasis> capabilities.
+</para>
+
+</chapter>
+
+
+<!-- ******************* Chapter **************************** -->
+<chapter id="chap.G4UserSupport">
+<title>
+Geant4 User Support
+</title>
+
+<para>
+The collaboration offers support for Geant4, providing
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    assistance with problems relating to the code,
+  </para></listitem>
+  <listitem><para>
+    consultation on using the toolkit, and
+  </para></listitem>
+  <listitem><para>
+    response to enhancement requests.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+A user can also expect assistance in
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    investigating aberrant results.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+Users of the software who encounter a problem in running the code
+can use an
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Internet-based 
+    <ulink url="http://geant4.web.cern.ch/geant4/problemreport/">
+    problem reporting system
+    </ulink>.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+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 
+<ulink url="https://bugzilla.mozilla.org/">
+Bugzilla
+</ulink>
+. 
+Besides routing the
+problem to specialists, it tracks and documents the responses until
+the problem is resolved.
+</para>
+
+<para>
+New requirements, such as requests for new functionality, are
+presented to and decided by the Steering Board (SB). The
+SB 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 <emphasis>best effort</emphasis> basis.
+</para>
+
+<para>
+For each member organisation a contact person 
+<ulink url="http://geant4.web.cern.ch/geant4/collaboration/SteeringBoard.shtml">
+(SB member)
+</ulink>
+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).
+</para>
+
+<para>
+Beyond that, a list of frequently asked questions 
+<ulink url="http://geant4.web.cern.ch/geant4/support/faq.shtml">
+(FAQs)
+</ulink>
+, 
+and an internet-based 
+<ulink url="http://geant4-hn.slac.stanford.edu:5090/Geant4-HyperNews/index">
+user forum
+</ulink>
+complete the available Geant4 user support.
+</para>
+
+</chapter>
+
+
+<!-- ******************* Chapter **************************** -->
+<chapter id="sect.SoftwareKnowledge">
+<title>Software Knowledge Required to Use the Geant4 Toolkit
+</title>
+
+<para>
+In general, there are three types of users:
+
+<itemizedlist spacing="compact">
+   <listitem><para>
+     the <emphasis role="bold">end user</emphasis>,
+   </para></listitem>
+   <listitem><para>
+     the <emphasis role="bold">application programmer</emphasis>,
+   </para></listitem>
+</itemizedlist>
+
+and for large simulation tasks:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    the <emphasis role="bold">framework provider</emphasis>.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+The <emphasis role="bold">end user</emphasis> 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++.
+</para>
+
+<para>
+The <emphasis role="bold">application programmer</emphasis> 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
+<ulink url="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/index.html">
+User's Guide: For Application Developers
+</ulink>
+.
+</para>
+
+<para>
+Using standard components of Geant4, a 
+<emphasis role="bold">framework provider</emphasis>
+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
+<ulink url="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/ForToolkitDeveloper/html/index.html">
+User's Guide: For Toolkit Developers
+</ulink>
+.
+</para>
+
+<para>
+<emphasis role="bold">References</emphasis>
+</para>
+
+<para>
+All user documentation can be found on the Geant4 homepage
+<ulink url="http://cern.ch/geant4">
+http://cern.ch/geant4
+</ulink>
+.
+</para>
+
+<para>
+References for Object-Oriented Technology:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    Grady Booch, Object-Oriented Analysis and Design with
+    Applications The Benjamin/Cummings Publishing Co. Inc, 1994, ISBN
+    0-8053-5340-2
+  </para></listitem>
+  <listitem><para>
+    R.C.Martin, Designing Object-Oriented C++ Applications Using
+    The Booch Method, Prentice Hall 1995, ISBN 0-13-203837-4;
+  </para></listitem>
+  <listitem><para>
+    E. Gamma, et al., Design Patterns - Elements of Reusable
+    Object-Oriented Software, Addison Wesley 1995, ISBN
+    0-201-63361-2;
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+References for C++:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    B.Stroustrup, C++ Programming Language 3rd Edition, Addison
+    Wesley, ISBN: 0-201-88954-4
+  </para></listitem>
+  <listitem><para>I.Pohl, Object-Oriented Programming Using C++, 2nd Edition,
+    Addison Wesley, ISBN: 0-201-89550-1.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+</chapter>
+
+
+<!-- ******************* Chapter **************************** -->
+<chapter id="sect.ComputingEnv">
+<title>
+Computing Environment Required by the Geant4 Toolkit
+</title>
+
+<para>
+The Geant4 toolkit is available for a variety of operating systems:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    flavors of UNIX,
+  </para></listitem>
+  <listitem><para>
+    Linux,
+  </para></listitem>
+  <listitem><para>
+    and Windows systems.
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+In order to link and build the program only two underlying software
+packages are mandatory:
+
+<itemizedlist spacing="compact">
+  <listitem><para>
+    CLHEP (Class Library of High Energy Physics) and the
+  </para></listitem>
+  <listitem><para>
+    STL (Standard Template Library for fundamental classes like C++
+    containers and strings).
+  </para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+The Geant4 source code is available from the 
+<ulink url="http://geant4.web.cern.ch/geant4/">
+Geant4 web pages
+</ulink>
+while CLHEP is available from the 
+<ulink url="http://proj-clhep.web.cern.ch/proj-clhep/">
+CLHEP Home Page
+</ulink>
+. 
+For details on setting up the computing environment see the 
+<ulink url="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/InstallationGuide/html/index.html">
+Installation Guide
+</ulink>
+.
+</para>
+
+</chapter>
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/XSLCustomizationLayer/G4BookTitlePageFO.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/XSLCustomizationLayer/G4BookTitlePageFO.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/XSLCustomizationLayer/G4BookTitlePageFO.xml	(revision 904)
@@ -0,0 +1,1237 @@
+<!DOCTYPE t:templates [
+<!ENTITY hsize0 "10pt">
+<!ENTITY hsize1 "12pt">
+<!ENTITY hsize2 "14.4pt">
+<!ENTITY hsize3 "17.28pt">
+<!ENTITY hsize4 "20.736pt">
+<!ENTITY hsize5 "24.8832pt">
+<!ENTITY hsize0space "7.5pt"> <!-- 0.75 * hsize0 -->
+<!ENTITY hsize1space "9pt"> <!-- 0.75 * hsize1 -->
+<!ENTITY hsize2space "10.8pt"> <!-- 0.75 * hsize2 -->
+<!ENTITY hsize3space "12.96pt"> <!-- 0.75 * hsize3 -->
+<!ENTITY hsize4space "15.552pt"> <!-- 0.75 * hsize4 -->
+<!ENTITY hsize5space "18.6624pt"> <!-- 0.75 * hsize5 -->
+]>
+<t:templates xmlns:t="http://nwalsh.com/docbook/xsl/template/1.0"
+	     xmlns:param="http://nwalsh.com/docbook/xsl/template/1.0/param"
+             xmlns:fo="http://www.w3.org/1999/XSL/Format"
+             xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<!-- ********************************************************************
+     $Id: G4BookTitlePageFO.xml,v 1.1 2007/05/11 03:18:26 amako Exp $
+     ********************************************************************
+
+     This file is part of the DocBook XSL Stylesheet distribution.
+     See ../README or http://docbook.sf.net/ for copyright
+     and other information.
+
+     ******************************************************************** -->
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="article" t:wrapper="fo:block"
+             font-family="{$title.fontset}">
+
+  <t:titlepage-content t:side="recto"
+             text-align="center">
+
+    <title t:named-template="component.title"
+	   param:node="ancestor-or-self::article[1]"
+	   keep-with-next="always"
+	   font-size="&hsize5;"
+	   font-weight="bold"/>
+
+    <subtitle/>
+
+    <corpauthor space-before="0.5em"
+                font-size="&hsize2;"/>
+    <authorgroup space-before="0.5em"
+                 font-size="&hsize2;"/>
+    <author space-before="0.5em"
+            font-size="&hsize2;"/>
+
+    <othercredit space-before="0.5em"/>
+    <releaseinfo space-before="0.5em"/>
+    <copyright space-before="0.5em"/>
+    <legalnotice text-align="start"
+                 margin-left="0.5in"
+                 margin-right="0.5in"
+                 font-family="{$body.fontset}"/>
+    <pubdate space-before="0.5em"/>
+    <revision space-before="0.5em"/>
+    <revhistory space-before="0.5em"/>
+    <abstract space-before="0.5em"
+	      text-align="start"
+	      margin-left="0.5in"
+              margin-right="0.5in"
+              font-family="{$body.fontset}"/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="set" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+      <title
+	     t:named-template="division.title"
+	     param:node="ancestor-or-self::set[1]"
+	     text-align="center"
+	     font-size="&hsize5;"
+	     space-before="&hsize5space;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"
+	      text-align="center"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="book" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	t:named-template="division.title"
+	param:node="ancestor-or-self::book[1]"
+	text-align="center"
+	font-size="&hsize5;"
+	space-before="3in"
+	font-weight="bold"
+	font-family="{$title.fontset}"/>
+      <subtitle
+	text-align="center"
+	font-size="&hsize4;"
+	space-before="&hsize4space;"
+	font-family="{$title.fontset}"/>
+      <releaseinfo
+	text-align="center"
+	font-size="&hsize3;"
+        font-style='italic'
+	space-before="1in"
+	font-family="{$title.fontset}"/>
+      <pubdate 
+ 	text-align="center"
+        font-size="&hsize0;"
+	space-before="&hsize3space;"/>
+      <authorgroup 
+        font-size="&hsize3;"
+        space-before="2in"/>
+      <author 
+        font-size="&hsize3;"
+	space-before="7in"
+        keep-with-next="always"/>
+    </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+      <title
+	     t:named-template="book.verso.title"
+	     font-size="&hsize2;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+      <corpauthor/>
+      <authorgroup t:named-template="verso.authorgroup"/>
+      <author/>
+      <releaseinfo space-before="1em"/>
+      <date/>
+      <othercredit/>
+      <pubdate space-before="1em"/>
+      <copyright/>
+      <abstract/>
+      <legalnotice font-size="8pt"/>
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+      <fo:block break-after="page"/>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+      <fo:block break-after="page"/>
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="part" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+      <title
+	     t:named-template="division.title"
+	     param:node="ancestor-or-self::part[1]"
+	     text-align="center"
+	     font-size="&hsize5;"
+	     space-before="&hsize5space;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    <subtitle
+	      text-align="center"
+	      font-size="&hsize4;"
+	      space-before="&hsize4space;"
+	      font-weight='bold'
+	      font-style='italic'
+	      font-family="{$title.fontset}"/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="partintro" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   text-align="center"
+	   font-size="&hsize5;"
+	   font-weight="bold"
+	   space-before="1em"
+	   font-family="{$title.fontset}"/>
+    <subtitle
+	      text-align="center"
+	      font-size="&hsize2;"
+	      font-weight="bold"
+	      font-style="italic"
+	      font-family="{$title.fontset}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="reference" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+      <title
+	     t:named-template="division.title"
+	     param:node="ancestor-or-self::reference[1]"
+	     text-align="center"
+	     font-size="&hsize5;"
+	     space-before="&hsize5space;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"
+	      text-align="center"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="refsynopsisdiv" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   font-family="{$title.fontset}"/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="refsection" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   font-family="{$title.fontset}"/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="refsect1" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   font-family="{$title.fontset}"/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="refsect2" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   font-family="{$title.fontset}"/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="refsect3" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   font-family="{$title.fontset}"/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="dedication" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="component.title"
+	     param:node="ancestor-or-self::dedication[1]"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize5;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="preface" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="component.title"
+	     param:node="ancestor-or-self::preface[1]"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize5;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+      <corpauthor/>
+      <authorgroup/>
+      <author/>
+      <othercredit/>
+      <releaseinfo/>
+      <copyright/>
+      <legalnotice/>
+      <pubdate/>
+      <revision/>
+      <revhistory/>
+      <abstract/>
+    </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="chapter" t:wrapper="fo:block"
+               font-family="{$title.fontset}">
+    <t:titlepage-content t:side="recto" margin-left="{$title.margin.left}">
+      <title t:named-template="component.title"
+	     param:node="ancestor-or-self::chapter[1]"
+	     font-size="&hsize5;"
+	     font-weight="bold"/>
+
+      <subtitle space-before="0.5em"
+		font-style="italic"
+		font-size="&hsize2;"
+		font-weight="bold"/>
+
+      <corpauthor  space-before="0.5em"
+	           space-after="0.5em"
+                   font-size="&hsize2;"/>
+
+      <authorgroup space-before="0.5em"
+	           space-after="0.5em"
+                   font-size="&hsize2;"/>
+
+      <author      space-before="0.5em"
+	           space-after="0.5em"
+                   font-size="&hsize2;"/>
+
+      <othercredit/>
+      <releaseinfo/>
+      <copyright/>
+      <legalnotice/>
+      <pubdate/>
+      <revision/>
+      <revhistory/>
+      <abstract/>
+    </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="appendix" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:named-template="component.title"
+	     param:node="ancestor-or-self::appendix[1]"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize5;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+      <corpauthor/>
+      <authorgroup/>
+      <author/>
+      <othercredit/>
+      <releaseinfo/>
+      <copyright/>
+      <legalnotice/>
+      <pubdate/>
+      <revision/>
+      <revhistory/>
+      <abstract/>
+    </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="section" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   margin-left="{$title.margin.left}"
+	   font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect1" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   margin-left="{$title.margin.left}"
+	   font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect2" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   margin-left="{$title.margin.left}"
+	   font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect3" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   margin-left="{$title.margin.left}"
+	   font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect4" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   margin-left="{$title.margin.left}"
+	   font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect5" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   margin-left="{$title.margin.left}"
+	   font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="simplesect" t:wrapper="fo:block">
+  <t:titlepage-content t:side="recto">
+    <title
+	   margin-left="{$title.margin.left}"
+	   font-family="{$title.fontset}"/>
+    <subtitle
+	      font-family="{$title.fontset}"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="bibliography" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="component.title"
+	     param:node="ancestor-or-self::bibliography[1]"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize5;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="bibliodiv" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title t:named-template="component.title"
+	     param:node="ancestor-or-self::bibliodiv[1]"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize4;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="glossary" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="component.title"
+	     param:node="ancestor-or-self::glossary[1]"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize5;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="glossdiv" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title t:named-template="component.title"
+	     param:node="ancestor-or-self::glossdiv[1]"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize4;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="index" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="component.title"
+	     param:node="ancestor-or-self::index[1]"
+             param:pagewide="1"
+	     margin-left="0pt"
+	     font-size="&hsize5;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <!-- The indexdiv.title template is used so that manual and -->
+  <!-- automatically generated indexdiv titles get the same -->
+  <!-- formatting. -->
+
+  <t:titlepage t:element="indexdiv" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title t:force="1"
+	     t:named-template="indexdiv.title"
+	     param:title="title"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="setindex" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="component.title"
+	     param:node="ancestor-or-self::setindex[1]"
+             param:pagewide="1"
+	     margin-left="0pt"
+	     font-size="&hsize5;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="colophon" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="component.title"
+	     param:node="ancestor-or-self::colophon[1]"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize5;"
+	     font-family="{$title.fontset}"
+	     font-weight="bold"/>
+      <subtitle
+		font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="table.of.contents" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="gentext"
+	     param:key="'TableofContents'"
+             space-before.minimum="1em"
+             space-before.optimum="1.5em"
+             space-before.maximum="2em"
+	     space-after="0.5em"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize3;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+  <t:titlepage t:element="list.of.tables" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="gentext"
+	     param:key="'ListofTables'"
+             space-before.minimum="1em"
+             space-before.optimum="1.5em"
+             space-before.maximum="2em"
+	     space-after="0.5em"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize3;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+  <t:titlepage t:element="list.of.figures" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="gentext"
+	     param:key="'ListofFigures'"
+             space-before.minimum="1em"
+             space-before.optimum="1.5em"
+             space-before.maximum="2em"
+	     space-after="0.5em"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize3;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+  <t:titlepage t:element="list.of.examples" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="gentext"
+	     param:key="'ListofExamples'"
+             space-before.minimum="1em"
+             space-before.optimum="1.5em"
+             space-before.maximum="2em"
+	     space-after="0.5em"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize3;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+  <t:titlepage t:element="list.of.equations" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="gentext"
+	     param:key="'ListofEquations'"
+             space-before.minimum="1em"
+             space-before.optimum="1.5em"
+             space-before.maximum="2em"
+	     space-after="0.5em"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize3;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+  <t:titlepage t:element="list.of.procedures" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="gentext"
+	     param:key="'ListofProcedures'"
+             space-before.minimum="1em"
+             space-before.optimum="1.5em"
+             space-before.maximum="2em"
+	     space-after="0.5em"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize3;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+  <t:titlepage t:element="list.of.unknowns" t:wrapper="fo:block">
+    <t:titlepage-content t:side="recto">
+      <title
+	     t:force="1"
+	     t:named-template="gentext"
+	     param:key="'ListofUnknown'"
+             space-before.minimum="1em"
+             space-before.optimum="1.5em"
+             space-before.maximum="2em"
+	     space-after="0.5em"
+	     margin-left="{$title.margin.left}"
+	     font-size="&hsize3;"
+	     font-weight="bold"
+	     font-family="{$title.fontset}"/>
+    </t:titlepage-content>
+
+    <t:titlepage-content t:side="verso">
+    </t:titlepage-content>
+
+    <t:titlepage-separator>
+    </t:titlepage-separator>
+
+    <t:titlepage-before t:side="recto">
+    </t:titlepage-before>
+
+    <t:titlepage-before t:side="verso">
+    </t:titlepage-before>
+  </t:titlepage>
+
+<!-- ==================================================================== -->
+
+</t:templates>
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/XSLCustomizationLayer/G4BookTitlePageFO.xsl
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/XSLCustomizationLayer/G4BookTitlePageFO.xsl	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/XSLCustomizationLayer/G4BookTitlePageFO.xsl	(revision 904)
@@ -0,0 +1,4205 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+<!-- This stylesheet was created by template/titlepage.xsl; do not edit it by hand. -->
+
+<xsl:template name="article.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="articleinfo/title">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/title"/>
+    </xsl:when>
+    <xsl:when test="artheader/title">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="articleinfo/subtitle">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="artheader/subtitle">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/corpauthor"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/corpauthor"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/authorgroup"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/authorgroup"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/author"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/author"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/othercredit"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/othercredit"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/releaseinfo"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/releaseinfo"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/copyright"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/copyright"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/legalnotice"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/legalnotice"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/pubdate"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/pubdate"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/revision"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/revision"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/revhistory"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/revhistory"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/abstract"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/abstract"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="article.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="article.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="article.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="article.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="article.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" font-family="{$title.fontset}">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="article.titlepage.before.recto"/>
+      <xsl:call-template name="article.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block text-align="center"><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="article.titlepage.before.verso"/>
+      <xsl:call-template name="article.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="article.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="article.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="article.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" keep-with-next="always" font-size="24.8832pt" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::article[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em" font-size="14.4pt">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em" font-size="14.4pt">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em" font-size="14.4pt">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" text-align="start" margin-left="0.5in" margin-right="0.5in" font-family="{$body.fontset}">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="article.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="article.titlepage.recto.style" space-before="0.5em" text-align="start" margin-left="0.5in" margin-right="0.5in" font-family="{$body.fontset}">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="set.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="setinfo/title">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="setinfo/subtitle">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/corpauthor"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/authorgroup"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/author"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/othercredit"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/releaseinfo"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/copyright"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/legalnotice"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/pubdate"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revision"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revhistory"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/abstract"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="set.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="set.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="set.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="set.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="set.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="set.titlepage.before.recto"/>
+      <xsl:call-template name="set.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="set.titlepage.before.verso"/>
+      <xsl:call-template name="set.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="set.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="set.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="set.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style" text-align="center" font-size="24.8832pt" space-before="18.6624pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="division.title">
+<xsl:with-param name="node" select="ancestor-or-self::set[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style" font-family="{$title.fontset}" text-align="center">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="set.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="book.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="bookinfo/title">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="bookinfo/subtitle">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/releaseinfo"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/pubdate"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/authorgroup"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/author"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/author"/>
+</xsl:template>
+
+<xsl:template name="book.titlepage.verso">
+  <xsl:choose>
+    <xsl:when test="bookinfo/title">
+      <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/corpauthor"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/authorgroup"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/author"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/releaseinfo"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/date"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/date"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/othercredit"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/pubdate"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/copyright"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/abstract"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/abstract"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="bookinfo/legalnotice"/>
+  <xsl:apply-templates mode="book.titlepage.verso.auto.mode" select="info/legalnotice"/>
+</xsl:template>
+
+<xsl:template name="book.titlepage.separator"><fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" break-after="page"/>
+</xsl:template>
+
+<xsl:template name="book.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="book.titlepage.before.verso"><fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" break-after="page"/>
+</xsl:template>
+
+<xsl:template name="book.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="book.titlepage.before.recto"/>
+      <xsl:call-template name="book.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="book.titlepage.before.verso"/>
+      <xsl:call-template name="book.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="book.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="book.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="book.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="book.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center" font-size="24.8832pt" space-before="3in" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="division.title">
+<xsl:with-param name="node" select="ancestor-or-self::book[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="book.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center" font-size="20.736pt" space-before="15.552pt" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="book.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center" font-size="17.28pt" font-style="italic" space-before="1in" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="book.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center" font-size="10pt" space-before="12.96pt">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="book.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" font-size="17.28pt" space-before="2in">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="book.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.recto.style" font-size="17.28pt" space-before="7in" keep-with-next="always">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="title" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style" font-size="14.4pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="book.verso.title">
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
+<xsl:call-template name="verso.authorgroup">
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style" space-before="1em">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="date" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style" space-before="1em">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="book.titlepage.verso.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="book.titlepage.verso.style" font-size="8pt">
+<xsl:apply-templates select="." mode="book.titlepage.verso.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="part.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="partinfo/title">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="partinfo/subtitle">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="part.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="part.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="part.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="part.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="part.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="part.titlepage.before.recto"/>
+      <xsl:call-template name="part.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="part.titlepage.before.verso"/>
+      <xsl:call-template name="part.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="part.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="part.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="part.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="part.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="part.titlepage.recto.style" text-align="center" font-size="24.8832pt" space-before="18.6624pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="division.title">
+<xsl:with-param name="node" select="ancestor-or-self::part[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="part.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="part.titlepage.recto.style" text-align="center" font-size="20.736pt" space-before="15.552pt" font-weight="bold" font-style="italic" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="partintroinfo/title">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="partintroinfo/subtitle">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/corpauthor"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/authorgroup"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/author"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/othercredit"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/releaseinfo"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/copyright"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/legalnotice"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/pubdate"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/revision"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/revhistory"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/abstract"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="partintro.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="partintro.titlepage.before.recto"/>
+      <xsl:call-template name="partintro.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="partintro.titlepage.before.verso"/>
+      <xsl:call-template name="partintro.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="partintro.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="partintro.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="partintro.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style" text-align="center" font-size="24.8832pt" font-weight="bold" space-before="1em" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style" text-align="center" font-size="14.4pt" font-weight="bold" font-style="italic" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="partintro.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="reference.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="referenceinfo/title">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="referenceinfo/subtitle">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/corpauthor"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/authorgroup"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/author"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/othercredit"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/releaseinfo"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/copyright"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/legalnotice"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/pubdate"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/revision"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/revhistory"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/abstract"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="reference.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="reference.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="reference.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="reference.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="reference.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="reference.titlepage.before.recto"/>
+      <xsl:call-template name="reference.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="reference.titlepage.before.verso"/>
+      <xsl:call-template name="reference.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="reference.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="reference.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="reference.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style" text-align="center" font-size="24.8832pt" space-before="18.6624pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="division.title">
+<xsl:with-param name="node" select="ancestor-or-self::reference[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style" font-family="{$title.fontset}" text-align="center">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="reference.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="refsynopsisdiv.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="refsynopsisdivinfo/title">
+      <xsl:apply-templates mode="refsynopsisdiv.titlepage.recto.auto.mode" select="refsynopsisdivinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="refsynopsisdiv.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="refsynopsisdiv.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="refsynopsisdiv.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="refsynopsisdiv.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="refsynopsisdiv.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="refsynopsisdiv.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="refsynopsisdiv.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="refsynopsisdiv.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="refsynopsisdiv.titlepage.before.recto"/>
+      <xsl:call-template name="refsynopsisdiv.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="refsynopsisdiv.titlepage.before.verso"/>
+      <xsl:call-template name="refsynopsisdiv.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="refsynopsisdiv.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="refsynopsisdiv.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="refsynopsisdiv.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="refsynopsisdiv.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="refsynopsisdiv.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="refsynopsisdiv.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="refsection.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="refsectioninfo/title">
+      <xsl:apply-templates mode="refsection.titlepage.recto.auto.mode" select="refsectioninfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="refsection.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="refsection.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="refsection.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="refsection.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="refsection.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="refsection.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="refsection.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="refsection.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="refsection.titlepage.before.recto"/>
+      <xsl:call-template name="refsection.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="refsection.titlepage.before.verso"/>
+      <xsl:call-template name="refsection.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="refsection.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="refsection.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="refsection.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="refsection.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="refsection.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="refsection.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="refsect1.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="refsect1info/title">
+      <xsl:apply-templates mode="refsect1.titlepage.recto.auto.mode" select="refsect1info/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="refsect1.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="refsect1.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="refsect1.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="refsect1.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="refsect1.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="refsect1.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="refsect1.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="refsect1.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="refsect1.titlepage.before.recto"/>
+      <xsl:call-template name="refsect1.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="refsect1.titlepage.before.verso"/>
+      <xsl:call-template name="refsect1.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="refsect1.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="refsect1.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="refsect1.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="refsect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="refsect1.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="refsect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="refsect2.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="refsect2info/title">
+      <xsl:apply-templates mode="refsect2.titlepage.recto.auto.mode" select="refsect2info/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="refsect2.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="refsect2.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="refsect2.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="refsect2.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="refsect2.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="refsect2.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="refsect2.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="refsect2.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="refsect2.titlepage.before.recto"/>
+      <xsl:call-template name="refsect2.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="refsect2.titlepage.before.verso"/>
+      <xsl:call-template name="refsect2.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="refsect2.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="refsect2.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="refsect2.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="refsect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="refsect2.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="refsect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="refsect3.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="refsect3info/title">
+      <xsl:apply-templates mode="refsect3.titlepage.recto.auto.mode" select="refsect3info/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="refsect3.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="refsect3.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="refsect3.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="refsect3.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="refsect3.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="refsect3.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="refsect3.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="refsect3.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="refsect3.titlepage.before.recto"/>
+      <xsl:call-template name="refsect3.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="refsect3.titlepage.before.verso"/>
+      <xsl:call-template name="refsect3.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="refsect3.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="refsect3.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="refsect3.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="refsect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="refsect3.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="refsect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="dedication.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::dedication[1]"/>
+</xsl:call-template></fo:block>
+  <xsl:choose>
+    <xsl:when test="dedicationinfo/subtitle">
+      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="dedicationinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="dedication.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="dedication.titlepage.before.recto"/>
+      <xsl:call-template name="dedication.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="dedication.titlepage.before.verso"/>
+      <xsl:call-template name="dedication.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="dedication.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="dedication.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="dedication.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="dedication.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="dedication.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="dedication.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="preface.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::preface[1]"/>
+</xsl:call-template></fo:block>
+  <xsl:choose>
+    <xsl:when test="prefaceinfo/subtitle">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/corpauthor"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/authorgroup"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/author"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/othercredit"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/releaseinfo"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/copyright"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/legalnotice"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/pubdate"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revision"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revhistory"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/abstract"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="preface.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="preface.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="preface.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="preface.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="preface.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="preface.titlepage.before.recto"/>
+      <xsl:call-template name="preface.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="preface.titlepage.before.verso"/>
+      <xsl:call-template name="preface.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="preface.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="preface.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="preface.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="preface.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="chapterinfo/title">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="chapterinfo/subtitle">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/corpauthor"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/authorgroup"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/author"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/othercredit"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/releaseinfo"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/copyright"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/legalnotice"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/pubdate"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/revision"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/revhistory"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/abstract"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="chapter.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" font-family="{$title.fontset}">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="chapter.titlepage.before.recto"/>
+      <xsl:call-template name="chapter.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block margin-left="{$title.margin.left}"><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="chapter.titlepage.before.verso"/>
+      <xsl:call-template name="chapter.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="chapter.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="chapter.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="chapter.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style" font-size="24.8832pt" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::chapter[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style" space-before="0.5em" font-style="italic" font-size="14.4pt" font-weight="bold">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style" space-before="0.5em" space-after="0.5em" font-size="14.4pt">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style" space-before="0.5em" space-after="0.5em" font-size="14.4pt">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style" space-before="0.5em" space-after="0.5em" font-size="14.4pt">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="chapter.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="appendixinfo/title">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="appendixinfo/subtitle">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/corpauthor"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/authorgroup"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/author"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/othercredit"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/releaseinfo"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/copyright"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/legalnotice"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/pubdate"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/revision"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/revhistory"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/abstract"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="appendix.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="appendix.titlepage.before.recto"/>
+      <xsl:call-template name="appendix.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="appendix.titlepage.before.verso"/>
+      <xsl:call-template name="appendix.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="appendix.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="appendix.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="appendix.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::appendix[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="appendix.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="section.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sectioninfo/title">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sectioninfo/subtitle">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/corpauthor"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/authorgroup"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/author"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/othercredit"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/releaseinfo"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/copyright"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/legalnotice"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/pubdate"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revision"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revhistory"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/abstract"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="section.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="section.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="section.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="section.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="section.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="section.titlepage.before.recto"/>
+      <xsl:call-template name="section.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="section.titlepage.before.verso"/>
+      <xsl:call-template name="section.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="section.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="section.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="section.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="section.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect1info/title">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect1info/subtitle">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/corpauthor"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/authorgroup"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/author"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/othercredit"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/releaseinfo"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/copyright"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/legalnotice"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/pubdate"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revision"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revhistory"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/abstract"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect1.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect1.titlepage.before.recto"/>
+      <xsl:call-template name="sect1.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect1.titlepage.before.verso"/>
+      <xsl:call-template name="sect1.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="sect1.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="sect1.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect1.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect1.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect2info/title">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect2info/subtitle">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/corpauthor"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/authorgroup"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/author"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/othercredit"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/releaseinfo"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/copyright"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/legalnotice"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/pubdate"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revision"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revhistory"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/abstract"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect2.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect2.titlepage.before.recto"/>
+      <xsl:call-template name="sect2.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect2.titlepage.before.verso"/>
+      <xsl:call-template name="sect2.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="sect2.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="sect2.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect2.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect2.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect3info/title">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect3info/subtitle">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/corpauthor"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/authorgroup"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/author"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/othercredit"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/releaseinfo"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/copyright"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/legalnotice"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/pubdate"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revision"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revhistory"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/abstract"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect3.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect3.titlepage.before.recto"/>
+      <xsl:call-template name="sect3.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect3.titlepage.before.verso"/>
+      <xsl:call-template name="sect3.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="sect3.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="sect3.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect3.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect3.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect4info/title">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect4info/subtitle">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/corpauthor"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/authorgroup"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/author"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/othercredit"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/releaseinfo"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/copyright"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/legalnotice"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/pubdate"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revision"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revhistory"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/abstract"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect4.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect4.titlepage.before.recto"/>
+      <xsl:call-template name="sect4.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect4.titlepage.before.verso"/>
+      <xsl:call-template name="sect4.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="sect4.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="sect4.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect4.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect4.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect5info/title">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect5info/subtitle">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/corpauthor"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/authorgroup"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/author"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/othercredit"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/releaseinfo"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/copyright"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/legalnotice"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/pubdate"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revision"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revhistory"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/abstract"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect5.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect5.titlepage.before.recto"/>
+      <xsl:call-template name="sect5.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect5.titlepage.before.verso"/>
+      <xsl:call-template name="sect5.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="sect5.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="sect5.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect5.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect5.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="simplesectinfo/title">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="simplesectinfo/subtitle">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/corpauthor"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/authorgroup"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/author"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/othercredit"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/releaseinfo"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/copyright"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/legalnotice"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/pubdate"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/revision"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/revhistory"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/abstract"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="simplesect.titlepage.before.recto"/>
+      <xsl:call-template name="simplesect.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="simplesect.titlepage.before.verso"/>
+      <xsl:call-template name="simplesect.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="simplesect.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="simplesect.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="simplesect.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style" margin-left="{$title.margin.left}" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="author" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="copyright" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revision" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="abstract" mode="simplesect.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="bibliography.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::bibliography[1]"/>
+</xsl:call-template></fo:block>
+  <xsl:choose>
+    <xsl:when test="bibliographyinfo/subtitle">
+      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="bibliographyinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="bibliography.titlepage.before.recto"/>
+      <xsl:call-template name="bibliography.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="bibliography.titlepage.before.verso"/>
+      <xsl:call-template name="bibliography.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="bibliography.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="bibliography.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="bibliography.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="bibliography.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="bibliography.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="bibliography.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="bibliodiv.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="bibliodivinfo/title">
+      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="bibliodivinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="bibliodivinfo/subtitle">
+      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="bibliodivinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="bibliodiv.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="bibliodiv.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="bibliodiv.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="bibliodiv.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="bibliodiv.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="bibliodiv.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="bibliodiv.titlepage.before.recto"/>
+      <xsl:call-template name="bibliodiv.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="bibliodiv.titlepage.before.verso"/>
+      <xsl:call-template name="bibliodiv.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="bibliodiv.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="bibliodiv.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="bibliodiv.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="bibliodiv.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="bibliodiv.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="20.736pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::bibliodiv[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="bibliodiv.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="bibliodiv.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="bibliodiv.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="glossary.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::glossary[1]"/>
+</xsl:call-template></fo:block>
+  <xsl:choose>
+    <xsl:when test="glossaryinfo/subtitle">
+      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="glossaryinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="glossary.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="glossary.titlepage.before.recto"/>
+      <xsl:call-template name="glossary.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="glossary.titlepage.before.verso"/>
+      <xsl:call-template name="glossary.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="glossary.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="glossary.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="glossary.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="glossary.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="glossary.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="glossary.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="glossdiv.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="glossdivinfo/title">
+      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="glossdivinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="glossdivinfo/subtitle">
+      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="glossdivinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="glossdiv.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="glossdiv.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="glossdiv.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="glossdiv.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="glossdiv.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="glossdiv.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="glossdiv.titlepage.before.recto"/>
+      <xsl:call-template name="glossdiv.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="glossdiv.titlepage.before.verso"/>
+      <xsl:call-template name="glossdiv.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="glossdiv.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="glossdiv.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="glossdiv.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="glossdiv.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="glossdiv.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="20.736pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::glossdiv[1]"/>
+</xsl:call-template>
+</fo:block>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="glossdiv.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="glossdiv.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="glossdiv.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="index.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="index.titlepage.recto.style" margin-left="0pt" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::index[1]"/>
+<xsl:with-param name="pagewide" select="1"/>
+</xsl:call-template></fo:block>
+  <xsl:choose>
+    <xsl:when test="indexinfo/subtitle">
+      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="indexinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="index.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="index.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="index.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="index.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="index.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="index.titlepage.before.recto"/>
+      <xsl:call-template name="index.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="index.titlepage.before.verso"/>
+      <xsl:call-template name="index.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="index.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="index.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="index.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="index.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="index.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="index.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="indexdiv.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="indexdiv.titlepage.recto.style">
+<xsl:call-template name="indexdiv.title">
+<xsl:with-param name="title" select="title"/>
+</xsl:call-template></fo:block>
+  <xsl:choose>
+    <xsl:when test="indexdivinfo/subtitle">
+      <xsl:apply-templates mode="indexdiv.titlepage.recto.auto.mode" select="indexdivinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="indexdiv.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="indexdiv.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="indexdiv.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="indexdiv.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="indexdiv.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="indexdiv.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="indexdiv.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="indexdiv.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="indexdiv.titlepage.before.recto"/>
+      <xsl:call-template name="indexdiv.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="indexdiv.titlepage.before.verso"/>
+      <xsl:call-template name="indexdiv.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="indexdiv.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="indexdiv.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="indexdiv.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="indexdiv.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="indexdiv.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="indexdiv.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="setindex.titlepage.recto.style" margin-left="0pt" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::setindex[1]"/>
+<xsl:with-param name="pagewide" select="1"/>
+</xsl:call-template></fo:block>
+  <xsl:choose>
+    <xsl:when test="setindexinfo/subtitle">
+      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="setindexinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="setindex.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="setindex.titlepage.before.recto"/>
+      <xsl:call-template name="setindex.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="setindex.titlepage.before.verso"/>
+      <xsl:call-template name="setindex.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="setindex.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="setindex.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="setindex.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="setindex.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="setindex.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="setindex.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="colophon.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="colophon.titlepage.recto.style" margin-left="{$title.margin.left}" font-size="24.8832pt" font-family="{$title.fontset}" font-weight="bold">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::colophon[1]"/>
+</xsl:call-template></fo:block>
+  <xsl:choose>
+    <xsl:when test="colophoninfo/subtitle">
+      <xsl:apply-templates mode="colophon.titlepage.recto.auto.mode" select="colophoninfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="colophon.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="colophon.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="colophon.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="colophon.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="colophon.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="colophon.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="colophon.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="colophon.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="colophon.titlepage.before.recto"/>
+      <xsl:call-template name="colophon.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="colophon.titlepage.before.verso"/>
+      <xsl:call-template name="colophon.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="colophon.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="colophon.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="colophon.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="colophon.titlepage.recto.auto.mode">
+<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="colophon.titlepage.recto.style" font-family="{$title.fontset}">
+<xsl:apply-templates select="." mode="colophon.titlepage.recto.mode"/>
+</fo:block>
+</xsl:template>
+
+<xsl:template name="table.of.contents.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="table.of.contents.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="gentext">
+<xsl:with-param name="key" select="'TableofContents'"/>
+</xsl:call-template></fo:block>
+</xsl:template>
+
+<xsl:template name="table.of.contents.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="table.of.contents.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="table.of.contents.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="table.of.contents.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="table.of.contents.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="table.of.contents.titlepage.before.recto"/>
+      <xsl:call-template name="table.of.contents.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="table.of.contents.titlepage.before.verso"/>
+      <xsl:call-template name="table.of.contents.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="table.of.contents.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="table.of.contents.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="table.of.contents.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template name="list.of.tables.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.tables.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="gentext">
+<xsl:with-param name="key" select="'ListofTables'"/>
+</xsl:call-template></fo:block>
+</xsl:template>
+
+<xsl:template name="list.of.tables.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="list.of.tables.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="list.of.tables.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="list.of.tables.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="list.of.tables.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="list.of.tables.titlepage.before.recto"/>
+      <xsl:call-template name="list.of.tables.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="list.of.tables.titlepage.before.verso"/>
+      <xsl:call-template name="list.of.tables.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="list.of.tables.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.tables.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.tables.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template name="list.of.figures.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.figures.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="gentext">
+<xsl:with-param name="key" select="'ListofFigures'"/>
+</xsl:call-template></fo:block>
+</xsl:template>
+
+<xsl:template name="list.of.figures.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="list.of.figures.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="list.of.figures.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="list.of.figures.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="list.of.figures.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="list.of.figures.titlepage.before.recto"/>
+      <xsl:call-template name="list.of.figures.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="list.of.figures.titlepage.before.verso"/>
+      <xsl:call-template name="list.of.figures.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="list.of.figures.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.figures.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.figures.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template name="list.of.examples.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.examples.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="gentext">
+<xsl:with-param name="key" select="'ListofExamples'"/>
+</xsl:call-template></fo:block>
+</xsl:template>
+
+<xsl:template name="list.of.examples.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="list.of.examples.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="list.of.examples.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="list.of.examples.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="list.of.examples.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="list.of.examples.titlepage.before.recto"/>
+      <xsl:call-template name="list.of.examples.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="list.of.examples.titlepage.before.verso"/>
+      <xsl:call-template name="list.of.examples.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="list.of.examples.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.examples.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.examples.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template name="list.of.equations.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.equations.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="gentext">
+<xsl:with-param name="key" select="'ListofEquations'"/>
+</xsl:call-template></fo:block>
+</xsl:template>
+
+<xsl:template name="list.of.equations.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="list.of.equations.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="list.of.equations.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="list.of.equations.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="list.of.equations.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="list.of.equations.titlepage.before.recto"/>
+      <xsl:call-template name="list.of.equations.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="list.of.equations.titlepage.before.verso"/>
+      <xsl:call-template name="list.of.equations.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="list.of.equations.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.equations.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.equations.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template name="list.of.procedures.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.procedures.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="gentext">
+<xsl:with-param name="key" select="'ListofProcedures'"/>
+</xsl:call-template></fo:block>
+</xsl:template>
+
+<xsl:template name="list.of.procedures.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="list.of.procedures.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="list.of.procedures.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="list.of.procedures.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="list.of.procedures.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="list.of.procedures.titlepage.before.recto"/>
+      <xsl:call-template name="list.of.procedures.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="list.of.procedures.titlepage.before.verso"/>
+      <xsl:call-template name="list.of.procedures.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="list.of.procedures.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.procedures.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.procedures.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template name="list.of.unknowns.titlepage.recto">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:use-attribute-sets="list.of.unknowns.titlepage.recto.style" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" margin-left="{$title.margin.left}" font-size="17.28pt" font-weight="bold" font-family="{$title.fontset}">
+<xsl:call-template name="gentext">
+<xsl:with-param name="key" select="'ListofUnknown'"/>
+</xsl:call-template></fo:block>
+</xsl:template>
+
+<xsl:template name="list.of.unknowns.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="list.of.unknowns.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="list.of.unknowns.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="list.of.unknowns.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="list.of.unknowns.titlepage">
+  <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="list.of.unknowns.titlepage.before.recto"/>
+      <xsl:call-template name="list.of.unknowns.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <fo:block><xsl:copy-of select="$recto.content"/></fo:block>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="list.of.unknowns.titlepage.before.verso"/>
+      <xsl:call-template name="list.of.unknowns.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <fo:block><xsl:copy-of select="$verso.content"/></fo:block>
+    </xsl:if>
+    <xsl:call-template name="list.of.unknowns.titlepage.separator"/>
+  </fo:block>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.unknowns.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="list.of.unknowns.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+</xsl:stylesheet>
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/XSLCustomizationLayer/G4BookTitlePageHTML.xml
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/XSLCustomizationLayer/G4BookTitlePageHTML.xml	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/XSLCustomizationLayer/G4BookTitlePageHTML.xml	(revision 904)
@@ -0,0 +1,665 @@
+<t:templates xmlns:t="http://nwalsh.com/docbook/xsl/template/1.0"
+	     xmlns:param="http://nwalsh.com/docbook/xsl/template/1.0/param"
+             xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="article" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <hr/>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="set" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <hr/>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="book" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title
+      text-align="center"/>        
+    <subtitle
+      text-align="center"/>
+    <corpauthor/>
+    <authorgroup/>
+    <author
+      text-align="center"/>        
+    <othercredit/>
+    <releaseinfo
+      text-align="center"/>        
+    <date
+      text-align="center"/>        
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <hr/>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="part" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="partintro" t:wrapper="div">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="reference" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <hr/>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="refentry" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+<!-- uncomment this if you want refentry titlepages
+    <title t:force="1"
+	   t:named-template="refentry.title"
+	   param:node="ancestor-or-self::refentry[1]"/>
+-->
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator/>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+  <t:titlepage t:element="dedication" t:wrapper="div" class="titlepage">
+    <t:titlepage-content t:side="recto">
+    <title
+	   t:force="1"
+	   t:named-template="component.title"
+	   param:node="ancestor-or-self::dedication[1]"/>
+    <subtitle/>
+    </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="preface" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="chapter" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="appendix" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="section" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect1" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect2" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect3" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect4" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="sect5" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<t:titlepage t:element="simplesect" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title/>
+    <subtitle/>
+    <corpauthor/>
+    <authorgroup/>
+    <author/>
+    <othercredit/>
+    <releaseinfo/>
+    <copyright/>
+    <legalnotice/>
+    <pubdate/>
+    <revision/>
+    <revhistory/>
+    <abstract/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+    <xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="bibliography" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title
+	   t:force="1"
+	   t:named-template="component.title"
+	   param:node="ancestor-or-self::bibliography[1]"/>
+    <subtitle/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="glossary" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title
+	   t:force="1"
+	   t:named-template="component.title"
+	   param:node="ancestor-or-self::glossary[1]"/>
+    <subtitle/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="index" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title
+	   t:force="1"
+	   t:named-template="component.title"
+	   param:node="ancestor-or-self::index[1]"/>
+    <subtitle/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+<t:titlepage t:element="setindex" t:wrapper="div" class="titlepage">
+  <t:titlepage-content t:side="recto">
+    <title
+	   t:force="1"
+	   t:named-template="component.title"
+	   param:node="ancestor-or-self::setindex[1]"/>
+    <subtitle/>
+  </t:titlepage-content>
+
+  <t:titlepage-content t:side="verso">
+  </t:titlepage-content>
+
+  <t:titlepage-separator>
+  </t:titlepage-separator>
+
+  <t:titlepage-before t:side="recto">
+  </t:titlepage-before>
+
+  <t:titlepage-before t:side="verso">
+  </t:titlepage-before>
+</t:titlepage>
+
+<!-- ==================================================================== -->
+
+</t:templates>
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/XSLCustomizationLayer/G4BookTitlePageHTML.xsl
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/XSLCustomizationLayer/G4BookTitlePageHTML.xsl	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/XSLCustomizationLayer/G4BookTitlePageHTML.xsl	(revision 904)
@@ -0,0 +1,3293 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+<!-- This stylesheet was created by template/titlepage.xsl; do not edit it by hand. -->
+
+<xsl:template name="article.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="articleinfo/title">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/title"/>
+    </xsl:when>
+    <xsl:when test="artheader/title">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="articleinfo/subtitle">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="artheader/subtitle">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/corpauthor"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/corpauthor"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/authorgroup"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/authorgroup"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/author"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/author"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/othercredit"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/othercredit"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/releaseinfo"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/releaseinfo"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/copyright"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/copyright"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/legalnotice"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/legalnotice"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/pubdate"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/pubdate"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/revision"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/revision"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/revhistory"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/revhistory"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/abstract"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/abstract"/>
+  <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="article.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="article.titlepage.separator"><hr/>
+</xsl:template>
+
+<xsl:template name="article.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="article.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="article.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="article.titlepage.before.recto"/>
+      <xsl:call-template name="article.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="article.titlepage.before.verso"/>
+      <xsl:call-template name="article.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="article.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="article.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="article.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="article.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="article.titlepage.recto.style">
+<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="set.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="setinfo/title">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="setinfo/subtitle">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/corpauthor"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/authorgroup"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/author"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/othercredit"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/releaseinfo"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/copyright"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/legalnotice"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/pubdate"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revision"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revhistory"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/abstract"/>
+  <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="set.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="set.titlepage.separator"><hr/>
+</xsl:template>
+
+<xsl:template name="set.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="set.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="set.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="set.titlepage.before.recto"/>
+      <xsl:call-template name="set.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="set.titlepage.before.verso"/>
+      <xsl:call-template name="set.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="set.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="set.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="set.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="set.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="set.titlepage.recto.style">
+<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="book.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="bookinfo/title">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="bookinfo/subtitle">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/corpauthor"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/authorgroup"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/author"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/othercredit"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/releaseinfo"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/date"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/date"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/copyright"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/legalnotice"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/pubdate"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/revision"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/revhistory"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/abstract"/>
+  <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="book.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="book.titlepage.separator"><hr/>
+</xsl:template>
+
+<xsl:template name="book.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="book.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="book.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="book.titlepage.before.recto"/>
+      <xsl:call-template name="book.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="book.titlepage.before.verso"/>
+      <xsl:call-template name="book.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="book.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="book.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="book.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="date" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style" text-align="center">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="book.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="book.titlepage.recto.style">
+<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="part.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="partinfo/title">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="partinfo/subtitle">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/corpauthor"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/authorgroup"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/author"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/othercredit"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/releaseinfo"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/copyright"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/legalnotice"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/pubdate"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/revision"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/revhistory"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/abstract"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="part.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="part.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="part.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="part.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="part.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="part.titlepage.before.recto"/>
+      <xsl:call-template name="part.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="part.titlepage.before.verso"/>
+      <xsl:call-template name="part.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="part.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="part.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="part.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="part.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="part.titlepage.recto.style">
+<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="partintroinfo/title">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="partintroinfo/subtitle">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/corpauthor"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/authorgroup"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/author"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/othercredit"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/releaseinfo"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/copyright"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/legalnotice"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/pubdate"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/revision"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/revhistory"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/abstract"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="partintro.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="partintro.titlepage">
+  <div>
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="partintro.titlepage.before.recto"/>
+      <xsl:call-template name="partintro.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="partintro.titlepage.before.verso"/>
+      <xsl:call-template name="partintro.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="partintro.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="partintro.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="partintro.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="partintro.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
+<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="reference.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="referenceinfo/title">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="referenceinfo/subtitle">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/corpauthor"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/authorgroup"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/author"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/othercredit"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/releaseinfo"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/copyright"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/legalnotice"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/pubdate"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/revision"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/revhistory"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/abstract"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="reference.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="reference.titlepage.separator"><hr/>
+</xsl:template>
+
+<xsl:template name="reference.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="reference.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="reference.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="reference.titlepage.before.recto"/>
+      <xsl:call-template name="reference.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="reference.titlepage.before.verso"/>
+      <xsl:call-template name="reference.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="reference.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="reference.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="reference.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="reference.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="reference.titlepage.recto.style">
+<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="refentry.titlepage.recto">
+</xsl:template>
+
+<xsl:template name="refentry.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="refentry.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="refentry.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="refentry.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="refentry.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="refentry.titlepage.before.recto"/>
+      <xsl:call-template name="refentry.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="refentry.titlepage.before.verso"/>
+      <xsl:call-template name="refentry.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="refentry.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="refentry.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="refentry.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.recto">
+  <div xsl:use-attribute-sets="dedication.titlepage.recto.style">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::dedication[1]"/>
+</xsl:call-template></div>
+  <xsl:choose>
+    <xsl:when test="dedicationinfo/subtitle">
+      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="dedicationinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="dedication.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="dedication.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="dedication.titlepage.before.recto"/>
+      <xsl:call-template name="dedication.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="dedication.titlepage.before.verso"/>
+      <xsl:call-template name="dedication.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="dedication.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="dedication.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="dedication.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="dedication.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="dedication.titlepage.recto.style">
+<xsl:apply-templates select="." mode="dedication.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="preface.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="prefaceinfo/title">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="prefaceinfo/subtitle">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/corpauthor"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/authorgroup"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/author"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/othercredit"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/releaseinfo"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/copyright"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/legalnotice"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/pubdate"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revision"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revhistory"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/abstract"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="preface.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="preface.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="preface.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="preface.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="preface.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="preface.titlepage.before.recto"/>
+      <xsl:call-template name="preface.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="preface.titlepage.before.verso"/>
+      <xsl:call-template name="preface.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="preface.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="preface.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="preface.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="preface.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="preface.titlepage.recto.style">
+<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="chapterinfo/title">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="chapterinfo/subtitle">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/corpauthor"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/authorgroup"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/author"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/othercredit"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/releaseinfo"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/copyright"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/legalnotice"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/pubdate"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/revision"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/revhistory"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/abstract"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="chapter.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="chapter.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="chapter.titlepage.before.recto"/>
+      <xsl:call-template name="chapter.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="chapter.titlepage.before.verso"/>
+      <xsl:call-template name="chapter.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="chapter.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="chapter.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="chapter.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="chapter.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
+<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="appendixinfo/title">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="appendixinfo/subtitle">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/corpauthor"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/authorgroup"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/author"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/othercredit"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/releaseinfo"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/copyright"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/legalnotice"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/pubdate"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/revision"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/revhistory"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/abstract"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="appendix.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="appendix.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="appendix.titlepage.before.recto"/>
+      <xsl:call-template name="appendix.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="appendix.titlepage.before.verso"/>
+      <xsl:call-template name="appendix.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="appendix.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="appendix.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="appendix.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="appendix.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
+<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="section.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sectioninfo/title">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sectioninfo/subtitle">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/corpauthor"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/authorgroup"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/author"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/othercredit"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/releaseinfo"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/copyright"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/legalnotice"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/pubdate"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revision"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revhistory"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/abstract"/>
+  <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="section.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="section.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+</xsl:template>
+
+<xsl:template name="section.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="section.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="section.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="section.titlepage.before.recto"/>
+      <xsl:call-template name="section.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="section.titlepage.before.verso"/>
+      <xsl:call-template name="section.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="section.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="section.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="section.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="section.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="section.titlepage.recto.style">
+<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect1info/title">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect1info/subtitle">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/corpauthor"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/authorgroup"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/author"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/othercredit"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/releaseinfo"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/copyright"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/legalnotice"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/pubdate"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revision"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revhistory"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/abstract"/>
+  <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect1.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect1.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect1.titlepage.before.recto"/>
+      <xsl:call-template name="sect1.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect1.titlepage.before.verso"/>
+      <xsl:call-template name="sect1.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="sect1.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="sect1.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect1.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect1.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect2info/title">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect2info/subtitle">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/corpauthor"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/authorgroup"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/author"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/othercredit"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/releaseinfo"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/copyright"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/legalnotice"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/pubdate"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revision"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revhistory"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/abstract"/>
+  <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect2.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect2.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect2.titlepage.before.recto"/>
+      <xsl:call-template name="sect2.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect2.titlepage.before.verso"/>
+      <xsl:call-template name="sect2.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="sect2.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="sect2.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect2.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect2.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect3info/title">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect3info/subtitle">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/corpauthor"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/authorgroup"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/author"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/othercredit"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/releaseinfo"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/copyright"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/legalnotice"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/pubdate"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revision"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revhistory"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/abstract"/>
+  <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect3.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect3.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect3.titlepage.before.recto"/>
+      <xsl:call-template name="sect3.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect3.titlepage.before.verso"/>
+      <xsl:call-template name="sect3.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="sect3.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="sect3.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect3.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect3.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect4info/title">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect4info/subtitle">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/corpauthor"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/authorgroup"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/author"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/othercredit"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/releaseinfo"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/copyright"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/legalnotice"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/pubdate"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revision"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revhistory"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/abstract"/>
+  <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect4.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect4.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect4.titlepage.before.recto"/>
+      <xsl:call-template name="sect4.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect4.titlepage.before.verso"/>
+      <xsl:call-template name="sect4.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="sect4.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="sect4.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect4.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect4.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="sect5info/title">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="sect5info/subtitle">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/corpauthor"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/authorgroup"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/author"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/othercredit"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/releaseinfo"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/copyright"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/legalnotice"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/pubdate"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revision"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revhistory"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/abstract"/>
+  <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="sect5.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="sect5.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="sect5.titlepage.before.recto"/>
+      <xsl:call-template name="sect5.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="sect5.titlepage.before.verso"/>
+      <xsl:call-template name="sect5.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="sect5.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="sect5.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="sect5.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="sect5.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
+<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.recto">
+  <xsl:choose>
+    <xsl:when test="simplesectinfo/title">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/title"/>
+    </xsl:when>
+    <xsl:when test="docinfo/title">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/title"/>
+    </xsl:when>
+    <xsl:when test="info/title">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/title"/>
+    </xsl:when>
+    <xsl:when test="title">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="title"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:choose>
+    <xsl:when test="simplesectinfo/subtitle">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/corpauthor"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/corpauthor"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/authorgroup"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/authorgroup"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/author"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/author"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/author"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/othercredit"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/othercredit"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/releaseinfo"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/releaseinfo"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/copyright"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/copyright"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/copyright"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/legalnotice"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/legalnotice"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/pubdate"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/pubdate"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/revision"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/revision"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/revision"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/revhistory"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/revhistory"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/abstract"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/abstract"/>
+  <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/abstract"/>
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="simplesect.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="simplesect.titlepage.before.recto"/>
+      <xsl:call-template name="simplesect.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="simplesect.titlepage.before.verso"/>
+      <xsl:call-template name="simplesect.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="simplesect.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="simplesect.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="simplesect.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="title" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="corpauthor" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="authorgroup" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="author" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="othercredit" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="releaseinfo" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="copyright" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="legalnotice" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="pubdate" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revision" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="revhistory" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template match="abstract" mode="simplesect.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
+<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.recto">
+  <div xsl:use-attribute-sets="bibliography.titlepage.recto.style">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::bibliography[1]"/>
+</xsl:call-template></div>
+  <xsl:choose>
+    <xsl:when test="bibliographyinfo/subtitle">
+      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="bibliographyinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="bibliography.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="bibliography.titlepage.before.recto"/>
+      <xsl:call-template name="bibliography.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="bibliography.titlepage.before.verso"/>
+      <xsl:call-template name="bibliography.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="bibliography.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="bibliography.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="bibliography.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="bibliography.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="bibliography.titlepage.recto.style">
+<xsl:apply-templates select="." mode="bibliography.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.recto">
+  <div xsl:use-attribute-sets="glossary.titlepage.recto.style">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::glossary[1]"/>
+</xsl:call-template></div>
+  <xsl:choose>
+    <xsl:when test="glossaryinfo/subtitle">
+      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="glossaryinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="glossary.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="glossary.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="glossary.titlepage.before.recto"/>
+      <xsl:call-template name="glossary.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="glossary.titlepage.before.verso"/>
+      <xsl:call-template name="glossary.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="glossary.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="glossary.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="glossary.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="glossary.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="glossary.titlepage.recto.style">
+<xsl:apply-templates select="." mode="glossary.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="index.titlepage.recto">
+  <div xsl:use-attribute-sets="index.titlepage.recto.style">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::index[1]"/>
+</xsl:call-template></div>
+  <xsl:choose>
+    <xsl:when test="indexinfo/subtitle">
+      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="indexinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="index.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="index.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="index.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="index.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="index.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="index.titlepage.before.recto"/>
+      <xsl:call-template name="index.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="index.titlepage.before.verso"/>
+      <xsl:call-template name="index.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="index.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="index.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="index.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="index.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="index.titlepage.recto.style">
+<xsl:apply-templates select="." mode="index.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.recto">
+  <div xsl:use-attribute-sets="setindex.titlepage.recto.style">
+<xsl:call-template name="component.title">
+<xsl:with-param name="node" select="ancestor-or-self::setindex[1]"/>
+</xsl:call-template></div>
+  <xsl:choose>
+    <xsl:when test="setindexinfo/subtitle">
+      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="setindexinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="docinfo/subtitle">
+      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
+    </xsl:when>
+    <xsl:when test="info/subtitle">
+      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="info/subtitle"/>
+    </xsl:when>
+    <xsl:when test="subtitle">
+      <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="subtitle"/>
+    </xsl:when>
+  </xsl:choose>
+
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.verso">
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.separator">
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.before.recto">
+</xsl:template>
+
+<xsl:template name="setindex.titlepage.before.verso">
+</xsl:template>
+
+<xsl:template name="setindex.titlepage">
+  <div class="titlepage">
+    <xsl:variable name="recto.content">
+      <xsl:call-template name="setindex.titlepage.before.recto"/>
+      <xsl:call-template name="setindex.titlepage.recto"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($recto.content) != ''">
+      <div><xsl:copy-of select="$recto.content"/></div>
+    </xsl:if>
+    <xsl:variable name="verso.content">
+      <xsl:call-template name="setindex.titlepage.before.verso"/>
+      <xsl:call-template name="setindex.titlepage.verso"/>
+    </xsl:variable>
+    <xsl:if test="normalize-space($verso.content) != ''">
+      <div><xsl:copy-of select="$verso.content"/></div>
+    </xsl:if>
+    <xsl:call-template name="setindex.titlepage.separator"/>
+  </div>
+</xsl:template>
+
+<xsl:template match="*" mode="setindex.titlepage.recto.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="*" mode="setindex.titlepage.verso.mode">
+  <!-- if an element isn't found in this mode, -->
+  <!-- try the generic titlepage.mode -->
+  <xsl:apply-templates select="." mode="titlepage.mode"/>
+</xsl:template>
+
+<xsl:template match="subtitle" mode="setindex.titlepage.recto.auto.mode">
+<div xsl:use-attribute-sets="setindex.titlepage.recto.style">
+<xsl:apply-templates select="." mode="setindex.titlepage.recto.mode"/>
+</div>
+</xsl:template>
+
+</xsl:stylesheet>
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/XSLCustomizationLayer/G4HTMLStylesheet.css
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/XSLCustomizationLayer/G4HTMLStylesheet.css	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/XSLCustomizationLayer/G4HTMLStylesheet.css	(revision 904)
@@ -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/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/XSLCustomizationLayer/G4XSLCommon.xsl
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/XSLCustomizationLayer/G4XSLCommon.xsl	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/XSLCustomizationLayer/G4XSLCommon.xsl	(revision 904)
@@ -0,0 +1,52 @@
+<?xml version='1.0' ?>
+<!-- ******************************************************************** -->  
+<!-- Setting up common Docbook XSL customization parameters for HTML and  -->
+<!-- FO. You need to inculde this file in the HTML and FO specific        --> 
+<!-- customization layer.                                                 -->
+<!-- ******************************************************************** -->  
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Automatically calculate the section numbers and add it to the header -->
+<!-- of the section title.                                                -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="section.autolabel">1</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Let the section labels start from the chapter number                 -->
+<!-- (Section 1.1, Section 1.2,... instead of Section 1, Section 2,...)   -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="section.label.includes.component.label">1</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Specify where the title shows up in figure, example, table, etc.     -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="formal.title.placement">
+figure after
+example before
+equation after
+table after
+procedure after
+</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Specify what will be appeared in table of content (toc)              -->
+<!-- For example, 'book toc,title' means toc will be generated and also   -->
+<!-- the title 'Table of Content' will be shown at the beginning of book. -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="generate.toc">
+book      toc,title
+chapter   nop
+section   nop
+appendix  nop
+</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- In 'xref' just write out the chapter/section number and not include  -->
+<!-- the their title.                                                     -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="xref.with.number.and.title">0</xsl:param>
+
+
+</xsl:stylesheet>
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/XSLCustomizationLayer/G4XSLCustomFO.xsl
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/XSLCustomizationLayer/G4XSLCustomFO.xsl	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/XSLCustomizationLayer/G4XSLCustomFO.xsl	(revision 904)
@@ -0,0 +1,170 @@
+<?xml version='1.0' ?>
+<!-- ******************************************************************** -->  
+<!--  FO Customization Layer of Docbook XSL                               --> 
+<!-- ******************************************************************** -->  
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
+                xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Import the FO stylesheet                                             -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:import href="/usr/share/xml/docbook/stylesheet/nwalsh/current/fo/docbook.xsl"/>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Include the file which specifies common DocBook XSL parameters.      -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:include href="./G4XSLCommon.xsl" />
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Include the file which specifies the customized title page.          -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:include href="./G4BookTitlePageFO.xsl" />
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Define useful processing instructions for FO                         -->
+<!--  [Usage]  <? PI-name ?>                                              -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+
+<!-- Hard pagebreak -->
+<xsl:template match="processing-instruction('hard-pagebreak')">
+  <fo:block break-before='page' />
+</xsl:template>
+
+<!-- Soft pagebreak -->
+<xsl:template match="processing-instruction('soft-pagebreak')">
+  <fo:block-container width="100%" height="3.0cm">
+    <fo:block />
+  </fo:block-container>
+  <fo:block space-before="-3.0cm" />
+</xsl:template>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Page layout                                                          -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+
+<!-- Paper size -->
+<xsl:param name="paper.type">A4</xsl:param>
+
+<!-- Indentation of body text -->
+<xsl:param name="body.start.indent">0pt</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Global style for appearance of 'Title' in the major tags including   -->
+<!-- chapter, appendix, bibliography, index, etc                          -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:attribute-set name="component.title.properties">
+  <xsl:attribute name="font-weight">bold</xsl:attribute>
+  <xsl:attribute name="font-size">
+    <xsl:value-of select="$body.font.master * 2.0"/>
+    <xsl:text>pt</xsl:text>
+  </xsl:attribute>
+</xsl:attribute-set>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Style for appearance of 'Title' in various section level             -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:attribute-set name="section.title.level1.properties">
+  <xsl:attribute name="font-size">
+    <xsl:value-of select="$body.font.master * 1.8"/>
+    <xsl:text>pt</xsl:text>
+  </xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="section.title.level2.properties">
+  <xsl:attribute name="font-size">
+    <xsl:value-of select="$body.font.master * 1.6"/>
+    <xsl:text>pt</xsl:text>
+  </xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="section.title.level3.properties">
+  <xsl:attribute name="font-size">
+    <xsl:value-of select="$body.font.master * 1.4"/>
+    <xsl:text>pt</xsl:text>
+  </xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="section.title.level4.properties">
+  <xsl:attribute name="font-size">
+    <xsl:value-of select="$body.font.master * 1.2"/>
+    <xsl:text>pt</xsl:text>
+  </xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="section.title.level5.properties">
+  <xsl:attribute name="font-size">
+    <xsl:value-of select="$body.font.master * 1.0"/>
+    <xsl:text>pt</xsl:text>
+  </xsl:attribute>
+</xsl:attribute-set>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Style for appearance of 'Title' in figure, table, example, etc       -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:attribute-set name="formal.title.properties">
+  <xsl:attribute name="font-weight">bold</xsl:attribute>
+  <xsl:attribute name="font-size">12pt</xsl:attribute>
+  <xsl:attribute name="hyphenate">false</xsl:attribute>
+  <xsl:attribute name="space-before.minimum">0.3mm</xsl:attribute>
+  <xsl:attribute name="space-before.optimum">0.5mm</xsl:attribute>
+  <xsl:attribute name="space-before.maximum">1.0mm</xsl:attribute>
+  <xsl:attribute name="space-after.minimum">0pt</xsl:attribute>
+  <xsl:attribute name="space-after.optimum">0pt</xsl:attribute>
+  <xsl:attribute name="space-after.maximum">0pt</xsl:attribute>
+</xsl:attribute-set>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Example and informal example style                                   -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+
+<xsl:attribute-set name="example.properties">
+  <xsl:attribute name="space-before.minimum">0.5em</xsl:attribute>
+  <xsl:attribute name="space-before.optimum">1em</xsl:attribute>
+  <xsl:attribute name="space-before.maximum">2em</xsl:attribute>
+  <xsl:attribute name="space-after.minimum">0.5em</xsl:attribute>
+  <xsl:attribute name="space-after.optimum">1em</xsl:attribute>
+  <xsl:attribute name="space-after.maximum">2em</xsl:attribute>
+  <xsl:attribute name="background-color">#DDDDDD</xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="informalexample.properties">
+  <xsl:attribute name="space-before.minimum">0.5em</xsl:attribute>
+  <xsl:attribute name="space-before.optimum">1em</xsl:attribute>
+  <xsl:attribute name="space-before.maximum">2em</xsl:attribute>
+  <xsl:attribute name="space-after.minimum">0.5em</xsl:attribute>
+  <xsl:attribute name="space-after.optimum">1em</xsl:attribute>
+  <xsl:attribute name="space-after.maximum">2em</xsl:attribute>
+  <xsl:attribute name="background-color">#DDDDDD</xsl:attribute>
+</xsl:attribute-set>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Reduce the font size in verbatim environment (ex. programlisting)    -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:attribute-set name="monospace.verbatim.properties">
+  <xsl:attribute name="font-size">75%</xsl:attribute>
+</xsl:attribute-set>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Variablelist style                                                   -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="variablelist.as.blocks">1</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Ulink style                                                          -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- xsl:param name="ulink.footnotes">1</xsl:param -->
+<!-- xsl:param name="ulink.hyphenate">1</xsl:param -->
+<xsl:param name="ulink.show">0</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Footnote style                                                       -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:attribute-set name="footnote.mark.properties">
+  <xsl:attribute name="font-size">85%</xsl:attribute>
+  <xsl:attribute name="font-weight">bold</xsl:attribute>
+  <xsl:attribute name="font-style">italic</xsl:attribute>
+</xsl:attribute-set>
+
+
+</xsl:stylesheet>
Index: trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/XSLCustomizationLayer/G4XSLCustomHTML.xsl
===================================================================
--- trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/XSLCustomizationLayer/G4XSLCustomHTML.xsl	(revision 904)
+++ trunk/documents/UserDoc/DocBookUsersGuides/IntroductionToGeant4/xml/XSLCustomizationLayer/G4XSLCustomHTML.xsl	(revision 904)
@@ -0,0 +1,72 @@
+<?xml version='1.0' ?>
+<!-- ******************************************************************** -->  
+<!--  HTML Customization Layer of Docbook XSL                             --> 
+<!-- ******************************************************************** -->  
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Import the stylesheet to chunk the html output                       -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:import href="/usr/share/xml/docbook/stylesheet/nwalsh/current/html/chunk.xsl" />
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Include the file which specifies common DocBook XSL parameters.      -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:include href="./G4XSLCommon.xsl" />
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Specify the CSS stylesheet to be used for fine tuning of appearance. -->
+<!--   [Note] Remember to take care the relative path to index.html       -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="html.stylesheet">../xml/XSLCustomizationLayer/G4HTMLStylesheet.css</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Specify the chunk conditions - the chunk level and the directory to  -->
+<!-- which the chunked files will be stored. You need to import the chunk -->
+<!-- stylesheet beforehand.                                               -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="chunk.section.depth">1</xsl:param>
+<xsl:param name="base.dir">../html/</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Include the file which specifies the customized title page.          -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:include href="./G4BookTitlePageHTML.xsl" />
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Use customized navigation icons.                                     -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<xsl:param name="navig.graphics">1</xsl:param>
+<xsl:param name="navig.graphics.extension">.gif</xsl:param>
+<xsl:param name="navig.graphics.path">AllResources/IconsGIF/</xsl:param>
+
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<!-- Define Java script and invoke by processing instruction (PI)         -->
+<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+
+<!-- Include JavaScript Function in HTML Header Part -->
+<xsl:template name="user.head.content">
+<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>
+</xsl:template>
+
+<!-- Handle Processing Instruction named 'JavaScript' -->
+<xsl:template match="processing-instruction()[local-name()= 'JavaScript']">
+  <xsl:text disable-output-escaping="yes">&lt;a href="javascript:remote_win('</xsl:text>
+  <xsl:value-of select="." /><xsl:text disable-output-escaping="yes">')" onMouseOver="window.status='Get alive picture...'; return true"&gt;[Rotate the Picture]&lt;br /&gt;
+  </xsl:text>
+  <xsl:text disable-output-escaping="yes">&lt;/a&gt;
+  </xsl:text>
+</xsl:template>
+
+
+</xsl:stylesheet>
+
+
